From xen-changelog-bounces@lists.xenproject.org Sun Nov 02 04:22:10 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Nov 2025 04:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1155151.1484709 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vFPbP-00073S-9g; Sun, 02 Nov 2025 04:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1155151.1484709; Sun, 02 Nov 2025 04: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-changelog-bounces@lists.xenproject.org>)
	id 1vFPbP-00073J-6u; Sun, 02 Nov 2025 04:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1155151;
 Sun, 02 Nov 2025 04:22:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vFPbN-00073D-P8
 for xen-changelog@lists.xenproject.org; Sun, 02 Nov 2025 04:22:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vFPbN-00F5Fv-1b
 for xen-changelog@lists.xenproject.org;
 Sun, 02 Nov 2025 04:22:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vFPbN-004sVm-23
 for xen-changelog@lists.xenproject.org;
 Sun, 02 Nov 2025 04:22:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=IOJU6Iem9BIkixC8aGkUSG79KHfCH2s3yLqFmuYEVWU=; b=BW5+xx0Wu/Phqrhivj1nFC5JcL
	ueHYkR8lrlnAbncQ99ARpdqhf5BkfzoH4pTYoWAE3Ue55q0MI5RQCQtuPecNFNpPYswYDgmsZ9a8d
	0hKOjEqw9K0NaeBUOxlCqW97gG9clmhMkJjFZYkOUwzkFml5Pk3ZmmSlJUrZkEo7NoHQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] Update Xen version to 4.21.0-rc3
Message-Id: <E1vFPbN-004sVm-23@xenbits.xenproject.org>
Date: Sun, 02 Nov 2025 04:22:01 +0000

commit 9632ce6fe5b288244d2550cd2e619a55c5168bf8
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Oct 31 17:16:30 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Oct 31 17:16:30 2025 +0000

    Update Xen version to 4.21.0-rc3
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index a0bd29fe11..ddcee8835c 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= .0-rc2$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .0-rc3$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 03 13:55:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Nov 2025 13:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1155360.1484852 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vFv1S-0007nX-Kl; Mon, 03 Nov 2025 13:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1155360.1484852; Mon, 03 Nov 2025 13:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vFv1S-0007nP-IE; Mon, 03 Nov 2025 13:55:02 +0000
Received: by outflank-mailman (input) for mailman id 1155360;
 Mon, 03 Nov 2025 13:55:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vFv1R-0007nJ-SQ
 for xen-changelog@lists.xenproject.org; Mon, 03 Nov 2025 13:55:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vFv1R-00GqtD-1z
 for xen-changelog@lists.xenproject.org;
 Mon, 03 Nov 2025 13:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vFv1R-008SDF-2J
 for xen-changelog@lists.xenproject.org;
 Mon, 03 Nov 2025 13:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=iHbd+13h5poS95WB7D0Fgf3CiBO3mbqe5V9OLFhtAp4=; b=IQau0R/x0+AY3ksQ0MMbRh2UzG
	c3vStUxiOnnK2kk1U8N1m0ImFOUcgtmxLB2V4krqnS7ohsuJ7KwGfA9uxqtIEEIinpQ60xC3Md8Yc
	J1IcszTcsg93j6sg3MeWVOYiWZfuBRE0KszMm4zr2ZOO8/pAVfoqRHGYzQWDnSXBFfs0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] CI: Fix microcode loading on Xen 4.20
Message-Id: <E1vFv1R-008SDF-2J@xenbits.xenproject.org>
Date: Mon, 03 Nov 2025 13:55:01 +0000

commit efee710407b8c6eee5b2820f2e37136b8b21724c
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Oct 28 19:39:21 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Oct 31 17:13:58 2025 +0000

    CI: Fix microcode loading on Xen 4.20
    
    CONFIG_UCODE_SCAN_DEFAULT only exists in Xen 4.21.  In older versions of xen,
    use ucode=scan on the command line.
    
    Fixes: 690655a511cd ("CI: Include microcode for x86 hardware jobs")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
 automation/gitlab-ci/build.yaml                | 1 -
 automation/scripts/qubes-x86-64.sh             | 4 ++--
 automation/scripts/xilinx-smoke-dom0-x86_64.sh | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 5d382bcd24..5f0acda942 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -306,7 +306,6 @@ alpine-3.18-gcc-debug:
       CONFIG_ARGO=y
       CONFIG_UBSAN=y
       CONFIG_UBSAN_FATAL=y
-      CONFIG_UCODE_SCAN_DEFAULT=y
       CONFIG_XHCI=y
 
 debian-12-x86_64-gcc-debug:
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index e20a38e4f3..7a8b12cca4 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -247,14 +247,14 @@ TFTP=/scratch/gitlab-runner/tftp
 CONTROLLER=control@thor.testnet
 
 echo "
-multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot $extra_xen_opts
+multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot ucode=scan $extra_xen_opts
 module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
 module2 --nounzip (http)/gitlab-ci/initrd-dom0
 " > $TFTP/grub.cfg
 
 echo "#!ipxe
 
-kernel /gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot $extra_xen_opts || reboot
+kernel /gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot ucode=scan $extra_xen_opts || reboot
 module /gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen || reboot
 module /gitlab-ci/initrd-dom0 || reboot
 boot
diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index e68b0ce61f..468143376d 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -15,7 +15,7 @@ WORKDIR="${PWD}"
 TEST="$1"
 PASS_MSG="Test passed: ${TEST}"
 XEN_CMD_DOM0="dom0=pvh dom0_max_vcpus=4 dom0_mem=4G"
-XEN_CMD_XEN="sched=null loglvl=all guest_loglvl=all console_timestamps=boot"
+XEN_CMD_XEN="sched=null loglvl=all guest_loglvl=all console_timestamps=boot ucode=scan"
 XEN_CMD_EXTRA=""
 DOM0_CMD=""
 DOMU_CMD=""
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Wed Nov 05 11:44:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Nov 2025 11:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1156142.1485425 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vGbvn-0005wz-1C; Wed, 05 Nov 2025 11:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1156142.1485425; Wed, 05 Nov 2025 11:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vGbvm-0005wr-Uf; Wed, 05 Nov 2025 11:44:02 +0000
Received: by outflank-mailman (input) for mailman id 1156142;
 Wed, 05 Nov 2025 11:44:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vGbvl-0005wl-JW
 for xen-changelog@lists.xenproject.org; Wed, 05 Nov 2025 11:44:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGbvl-002Mxa-18
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 11:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGbvl-00DrCt-1M
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 11:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Nzt9Ah39/E6HjJQKjfDUAEu14UYJD47kko8TQbYOMAw=; b=jiufm+H9bmvic0+My0AUENyLWK
	NcHvwqSRe7vY7q6Timh4aSd2m3i8SaFOE53jSPqsiXODYBIHf31ZGkZR7OuAJwzMF3oH+xL2ZqSR/
	OhaODA8cipDCej0eHkvn9ZUGhiexANkwm7hbm4E+u6JLNtYguQz1FJ9w9TDoUD3HyNXs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] ocaml/xsd_glue: Fix dynamic linking configuration
Message-Id: <E1vGbvl-00DrCt-1M@xenbits.xenproject.org>
Date: Wed, 05 Nov 2025 11:44:01 +0000

commit 343e01fd1d31dc6867473599c2c49039386bdf79
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 4 16:40:13 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Wed Nov 5 11:38:29 2025 +0000

    ocaml/xsd_glue: Fix dynamic linking configuration
    
    The latest oxenstored from Xapi-project fails to start up:
    
      launch-xenstore[1201]: Starting /usr/sbin/oxenstored...
      launch-xenstore[1222]: Fatal error: exception
        Dynlink.Error (Dynlink.Cannot_open_dll "Dynlink.Error (Dynlink.Cannot_open_dll
        \"Failure(\\\"/usr/libexec/xen//ocaml/xsd_glue/xenctrl_plugin/domain_getinfo_v1.cmxs:
        undefined symbol: xc_domain_getinfo_single\\\")\")")
    
    This is because domain_getinfo_v1.cmxs isn't dynamically linked correctly.
    Fill in the correct variable, and remove the xen prefix from xenctrl.
    
    Reported-by: Edwin Török <edwin.torok@citrix.com>
    Suggested-by: Edwin Török <edwin.torok@citrix.com>
    Fixes: a6576011a4d2 ("ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
index 4be1feacfe..6356159020 100644
--- a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
@@ -11,7 +11,7 @@ OBJS = domain_getinfo_v1
 INTF = $(foreach obj, $(OBJS),$(obj).cmi)
 LIBS = domain_getinfo_v1.cmxa domain_getinfo_v1.cmxs
 
-LIBS_xsd_glue = $(call xenlibs-ldflags-ldlibs,xenctrl)
+LIBS_domain_getinfo_v1 = $(call xenlibs-ldflags-ldlibs,ctrl)
 
 all: $(INTF) $(LIBS) $(PROGRAMS)
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 05 12:22:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Nov 2025 12:22:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1156161.1485429 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vGcWY-0002dz-UH; Wed, 05 Nov 2025 12:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1156161.1485429; Wed, 05 Nov 2025 12:22:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vGcWY-0002dr-Rh; Wed, 05 Nov 2025 12:22:02 +0000
Received: by outflank-mailman (input) for mailman id 1156161;
 Wed, 05 Nov 2025 12:22:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vGcWX-0002dl-QJ
 for xen-changelog@lists.xenproject.org; Wed, 05 Nov 2025 12:22:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGcWX-002Nch-1j
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 12:22:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGcWX-00Dvap-2G
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 12:22:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ioxMhYmgWETVSdOUjlKSQUIaGn6+9ck3+Owsr+FA7nE=; b=BdKLqIz9I8MxA6vPmDlVo9HNBS
	S4ov5/yFAqp6S+FsCaDq7FQs/CODjRIM9+xJkWY4N0pU+V0snY1SpeVMbDPckpCEIeXN0n908q6dR
	tOVh5su+mFWztgjST7nyhhpb9buJEtREiEf59urTv+QS7TCWCmk9+uLkOgUj5SV7tZZ8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] ocaml/xsd_glue: Fix dynamic linking configuration
Message-Id: <E1vGcWX-00Dvap-2G@xenbits.xenproject.org>
Date: Wed, 05 Nov 2025 12:22:01 +0000

commit 841b93c4e816f906bb97284e127803650d1464ff
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 4 16:40:13 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Wed Nov 5 11:43:06 2025 +0000

    ocaml/xsd_glue: Fix dynamic linking configuration
    
    The latest oxenstored from Xapi-project fails to start up:
    
      launch-xenstore[1201]: Starting /usr/sbin/oxenstored...
      launch-xenstore[1222]: Fatal error: exception
        Dynlink.Error (Dynlink.Cannot_open_dll "Dynlink.Error (Dynlink.Cannot_open_dll
        \"Failure(\\\"/usr/libexec/xen//ocaml/xsd_glue/xenctrl_plugin/domain_getinfo_v1.cmxs:
        undefined symbol: xc_domain_getinfo_single\\\")\")")
    
    This is because domain_getinfo_v1.cmxs isn't dynamically linked correctly.
    Fill in the correct variable, and remove the xen prefix from xenctrl.
    
    Reported-by: Edwin Török <edwin.torok@citrix.com>
    Suggested-by: Edwin Török <edwin.torok@citrix.com>
    Fixes: a6576011a4d2 ("ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    (cherry picked from commit 343e01fd1d31dc6867473599c2c49039386bdf79)
---
 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
index 4be1feacfe..6356159020 100644
--- a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
@@ -11,7 +11,7 @@ OBJS = domain_getinfo_v1
 INTF = $(foreach obj, $(OBJS),$(obj).cmi)
 LIBS = domain_getinfo_v1.cmxa domain_getinfo_v1.cmxs
 
-LIBS_xsd_glue = $(call xenlibs-ldflags-ldlibs,xenctrl)
+LIBS_domain_getinfo_v1 = $(call xenlibs-ldflags-ldlibs,ctrl)
 
 all: $(INTF) $(LIBS) $(PROGRAMS)
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Wed Nov 05 12:55:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Nov 2025 12:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1156175.1485443 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vGd2U-0006oc-F1; Wed, 05 Nov 2025 12:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1156175.1485443; Wed, 05 Nov 2025 12:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vGd2U-0006oU-CR; Wed, 05 Nov 2025 12:55:02 +0000
Received: by outflank-mailman (input) for mailman id 1156175;
 Wed, 05 Nov 2025 12:55:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vGd2T-0006oM-KI
 for xen-changelog@lists.xenproject.org; Wed, 05 Nov 2025 12:55:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGd2T-002OIb-1C
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 12:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGd2T-00Dzqo-1j
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 12:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=yXFaFSUpIrFmiID334V77iHPiiw01CXOJ1SB42bZte4=; b=iQYF1QnDL3SOaEF6eyGXj+NWs/
	THhgCkgrDEsPfXfKPE1s3nmrqKTdU15Zq42uCSLYPpIBrc3A9SdwFVS6+Zqo7JexYHOsP3K+sTJQX
	QP3cEW4RblK3n8cP5N2jDlintIOqRaygBEbx/sJ0dCgbmB9EUEAl/qGR/Gswry2oJxnE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] ocaml/xsd_glue: Fix dynamic linking configuration
Message-Id: <E1vGd2T-00Dzqo-1j@xenbits.xenproject.org>
Date: Wed, 05 Nov 2025 12:55:01 +0000

commit 343e01fd1d31dc6867473599c2c49039386bdf79
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 4 16:40:13 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Wed Nov 5 11:38:29 2025 +0000

    ocaml/xsd_glue: Fix dynamic linking configuration
    
    The latest oxenstored from Xapi-project fails to start up:
    
      launch-xenstore[1201]: Starting /usr/sbin/oxenstored...
      launch-xenstore[1222]: Fatal error: exception
        Dynlink.Error (Dynlink.Cannot_open_dll "Dynlink.Error (Dynlink.Cannot_open_dll
        \"Failure(\\\"/usr/libexec/xen//ocaml/xsd_glue/xenctrl_plugin/domain_getinfo_v1.cmxs:
        undefined symbol: xc_domain_getinfo_single\\\")\")")
    
    This is because domain_getinfo_v1.cmxs isn't dynamically linked correctly.
    Fill in the correct variable, and remove the xen prefix from xenctrl.
    
    Reported-by: Edwin Török <edwin.torok@citrix.com>
    Suggested-by: Edwin Török <edwin.torok@citrix.com>
    Fixes: a6576011a4d2 ("ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
index 4be1feacfe..6356159020 100644
--- a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
@@ -11,7 +11,7 @@ OBJS = domain_getinfo_v1
 INTF = $(foreach obj, $(OBJS),$(obj).cmi)
 LIBS = domain_getinfo_v1.cmxa domain_getinfo_v1.cmxs
 
-LIBS_xsd_glue = $(call xenlibs-ldflags-ldlibs,xenctrl)
+LIBS_domain_getinfo_v1 = $(call xenlibs-ldflags-ldlibs,ctrl)
 
 all: $(INTF) $(LIBS) $(PROGRAMS)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 05 13:33:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Nov 2025 13:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1156247.1485473 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vGddH-0004xL-Mq; Wed, 05 Nov 2025 13:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1156247.1485473; Wed, 05 Nov 2025 13:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vGddH-0004xB-Jd; Wed, 05 Nov 2025 13:33:03 +0000
Received: by outflank-mailman (input) for mailman id 1156247;
 Wed, 05 Nov 2025 13:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vGddG-0004x5-0p
 for xen-changelog@lists.xenproject.org; Wed, 05 Nov 2025 13:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGddF-002P19-2L
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 13:33:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vGddF-00E48U-2s
 for xen-changelog@lists.xenproject.org;
 Wed, 05 Nov 2025 13:33:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=o2V0gIWYResVKytugnYsicz0uvFeumm9cLlV8Ho4Zh4=; b=TIsiVO144g6SldcgN1f3Hzb071
	Cnl6UeA28qkY8VU1YGFLJusm4XJp3+RK23qfVjimPt0y+LODHk09Bnetir4MFqxMzJVNZT7ZvdeBY
	gioDtl7Tkjz97NfT11qidFLJF1oMcMwDQQXdndJ96MdnipnfUyMZJ+AOkFx7lhl0W+Js=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] ocaml/xsd_glue: Fix dynamic linking configuration
Message-Id: <E1vGddF-00E48U-2s@xenbits.xenproject.org>
Date: Wed, 05 Nov 2025 13:33:01 +0000

commit 841b93c4e816f906bb97284e127803650d1464ff
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 4 16:40:13 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Wed Nov 5 11:43:06 2025 +0000

    ocaml/xsd_glue: Fix dynamic linking configuration
    
    The latest oxenstored from Xapi-project fails to start up:
    
      launch-xenstore[1201]: Starting /usr/sbin/oxenstored...
      launch-xenstore[1222]: Fatal error: exception
        Dynlink.Error (Dynlink.Cannot_open_dll "Dynlink.Error (Dynlink.Cannot_open_dll
        \"Failure(\\\"/usr/libexec/xen//ocaml/xsd_glue/xenctrl_plugin/domain_getinfo_v1.cmxs:
        undefined symbol: xc_domain_getinfo_single\\\")\")")
    
    This is because domain_getinfo_v1.cmxs isn't dynamically linked correctly.
    Fill in the correct variable, and remove the xen prefix from xenctrl.
    
    Reported-by: Edwin Török <edwin.torok@citrix.com>
    Suggested-by: Edwin Török <edwin.torok@citrix.com>
    Fixes: a6576011a4d2 ("ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    (cherry picked from commit 343e01fd1d31dc6867473599c2c49039386bdf79)
---
 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
index 4be1feacfe..6356159020 100644
--- a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
@@ -11,7 +11,7 @@ OBJS = domain_getinfo_v1
 INTF = $(foreach obj, $(OBJS),$(obj).cmi)
 LIBS = domain_getinfo_v1.cmxa domain_getinfo_v1.cmxs
 
-LIBS_xsd_glue = $(call xenlibs-ldflags-ldlibs,xenctrl)
+LIBS_domain_getinfo_v1 = $(call xenlibs-ldflags-ldlibs,ctrl)
 
 all: $(INTF) $(LIBS) $(PROGRAMS)
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:11:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:11:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158439.1486758 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITXs-0006by-Cc; Mon, 10 Nov 2025 15:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158439.1486758; Mon, 10 Nov 2025 15:11:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITXs-0006bq-A3; Mon, 10 Nov 2025 15:11:04 +0000
Received: by outflank-mailman (input) for mailman id 1158439;
 Mon, 10 Nov 2025 15:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITXq-0006bj-95
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITXq-0006vt-0h
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITXq-000ePY-0U
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=XB+HJ+0zZjBX1P+zzQZkzg3X6FXu6kafNCO7W9htom8=; b=qqtoeZOSNx3wD7pwbh6KzlOovz
	6/+mltbPBBW1qHcBqyfKibVibmZthn3gODIoSuEWOvGQf6pv+ug5VnuXpymqGiEBH6yWX6KZ0LHZd
	uoBTYifDCX9+QZ4xEEfNUPtxqFavJl8k0ZD+VEKb/cooDfJtruDwWwqdvw9Q2oIv7RJQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] symbols: discard stray file symbols
Message-Id: <E1vITXq-000ePY-0U@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:11:02 +0000

commit 74af7cf30b2b384a8bb50b5c4854c4ddcb16ed97
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 15:57:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 15:57:41 2025 +0100

    symbols: discard stray file symbols
    
    By observation GNU ld 2.25 may emit file symbols for .data.read_mostly
    when linking xen.efi. Due to the nature of file symbols in COFF symbol
    tables (see the code comment) the symbols_offsets[] entries for such
    symbols would cause assembler warnings regarding value truncation. Of
    course the resulting entries would also be both meaningless and useless.
    Add a heuristic to get rid of them, really taking effect only when
    --all-symbols is specified (otherwise these symbols are discarded
    anyway).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 2f21ce1a6ad57a1a56840ab49c32d096160be595
    master date: 2025-10-21 14:10:46 +0200
---
 xen/tools/symbols.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 67560605f2..e532709ba7 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -213,6 +213,16 @@ static int symbol_valid(struct sym_entry *s)
 	if (strstr((char *)s->sym + offset, "_compiled."))
 		return 0;
 
+	/* At least GNU ld 2.25 may emit bogus file symbols referencing a
+	 * section name while linking xen.efi. In COFF symbol tables the
+	 * "value" of file symbols is a link (symbol table index) to the next
+	 * file symbol. Since file (and other) symbols (can) come with one
+	 * (or in principle more) auxiliary symbol table entries, the value in
+	 * this heuristic is bounded to twice the number of symbols we have
+	 * found. See also read_symbol() as to the '?' checked for here. */
+	if (s->sym[0] == '?' && s->sym[1] == '.' && s->addr < table_cnt * 2)
+		return 0;
+
 	return 1;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:11:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158440.1486763 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITY2-0006dX-ED; Mon, 10 Nov 2025 15:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158440.1486763; Mon, 10 Nov 2025 15:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITY2-0006dN-BN; Mon, 10 Nov 2025 15:11:14 +0000
Received: by outflank-mailman (input) for mailman id 1158440;
 Mon, 10 Nov 2025 15:11:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITY0-0006dH-Ao
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:11:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITY0-0006w9-0z
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITY0-000eQn-0s
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=FsffRJoPyJxGTM/6XeJJy2LFivHVdDiLAxW2oEz1tiA=; b=16HjVyfrCw4us2Fbd1Utp7Tw2R
	QxhRyTk9yo5OFLxJnmXQhWYR2R2aerFqR1KYpMZlASmCyf62LpBeY/N+86KS0rkHncRjQFMNYPVYP
	JPxhIv5cTZGrMLSpAzmzNgx2Wqp8Ef1/V0jxvP1HuKJczP6tklbDbPDGFbNRPgpVyBV0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] AMD/IOMMU: unshare IRQ .ack and .disable handlers
Message-Id: <E1vITY0-000eQn-0s@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:11:12 +0000

commit bfd9be74c242587a2582b5efad525780fb7583e9
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 15:58:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 15:58:56 2025 +0100

    AMD/IOMMU: unshare IRQ .ack and .disable handlers
    
    A .disable handler can't typically be re-used for .ack: The latter needs
    to deal with IRQ migration, while the former shouldn't. Furthermore
    invoking just irq_complete_move() isn't enough; one of
    move_{native,masked}_irq() also needs invoking.
    
    Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
    Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: aed6278b2a7faac1bacce2d22aad29bc463fa0c0
    master date: 2025-10-21 14:11:45 +0200
---
 xen/drivers/passthrough/amd/iommu_init.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index 934adc5abe..ac897d7302 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -429,8 +429,6 @@ static void cf_check iommu_msi_mask(struct irq_desc *desc)
     unsigned long flags;
     struct amd_iommu *iommu = desc->action->dev_id;
 
-    irq_complete_move(desc);
-
     spin_lock_irqsave(&iommu->lock, flags);
     amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
     spin_unlock_irqrestore(&iommu->lock, flags);
@@ -443,6 +441,13 @@ static unsigned int cf_check iommu_msi_startup(struct irq_desc *desc)
     return 0;
 }
 
+static void cf_check iommu_msi_ack(struct irq_desc *desc)
+{
+    irq_complete_move(desc);
+    iommu_msi_mask(desc);
+    move_masked_irq(desc);
+}
+
 static void cf_check iommu_msi_end(struct irq_desc *desc, u8 vector)
 {
     iommu_msi_unmask(desc);
@@ -456,7 +461,7 @@ static hw_irq_controller iommu_msi_type = {
     .shutdown = iommu_msi_mask,
     .enable = iommu_msi_unmask,
     .disable = iommu_msi_mask,
-    .ack = iommu_msi_mask,
+    .ack = iommu_msi_ack,
     .end = iommu_msi_end,
     .set_affinity = set_msi_affinity,
 };
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:11:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158441.1486766 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYC-0006fh-FM; Mon, 10 Nov 2025 15:11:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158441.1486766; Mon, 10 Nov 2025 15:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vITYC-0006fZ-Cj; Mon, 10 Nov 2025 15:11:24 +0000
Received: by outflank-mailman (input) for mailman id 1158441;
 Mon, 10 Nov 2025 15:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITYA-0006fQ-DL
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYA-0006wV-1F
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYA-000eTV-19
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=1nAu8Pu4YiAEW1kHozudbwnyne9GWgIeEB+8E56gLmM=; b=fji3yYVmVcCMfPzJx7n0n+RMfF
	43YD8DIQkUIfywfSRqAqtgPtKToSUJnalbieC1pQrcYQVrhweR8HTWhtVFP81Qz2GmGFad+Qxt5Lr
	Ci0eXwRoDXhapePDpOvuyw02tS2LlqDxkpMTFc2DKWhLi0uq7mL5IqH9X/+3ZBe+ugYI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86/HPET: deal with unused channels
Message-Id: <E1vITYA-000eTV-19@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:11:22 +0000

commit afc035d6c9527d21e12ba8cc508c8239491c4f10
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 15:59:33 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 15:59:33 2025 +0100

    x86/HPET: deal with unused channels
    
    Keeping channels enabled when they're unused is only causing problems:
    Extra interrupts harm performance, and extra nested interrupts could even
    have caused worse problems. However, on all Intel hardware I looked at
    closely, a 0->1 transition of the enable bit causes an immediate IRQ.
    Hence disabling channels isn't a good idea there. Set a "long" timeout
    instead.
    
    Along with that also "clear" the channel's "next event", for it to be
    properly written by whatever the next user is going to want (possibly
    avoiding too early an IRQ).
    
    Further, along the same lines, don't enable channels early when starting
    up an IRQ. This doesn't need to happen earlier than from
    set_channel_irq_affinity() (once a channel goes into use the very first
    time). This eliminates a single instance of
    
    (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
    (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
    
    during boot. (Why exactly there's only one instance, when we use multiple
    counters and hence multiple IRQs, I can't tell. My understanding would be
    that this was due to __hpet_setup_msi_irq() being called only after
    request_irq() [and hence the .startup handler], yet that should have
    affected all channels.)
    
    Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 24f608dc909ed6b6fefb6c35b6de39e851bba6eb
    master date: 2025-10-27 15:51:03 +0100
---
 xen/arch/x86/hpet.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 7e9d996436..0c788b0f38 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -291,12 +291,6 @@ static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
     return 0;
 }
 
-static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
-{
-    hpet_msi_unmask(desc);
-    return 0;
-}
-
 #define hpet_msi_shutdown hpet_msi_mask
 
 static void cf_check hpet_msi_set_affinity(
@@ -322,7 +316,7 @@ static void cf_check hpet_msi_set_affinity(
  */
 static hw_irq_controller hpet_msi_type = {
     .typename   = "HPET-MSI",
-    .startup    = hpet_msi_startup,
+    .startup    = irq_startup_none,
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
@@ -522,6 +516,8 @@ static void hpet_detach_channel(unsigned int cpu,
         spin_unlock_irq(&ch->lock);
     else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
     {
+        hpet_write32(hpet_read32(HPET_COUNTER), HPET_Tn_CMP(ch->idx));
+        ch->next_event = STIME_MAX;
         ch->cpu = -1;
         clear_bit(HPET_EVT_USED_BIT, &ch->flags);
         spin_unlock_irq(&ch->lock);
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:11:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158442.1486770 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYM-0006n5-Gc; Mon, 10 Nov 2025 15:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158442.1486770; Mon, 10 Nov 2025 15:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vITYM-0006mx-E4; Mon, 10 Nov 2025 15:11:34 +0000
Received: by outflank-mailman (input) for mailman id 1158442;
 Mon, 10 Nov 2025 15:11:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITYK-0006mk-HX
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:11:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYK-0006wZ-1f
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYK-000eVx-1S
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=A1qOXFD3doGq2VgcDZLd8nKN1l9qzlgOp6l1fDlFHQM=; b=pREAkPO6E9Q8DJTMTFIhl2Qske
	zGUbHsd4M8noYRe3URfILiZt5C2rdNWWzIkuEOeafJ+LyS4N6UhFfIUiFrPIYaIL24xdtDrzLRdK0
	0TzRYRM5apCctWL2KLoeN++Kd7IXSH3P5Jsq0vBGlMOQR5DTk3sCdlOaMdQfysmsTG7M=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86/HPET: use single, global, low-priority vector for broadcast IRQ
Message-Id: <E1vITYK-000eVx-1S@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:11:32 +0000

commit 0761895527fe19733f31d6062b18b4cf9c2b3b94
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:00:14 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:00:14 2025 +0100

    x86/HPET: use single, global, low-priority vector for broadcast IRQ
    
    Using dynamically allocated / maintained vectors has several downsides:
    - possible nesting of IRQs due to the effects of IRQ migration,
    - reduction of vectors available for devices,
    - IRQs not moving as intended if there's shortage of vectors,
    - higher runtime overhead.
    
    As the vector also doesn't need to be of any priority (first and foremost
    it really shouldn't be of higher or same priority as the timer IRQ, as
    that raises TIMER_SOFTIRQ anyway), simply use the lowest one above the
    legacy range. The vector needs reserving early, until it is known whether
    it actually is used. If it isn't, it's made available for general use.
    
    With a fixed vector, less updating is now necessary in
    set_channel_irq_affinity(); in particular channels don't need transiently
    masking anymore, as the necessary update is now atomic. To fully leverage
    this, however, we want to stop using hpet_msi_set_affinity() there. With
    the transient masking dropped, we're no longer at risk of missing events.
    
    AMD interrupt remapping code so far didn't "return" a consistent MSI
    address when translating an MSI message. Clear respective fields there, to
    keep the related assertion in set_channel_irq_affinity() from triggering.
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 8ef32772b5483ef2d45aee5adc5ba485077c7fbb
    master date: 2025-10-27 15:51:42 +0100
---
 xen/arch/x86/hpet.c                      | 87 +++++++++++++++++++++++++-------
 xen/arch/x86/include/asm/hpet.h          |  1 +
 xen/arch/x86/include/asm/irq-vectors.h   |  3 ++
 xen/arch/x86/include/asm/irq.h           |  1 +
 xen/arch/x86/irq.c                       | 13 +++++
 xen/arch/x86/time.c                      |  2 +
 xen/drivers/passthrough/amd/iommu_intr.c |  7 +++
 7 files changed, 96 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 0c788b0f38..8838e89944 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -9,17 +9,19 @@
 #include <xen/timer.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <xen/cpuidle.h>
 #include <xen/irq.h>
 #include <xen/numa.h>
 #include <xen/param.h>
 #include <xen/sched.h>
 
 #include <asm/apic.h>
-#include <asm/fixmap.h>
 #include <asm/div64.h>
+#include <asm/fixmap.h>
+#include <asm/genapic.h>
 #include <asm/hpet.h>
+#include <asm/irq-vectors.h>
 #include <asm/msi.h>
-#include <xen/cpuidle.h>
 
 #define MAX_DELTA_NS MILLISECS(10*1000)
 #define MIN_DELTA_NS MICROSECS(20)
@@ -251,10 +253,9 @@ static void cf_check hpet_interrupt_handler(int irq, void *data)
     ch->event_handler(ch);
 }
 
-static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+static void hpet_enable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg |= HPET_TN_ENABLE;
@@ -262,6 +263,11 @@ static void cf_check hpet_msi_unmask(struct irq_desc *desc)
     ch->msi.msi_attrib.host_masked = 0;
 }
 
+static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+{
+    hpet_enable_channel(desc->action->dev_id);
+}
+
 static void cf_check hpet_msi_mask(struct irq_desc *desc)
 {
     u32 cfg;
@@ -299,15 +305,13 @@ static void cf_check hpet_msi_set_affinity(
     struct hpet_event_channel *ch = desc->action->dev_id;
     struct msi_msg msg = ch->msi.msg;
 
-    msg.dest32 = set_desc_affinity(desc, mask);
-    if ( msg.dest32 == BAD_APICID )
-        return;
+    /* This really is only for dump_irqs(). */
+    cpumask_copy(desc->arch.cpu_mask, mask);
 
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+    msg.dest32 = cpu_mask_to_apicid(mask);
     msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
     msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
-    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
+    if ( msg.dest32 != ch->msi.msg.dest32 )
         hpet_msi_write(ch, &msg);
 }
 
@@ -320,7 +324,7 @@ static hw_irq_controller hpet_msi_type = {
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
-    .ack        = ack_nonmaskable_msi_irq,
+    .ack        = irq_actor_none,
     .end        = end_nonmaskable_irq,
     .set_affinity   = hpet_msi_set_affinity,
 };
@@ -339,6 +343,16 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
     u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     irq_desc_t *desc = irq_to_desc(ch->msi.irq);
 
+    clear_irq_vector(ch->msi.irq);
+    /*
+     * Technically we don't want to bind the IRQ to any CPU yet, but we need to
+     * specify at least one online one here.  Use the BSP.
+     */
+    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, cpumask_of(0));
+    if ( ret )
+        return ret;
+    cpumask_setall(desc->affinity);
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         ch->msi.hpet_id = hpet_blockid;
@@ -468,19 +482,50 @@ static struct hpet_event_channel *hpet_get_channel(unsigned int cpu)
 static void set_channel_irq_affinity(struct hpet_event_channel *ch)
 {
     struct irq_desc *desc = irq_to_desc(ch->msi.irq);
+    struct msi_msg msg = ch->msi.msg;
 
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
-    hpet_msi_mask(desc);
-    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
-    hpet_msi_unmask(desc);
+
+    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
+
+    /*
+     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
+     * actual update below (either of the IRTE or of [just] message address;
+     * with interrupt remapping message address/data don't change) now being
+     * atomic, we can avoid masking the IRQ around the update.  As a result
+     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
+     * keeps setting the new deadline only afterwards).
+     */
+    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
+
     spin_unlock(&desc->lock);
 
-    spin_unlock(&ch->lock);
+    msg.dest32 = cpu_physical_id(ch->cpu);
+    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
+    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
+    if ( msg.dest32 != ch->msi.msg.dest32 )
+    {
+        ch->msi.msg = msg;
 
-    /* We may have missed an interrupt due to the temporary masking. */
-    if ( ch->event_handler && ch->next_event < NOW() )
-        ch->event_handler(ch);
+        if ( iommu_intremap != iommu_intremap_off )
+        {
+            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
+
+            ASSERT(rc <= 0);
+            if ( rc >= 0 )
+            {
+                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
+                ASSERT(msg.address_lo ==
+                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
+            }
+        }
+        else
+            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
+    }
+
+    hpet_enable_channel(ch);
+    spin_unlock(&ch->lock);
 }
 
 static void hpet_attach_channel(unsigned int cpu,
@@ -618,6 +663,12 @@ void __init hpet_broadcast_init(void)
         hpet_events->flags = HPET_EVT_LEGACY;
 }
 
+void __init hpet_broadcast_late_init(void)
+{
+    if ( !num_hpets_used )
+        free_lopriority_vector(HPET_BROADCAST_VECTOR);
+}
+
 void hpet_broadcast_resume(void)
 {
     u32 cfg;
diff --git a/xen/arch/x86/include/asm/hpet.h b/xen/arch/x86/include/asm/hpet.h
index c402c63168..73f34050da 100644
--- a/xen/arch/x86/include/asm/hpet.h
+++ b/xen/arch/x86/include/asm/hpet.h
@@ -90,6 +90,7 @@ void hpet_disable_legacy_replacement_mode(void);
  * rather than using the LAPIC timer. Used for Cx state entry.
  */
 void hpet_broadcast_init(void);
+void hpet_broadcast_late_init(void);
 void hpet_broadcast_resume(void);
 void cf_check hpet_broadcast_enter(void);
 void cf_check hpet_broadcast_exit(void);
diff --git a/xen/arch/x86/include/asm/irq-vectors.h b/xen/arch/x86/include/asm/irq-vectors.h
index f546aedd87..d75d1c5671 100644
--- a/xen/arch/x86/include/asm/irq-vectors.h
+++ b/xen/arch/x86/include/asm/irq-vectors.h
@@ -22,6 +22,9 @@
 #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
 #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
 
+/* HPET broadcast is statically allocated and wants to be low priority. */
+#define HPET_BROADCAST_VECTOR   (LAST_LEGACY_VECTOR + 1)
+
 #ifdef CONFIG_PV32
 #define HYPERCALL_VECTOR        0x82
 #endif
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
index 354868ba31..585acde0de 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -116,6 +116,7 @@ void cf_check call_function_interrupt(void);
 void cf_check irq_move_cleanup_interrupt(void);
 
 uint8_t alloc_hipriority_vector(void);
+void free_lopriority_vector(uint8_t vector);
 
 void set_direct_apic_vector(uint8_t vector, void (*handler)(void));
 void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void));
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index bde17c7fb8..b9bf4eb3c2 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -468,6 +468,12 @@ int __init init_irq_data(void)
           vector++ )
         __set_bit(vector, used_vectors);
 
+    /*
+     * Prevent the HPET broadcast vector from being used, until it is known
+     * whether it's actually needed.
+     */
+    __set_bit(HPET_BROADCAST_VECTOR, used_vectors);
+
     return 0;
 }
 
@@ -991,6 +997,13 @@ void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void))
     spin_unlock(&lock);
 }
 
+/* This could free any vectors, but is needed only for low-prio ones. */
+void __init free_lopriority_vector(uint8_t vector)
+{
+    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
+    clear_bit(vector, used_vectors);
+}
+
 static void cf_check irq_ratelimit_timer_fn(void *data)
 {
     struct irq_desc *desc, *tmp;
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 59129f419d..ece9ae0b34 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2675,6 +2675,8 @@ static int __init cf_check disable_pit_irq(void)
                "Force enable with 'cpuidle'.\n");
     }
 
+    hpet_broadcast_late_init();
+
     return 0;
 }
 __initcall(disable_pit_irq);
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index c0273059cb..b721133938 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ire(
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
         msg->data = data;
+        /*
+         * While the low address bits don't matter, "canonicalize" the address
+         * by zapping the bits that were transferred to the IRTE.  This way
+         * callers can check for there actually needing to be an update to
+         * wherever the address is put.
+         */
+        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
     }
 
     return rc;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:11:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:11:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158443.1486773 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYW-0006r7-I2; Mon, 10 Nov 2025 15:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158443.1486773; Mon, 10 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vITYW-0006qz-FO; Mon, 10 Nov 2025 15:11:44 +0000
Received: by outflank-mailman (input) for mailman id 1158443;
 Mon, 10 Nov 2025 15:11:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITYU-0006qk-KI
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:11:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYU-0006wh-1w
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYU-000eXh-1p
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=veAKBKTX4hzGgM63+Ic/LMI39mWqXeH6GmlZpId45aI=; b=nf4rPz9Nm5mZk9/2IMLnVzprCq
	i2PIIkyfFtcSS6J8+KeWeNo6zd9uztbZd4kN4r/2JMQ1yu/XIbKQ+Qx1mCkVgiMgh3z+iBHgQ1lyG
	qysgAzzl1nzQBCLwqHNj9IuHr5JwVzMaCnlCfYjSII8d5NleVRu26SY4qJGM1d5h46Q0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] xen/pci: prevent infinite loop for faulty SR-IOV cards
Message-Id: <E1vITYU-000eXh-1p@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:11:42 +0000

commit ae148e3e91f5ce2ab2f8c79df072bf92a925ad3a
Author:     Frediano Ziglio <frediano.ziglio@cloud.com>
AuthorDate: Mon Nov 10 16:00:36 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:00:36 2025 +0100

    xen/pci: prevent infinite loop for faulty SR-IOV cards
    
    If a SR-IOV card presents an I/O space inside a BAR the
    code will continue to loop on the same card.
    This is due to the missing increment of the cycle variable.
    
    Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: f7091c0e1fd43877621d4eb2c1c4106797b3c551
    master date: 2025-10-27 15:52:20 +0100
---
 xen/drivers/passthrough/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index ab25840e20..7e071c71b3 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -752,6 +752,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                     printk(XENLOG_WARNING
                            "SR-IOV device %pp with vf BAR%u in IO space\n",
                            &pdev->sbdf, i);
+                    ++i;
                     continue;
                 }
                 ret = pci_size_mem_bar(pdev->sbdf, idx, NULL,
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:11:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158444.1486778 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYf-0006ts-LA; Mon, 10 Nov 2025 15:11:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158444.1486778; Mon, 10 Nov 2025 15:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vITYf-0006tk-Ia; Mon, 10 Nov 2025 15:11:53 +0000
Received: by outflank-mailman (input) for mailman id 1158444;
 Mon, 10 Nov 2025 15:11:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITYe-0006tZ-Nx
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:11:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYe-0006wn-2H
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYe-000eYQ-27
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:11:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=E63wq65gpDU9TRe1GARr8LzVcYqKyfdk/3qU5/6C9dA=; b=EKIaM/vEnq0nIiXReVSqUy8RKt
	7K1G5snn944WTto3C3d6cs+nx20y5N1YoxaHnXCGVhnYhjLNQ9KlDYqvRygkZ0Y8BMX8ZqF5qPIoL
	cCS9+hz2Beq/+LdUIb0QTgoegRsqKbkQfRpf7aq8gGD3hd1/IYLxrwe4Q4tCUsExkdXY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
Message-Id: <E1vITYe-000eYQ-27@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:11:52 +0000

commit 550d82d40b6f299d472bedaa0f8a1d1dd2e3234e
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:01:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:01:08 2025 +0100

    x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
    
    With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
    the IRQ handler can't be invoked in a nested manner anymore, we can
    instead use a per-CPU variable. While we can't use scratch_cpumask in code
    invoked from IRQ handlers, simply amend that one with a HPET-special form.
    (Note that only one of the two IRQ handling functions can come into play
    at any one time.)
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 80c7c6716476b009188271350a9fc04fa763362e
    master date: 2025-10-29 09:02:53 +0100
---
 xen/arch/x86/hpet.c            | 8 ++++----
 xen/arch/x86/include/asm/smp.h | 1 +
 xen/arch/x86/smpboot.c         | 7 +++++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 8838e89944..fe714ca12c 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -196,7 +196,7 @@ static void evt_do_broadcast(cpumask_t *mask)
 
 static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
-    cpumask_t mask;
+    cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
     unsigned int cpu;
     unsigned long flags;
@@ -209,7 +209,7 @@ again:
     spin_unlock_irqrestore(&ch->lock, flags);
 
     next_event = STIME_MAX;
-    cpumask_clear(&mask);
+    cpumask_clear(scratch);
     now = NOW();
 
     /* find all expired events */
@@ -218,13 +218,13 @@ again:
         s_time_t deadline = ACCESS_ONCE(per_cpu(timer_deadline, cpu));
 
         if ( deadline <= now )
-            __cpumask_set_cpu(cpu, &mask);
+            __cpumask_set_cpu(cpu, scratch);
         else if ( deadline < next_event )
             next_event = deadline;
     }
 
     /* wakeup the cpus which have an expired event. */
-    evt_do_broadcast(&mask);
+    evt_do_broadcast(scratch);
 
     if ( next_event != STIME_MAX )
     {
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index c8c7960134..60eb4ac254 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -22,6 +22,7 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
+DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);
 DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 
 /*
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 348e0b9581..8742e30561 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -52,6 +52,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
 static cpumask_t scratch_cpu0mask;
 
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
+static cpumask_t hpet_scratch_cpu0mask;
+
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, send_ipi_cpumask);
 static cpumask_t send_ipi_cpu0mask;
 
@@ -989,6 +992,8 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
         FREE_CPUMASK_VAR(per_cpu(cpu_core_mask, cpu));
         if ( per_cpu(scratch_cpumask, cpu) != &scratch_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(scratch_cpumask, cpu));
+        if ( per_cpu(hpet_scratch_cpumask, cpu) != &hpet_scratch_cpu0mask )
+            FREE_CPUMASK_VAR(per_cpu(hpet_scratch_cpumask, cpu));
         if ( per_cpu(send_ipi_cpumask, cpu) != &send_ipi_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(send_ipi_cpumask, cpu));
     }
@@ -1119,6 +1124,7 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     if ( !(cond_zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) &&
            cond_zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(scratch_cpumask, cpu)) &&
+           cond_alloc_cpumask_var(&per_cpu(hpet_scratch_cpumask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(send_ipi_cpumask, cpu))) )
         goto out;
 
@@ -1246,6 +1252,7 @@ void __init smp_prepare_boot_cpu(void)
     cpumask_set_cpu(cpu, &cpu_present_map);
 #if NR_CPUS > 2 * BITS_PER_LONG
     per_cpu(scratch_cpumask, cpu) = &scratch_cpu0mask;
+    per_cpu(hpet_scratch_cpumask, cpu) = &hpet_scratch_cpu0mask;
     per_cpu(send_ipi_cpumask, cpu) = &send_ipi_cpu0mask;
 #endif
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:12:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:12:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158445.1486782 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYp-0006wP-MX; Mon, 10 Nov 2025 15:12:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158445.1486782; Mon, 10 Nov 2025 15:12:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYp-0006wH-Jt; Mon, 10 Nov 2025 15:12:03 +0000
Received: by outflank-mailman (input) for mailman id 1158445;
 Mon, 10 Nov 2025 15:12:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITYp-0006w6-6C
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:12:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYp-0006x4-0U
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:03 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYp-000eap-0O
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:03 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=FUpEJuaq5lXCLscdNyXjfGLz7VDl5RYSIOH0YWfG+9U=; b=VX1JWsMB0Z5aBqsnuBA98m9rSV
	pbvyt2Vsl+fcgCbAPTlOqSRYs6xFMabzaDudSChOlSxoQlIDE+1PJsHxFBLWnS3BYsmD8uioEtfAV
	ZHNk37AgbKNoPj/Vr5wixpe7JZstyPaxVv4shj6pwuwlRDlPojI/Et1Ej910e576My5w=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] symbols: discard stray file symbols
Message-Id: <E1vITYp-000eap-0O@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:12:03 +0000

commit ed86adbd7e2313cf9ae08573515f52475f4c0972
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:02:39 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:02:39 2025 +0100

    symbols: discard stray file symbols
    
    By observation GNU ld 2.25 may emit file symbols for .data.read_mostly
    when linking xen.efi. Due to the nature of file symbols in COFF symbol
    tables (see the code comment) the symbols_offsets[] entries for such
    symbols would cause assembler warnings regarding value truncation. Of
    course the resulting entries would also be both meaningless and useless.
    Add a heuristic to get rid of them, really taking effect only when
    --all-symbols is specified (otherwise these symbols are discarded
    anyway).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 2f21ce1a6ad57a1a56840ab49c32d096160be595
    master date: 2025-10-21 14:10:46 +0200
---
 xen/tools/symbols.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 67560605f2..e532709ba7 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -213,6 +213,16 @@ static int symbol_valid(struct sym_entry *s)
 	if (strstr((char *)s->sym + offset, "_compiled."))
 		return 0;
 
+	/* At least GNU ld 2.25 may emit bogus file symbols referencing a
+	 * section name while linking xen.efi. In COFF symbol tables the
+	 * "value" of file symbols is a link (symbol table index) to the next
+	 * file symbol. Since file (and other) symbols (can) come with one
+	 * (or in principle more) auxiliary symbol table entries, the value in
+	 * this heuristic is bounded to twice the number of symbols we have
+	 * found. See also read_symbol() as to the '?' checked for here. */
+	if (s->sym[0] == '?' && s->sym[1] == '.' && s->addr < table_cnt * 2)
+		return 0;
+
 	return 1;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:12:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:12:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158446.1486786 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYz-0006yb-OB; Mon, 10 Nov 2025 15:12:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158446.1486786; Mon, 10 Nov 2025 15:12:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITYz-0006yT-LT; Mon, 10 Nov 2025 15:12:13 +0000
Received: by outflank-mailman (input) for mailman id 1158446;
 Mon, 10 Nov 2025 15:12:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITYz-0006yJ-8I
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:12:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYz-0006xi-0j
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:13 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITYz-000edd-0f
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:13 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=tB6GC6ERAyVWgnJqI2tm2ytyzYTzzJuXWy3+L0HxKJc=; b=v+Shf5VjQTtOhC6yhKIAwGcSRM
	qXERi0lkvVfUHfHcofZiV6L6xPdCBWhKhEsNe9oPCjhHlK2bEKG8GgfIsPnxsY8oUBnxTQTBjy93j
	53g7p33glma0JsJ2AOZG7aDYhE/6FKpEQAQNdDM6bTbRHwD8ucYZm9DNXnPnK1PsjtJA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] AMD/IOMMU: unshare IRQ .ack and .disable handlers
Message-Id: <E1vITYz-000edd-0f@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:12:13 +0000

commit de92f0973ca3a24bb28121d7f27803701c6e82e2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:02:58 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:02:58 2025 +0100

    AMD/IOMMU: unshare IRQ .ack and .disable handlers
    
    A .disable handler can't typically be re-used for .ack: The latter needs
    to deal with IRQ migration, while the former shouldn't. Furthermore
    invoking just irq_complete_move() isn't enough; one of
    move_{native,masked}_irq() also needs invoking.
    
    Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
    Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: aed6278b2a7faac1bacce2d22aad29bc463fa0c0
    master date: 2025-10-21 14:11:45 +0200
---
 xen/drivers/passthrough/amd/iommu_init.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index d899f58a38..cc1493f7db 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -429,8 +429,6 @@ static void cf_check iommu_msi_mask(struct irq_desc *desc)
     unsigned long flags;
     struct amd_iommu *iommu = desc->action->dev_id;
 
-    irq_complete_move(desc);
-
     spin_lock_irqsave(&iommu->lock, flags);
     amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
     spin_unlock_irqrestore(&iommu->lock, flags);
@@ -443,6 +441,13 @@ static unsigned int cf_check iommu_msi_startup(struct irq_desc *desc)
     return 0;
 }
 
+static void cf_check iommu_msi_ack(struct irq_desc *desc)
+{
+    irq_complete_move(desc);
+    iommu_msi_mask(desc);
+    move_masked_irq(desc);
+}
+
 static void cf_check iommu_msi_end(struct irq_desc *desc, u8 vector)
 {
     iommu_msi_unmask(desc);
@@ -456,7 +461,7 @@ static hw_irq_controller iommu_msi_type = {
     .shutdown = iommu_msi_mask,
     .enable = iommu_msi_unmask,
     .disable = iommu_msi_mask,
-    .ack = iommu_msi_mask,
+    .ack = iommu_msi_ack,
     .end = iommu_msi_end,
     .set_affinity = set_msi_affinity,
 };
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:12:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158447.1486789 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITZ9-000714-PY; Mon, 10 Nov 2025 15:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158447.1486789; Mon, 10 Nov 2025 15:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITZ9-00070t-Mp; Mon, 10 Nov 2025 15:12:23 +0000
Received: by outflank-mailman (input) for mailman id 1158447;
 Mon, 10 Nov 2025 15:12:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITZ9-00070n-Ar
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:12:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZ9-0006yB-10
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:23 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZ9-000efL-0u
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:23 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=TAySzI4CDdnRGY56TQOmUfJJSKyl/gylX0yjR7YsZ98=; b=myX1FR7HMmeHOpze99YIa3mQZQ
	hfD62ORY/umdejgvizUPf8Dkbr96W8CXcR/2dhpZH07OIZK9RbUgdLZEsSGqdu5uHmCmmR+MobF9N
	pJnUQhE0aPj+qe8XekfBbwvBMjk1bfvfLBuMzxEeC4HxOQrJgJIM9S0j9jy9Y8Pn0pJc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86/HPET: deal with unused channels
Message-Id: <E1vITZ9-000efL-0u@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:12:23 +0000

commit 6a4add3bd96e944871b7a071a9623a1053a2b6a2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:03:15 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:03:15 2025 +0100

    x86/HPET: deal with unused channels
    
    Keeping channels enabled when they're unused is only causing problems:
    Extra interrupts harm performance, and extra nested interrupts could even
    have caused worse problems. However, on all Intel hardware I looked at
    closely, a 0->1 transition of the enable bit causes an immediate IRQ.
    Hence disabling channels isn't a good idea there. Set a "long" timeout
    instead.
    
    Along with that also "clear" the channel's "next event", for it to be
    properly written by whatever the next user is going to want (possibly
    avoiding too early an IRQ).
    
    Further, along the same lines, don't enable channels early when starting
    up an IRQ. This doesn't need to happen earlier than from
    set_channel_irq_affinity() (once a channel goes into use the very first
    time). This eliminates a single instance of
    
    (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
    (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
    
    during boot. (Why exactly there's only one instance, when we use multiple
    counters and hence multiple IRQs, I can't tell. My understanding would be
    that this was due to __hpet_setup_msi_irq() being called only after
    request_irq() [and hence the .startup handler], yet that should have
    affected all channels.)
    
    Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 24f608dc909ed6b6fefb6c35b6de39e851bba6eb
    master date: 2025-10-27 15:51:03 +0100
---
 xen/arch/x86/hpet.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 9727bcd163..18f302bb40 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -290,12 +290,6 @@ static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
     return 0;
 }
 
-static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
-{
-    hpet_msi_unmask(desc);
-    return 0;
-}
-
 #define hpet_msi_shutdown hpet_msi_mask
 
 static void cf_check hpet_msi_set_affinity(
@@ -321,7 +315,7 @@ static void cf_check hpet_msi_set_affinity(
  */
 static hw_irq_controller hpet_msi_type = {
     .typename   = "HPET-MSI",
-    .startup    = hpet_msi_startup,
+    .startup    = irq_startup_none,
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
@@ -521,6 +515,8 @@ static void hpet_detach_channel(unsigned int cpu,
         spin_unlock_irq(&ch->lock);
     else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
     {
+        hpet_write32(hpet_read32(HPET_COUNTER), HPET_Tn_CMP(ch->idx));
+        ch->next_event = STIME_MAX;
         ch->cpu = -1;
         clear_bit(HPET_EVT_USED_BIT, &ch->flags);
         spin_unlock_irq(&ch->lock);
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:12:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158448.1486794 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITZK-00073p-R3; Mon, 10 Nov 2025 15:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158448.1486794; Mon, 10 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vITZK-00073h-OE; Mon, 10 Nov 2025 15:12:34 +0000
Received: by outflank-mailman (input) for mailman id 1158448;
 Mon, 10 Nov 2025 15:12:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITZJ-00073Y-EB
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:12:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZJ-0006yF-1K
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:33 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZJ-000egv-1C
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:33 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=HPTkGNIBaNRJu3D4zdFv8OF11sRHmhfssSA+d06Ok9g=; b=hm/J3qmbBVvfQq+dmfnDSU4Qt4
	OKDEdBACbqtet7PNMpvgixbvOWu1hcKlLeylnRrk6TBK6Wy2OieFUvITKtWiUXii93pH/LYrS5Fj1
	ZeydkWoklJ8kgmoSo0bozgacoyWSgG1uYJavZiVNfCvoQFBSVuQo+lLh8wRV/NqrBWkg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86/HPET: use single, global, low-priority vector for broadcast IRQ
Message-Id: <E1vITZJ-000egv-1C@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:12:33 +0000

commit 1991582925f136e5a433236b8b55f04db7ae80f2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:03:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:03:41 2025 +0100

    x86/HPET: use single, global, low-priority vector for broadcast IRQ
    
    Using dynamically allocated / maintained vectors has several downsides:
    - possible nesting of IRQs due to the effects of IRQ migration,
    - reduction of vectors available for devices,
    - IRQs not moving as intended if there's shortage of vectors,
    - higher runtime overhead.
    
    As the vector also doesn't need to be of any priority (first and foremost
    it really shouldn't be of higher or same priority as the timer IRQ, as
    that raises TIMER_SOFTIRQ anyway), simply use the lowest one above the
    legacy range. The vector needs reserving early, until it is known whether
    it actually is used. If it isn't, it's made available for general use.
    
    With a fixed vector, less updating is now necessary in
    set_channel_irq_affinity(); in particular channels don't need transiently
    masking anymore, as the necessary update is now atomic. To fully leverage
    this, however, we want to stop using hpet_msi_set_affinity() there. With
    the transient masking dropped, we're no longer at risk of missing events.
    
    AMD interrupt remapping code so far didn't "return" a consistent MSI
    address when translating an MSI message. Clear respective fields there, to
    keep the related assertion in set_channel_irq_affinity() from triggering.
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 8ef32772b5483ef2d45aee5adc5ba485077c7fbb
    master date: 2025-10-27 15:51:42 +0100
---
 xen/arch/x86/hpet.c                                | 84 +++++++++++++++++-----
 xen/arch/x86/include/asm/hpet.h                    |  1 +
 xen/arch/x86/include/asm/irq.h                     |  1 +
 .../x86/include/asm/mach-default/irq_vectors.h     |  3 +
 xen/arch/x86/irq.c                                 | 13 ++++
 xen/arch/x86/time.c                                |  2 +
 xen/drivers/passthrough/amd/iommu_intr.c           |  7 ++
 7 files changed, 94 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 18f302bb40..9f911404f6 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -9,6 +9,7 @@
 #include <xen/timer.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <xen/cpuidle.h>
 #include <xen/irq.h>
 #include <xen/numa.h>
 #include <xen/param.h>
@@ -17,8 +18,8 @@
 #include <asm/div64.h>
 #include <asm/hpet.h>
 #include <asm/msi.h>
+#include <irq_vectors.h>
 #include <mach_apic.h>
-#include <xen/cpuidle.h>
 
 #define MAX_DELTA_NS MILLISECS(10*1000)
 #define MIN_DELTA_NS MICROSECS(20)
@@ -250,10 +251,9 @@ static void cf_check hpet_interrupt_handler(int irq, void *data)
     ch->event_handler(ch);
 }
 
-static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+static void hpet_enable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg |= HPET_TN_ENABLE;
@@ -261,6 +261,11 @@ static void cf_check hpet_msi_unmask(struct irq_desc *desc)
     ch->msi.msi_attrib.host_masked = 0;
 }
 
+static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+{
+    hpet_enable_channel(desc->action->dev_id);
+}
+
 static void cf_check hpet_msi_mask(struct irq_desc *desc)
 {
     u32 cfg;
@@ -298,15 +303,13 @@ static void cf_check hpet_msi_set_affinity(
     struct hpet_event_channel *ch = desc->action->dev_id;
     struct msi_msg msg = ch->msi.msg;
 
-    msg.dest32 = set_desc_affinity(desc, mask);
-    if ( msg.dest32 == BAD_APICID )
-        return;
+    /* This really is only for dump_irqs(). */
+    cpumask_copy(desc->arch.cpu_mask, mask);
 
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+    msg.dest32 = cpu_mask_to_apicid(mask);
     msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
     msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
-    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
+    if ( msg.dest32 != ch->msi.msg.dest32 )
         hpet_msi_write(ch, &msg);
 }
 
@@ -319,7 +322,7 @@ static hw_irq_controller hpet_msi_type = {
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
-    .ack        = ack_nonmaskable_msi_irq,
+    .ack        = irq_actor_none,
     .end        = end_nonmaskable_irq,
     .set_affinity   = hpet_msi_set_affinity,
 };
@@ -338,6 +341,16 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
     u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     irq_desc_t *desc = irq_to_desc(ch->msi.irq);
 
+    clear_irq_vector(ch->msi.irq);
+    /*
+     * Technically we don't want to bind the IRQ to any CPU yet, but we need to
+     * specify at least one online one here.  Use the BSP.
+     */
+    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, cpumask_of(0));
+    if ( ret )
+        return ret;
+    cpumask_setall(desc->affinity);
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         ch->msi.hpet_id = hpet_blockid;
@@ -467,19 +480,50 @@ static struct hpet_event_channel *hpet_get_channel(unsigned int cpu)
 static void set_channel_irq_affinity(struct hpet_event_channel *ch)
 {
     struct irq_desc *desc = irq_to_desc(ch->msi.irq);
+    struct msi_msg msg = ch->msi.msg;
 
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
-    hpet_msi_mask(desc);
-    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
-    hpet_msi_unmask(desc);
+
+    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
+
+    /*
+     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
+     * actual update below (either of the IRTE or of [just] message address;
+     * with interrupt remapping message address/data don't change) now being
+     * atomic, we can avoid masking the IRQ around the update.  As a result
+     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
+     * keeps setting the new deadline only afterwards).
+     */
+    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
+
     spin_unlock(&desc->lock);
 
-    spin_unlock(&ch->lock);
+    msg.dest32 = cpu_physical_id(ch->cpu);
+    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
+    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
+    if ( msg.dest32 != ch->msi.msg.dest32 )
+    {
+        ch->msi.msg = msg;
+
+        if ( iommu_intremap != iommu_intremap_off )
+        {
+            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
+
+            ASSERT(rc <= 0);
+            if ( rc >= 0 )
+            {
+                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
+                ASSERT(msg.address_lo ==
+                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
+            }
+        }
+        else
+            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
+    }
 
-    /* We may have missed an interrupt due to the temporary masking. */
-    if ( ch->event_handler && ch->next_event < NOW() )
-        ch->event_handler(ch);
+    hpet_enable_channel(ch);
+    spin_unlock(&ch->lock);
 }
 
 static void hpet_attach_channel(unsigned int cpu,
@@ -617,6 +661,12 @@ void __init hpet_broadcast_init(void)
         hpet_events->flags = HPET_EVT_LEGACY;
 }
 
+void __init hpet_broadcast_late_init(void)
+{
+    if ( !num_hpets_used )
+        free_lopriority_vector(HPET_BROADCAST_VECTOR);
+}
+
 void hpet_broadcast_resume(void)
 {
     u32 cfg;
diff --git a/xen/arch/x86/include/asm/hpet.h b/xen/arch/x86/include/asm/hpet.h
index c402c63168..73f34050da 100644
--- a/xen/arch/x86/include/asm/hpet.h
+++ b/xen/arch/x86/include/asm/hpet.h
@@ -90,6 +90,7 @@ void hpet_disable_legacy_replacement_mode(void);
  * rather than using the LAPIC timer. Used for Cx state entry.
  */
 void hpet_broadcast_init(void);
+void hpet_broadcast_late_init(void);
 void hpet_broadcast_resume(void);
 void cf_check hpet_broadcast_enter(void);
 void cf_check hpet_broadcast_exit(void);
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
index 5f445299be..76f854fd76 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -116,6 +116,7 @@ void cf_check call_function_interrupt(void);
 void cf_check irq_move_cleanup_interrupt(void);
 
 uint8_t alloc_hipriority_vector(void);
+void free_lopriority_vector(uint8_t vector);
 
 void set_direct_apic_vector(uint8_t vector, void (*handler)(void));
 void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void));
diff --git a/xen/arch/x86/include/asm/mach-default/irq_vectors.h b/xen/arch/x86/include/asm/mach-default/irq_vectors.h
index f546aedd87..d75d1c5671 100644
--- a/xen/arch/x86/include/asm/mach-default/irq_vectors.h
+++ b/xen/arch/x86/include/asm/mach-default/irq_vectors.h
@@ -22,6 +22,9 @@
 #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
 #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
 
+/* HPET broadcast is statically allocated and wants to be low priority. */
+#define HPET_BROADCAST_VECTOR   (LAST_LEGACY_VECTOR + 1)
+
 #ifdef CONFIG_PV32
 #define HYPERCALL_VECTOR        0x82
 #endif
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 296a3cd08b..03b7347aff 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -464,6 +464,12 @@ int __init init_irq_data(void)
           vector++ )
         __set_bit(vector, used_vectors);
 
+    /*
+     * Prevent the HPET broadcast vector from being used, until it is known
+     * whether it's actually needed.
+     */
+    __set_bit(HPET_BROADCAST_VECTOR, used_vectors);
+
     return 0;
 }
 
@@ -987,6 +993,13 @@ void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void))
     spin_unlock(&lock);
 }
 
+/* This could free any vectors, but is needed only for low-prio ones. */
+void __init free_lopriority_vector(uint8_t vector)
+{
+    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
+    clear_bit(vector, used_vectors);
+}
+
 static void cf_check irq_ratelimit_timer_fn(void *data)
 {
     struct irq_desc *desc, *tmp;
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index a97d784841..a12e3b28a8 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2546,6 +2546,8 @@ static int __init cf_check disable_pit_irq(void)
                "Force enable with 'cpuidle'.\n");
     }
 
+    hpet_broadcast_late_init();
+
     return 0;
 }
 __initcall(disable_pit_irq);
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index c0273059cb..b721133938 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ire(
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
         msg->data = data;
+        /*
+         * While the low address bits don't matter, "canonicalize" the address
+         * by zapping the bits that were transferred to the IRTE.  This way
+         * callers can check for there actually needing to be an update to
+         * wherever the address is put.
+         */
+        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
     }
 
     return rc;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:12:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:12:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158449.1486797 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITZU-00076j-UJ; Mon, 10 Nov 2025 15:12:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158449.1486797; Mon, 10 Nov 2025 15:12: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-changelog-bounces@lists.xenproject.org>)
	id 1vITZU-00076b-RY; Mon, 10 Nov 2025 15:12:44 +0000
Received: by outflank-mailman (input) for mailman id 1158449;
 Mon, 10 Nov 2025 15:12:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITZT-00076N-Gj
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:12:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZT-0006yP-1a
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:43 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZT-000ei0-1U
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:43 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=E+8kQ62dZh1mYcKe5kHL1nn/X1m0INMw6/JAHusHS1w=; b=sWZZ3nH7zExn1SuR1OU2UvkKbV
	ST9WnpNkByyU5Ip12tHPXgEaLN4iXI8ndxnEMHdpHzQ7BWBDyW9eC3MTgIOFowxcjp0WEWYuNuh21
	NoFeQj1lejwJiyYQk8SOUDz3c8piAj9N0Yb+mOQyMGcBsrt1xgT+IMINyI3PiC5Cbcmw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] xen/pci: prevent infinite loop for faulty SR-IOV cards
Message-Id: <E1vITZT-000ei0-1U@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:12:43 +0000

commit 54d8d847f49f0426a700baa0e05e8a2dc8214fbd
Author:     Frediano Ziglio <frediano.ziglio@cloud.com>
AuthorDate: Mon Nov 10 16:04:03 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:04:03 2025 +0100

    xen/pci: prevent infinite loop for faulty SR-IOV cards
    
    If a SR-IOV card presents an I/O space inside a BAR the
    code will continue to loop on the same card.
    This is due to the missing increment of the cycle variable.
    
    Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: f7091c0e1fd43877621d4eb2c1c4106797b3c551
    master date: 2025-10-27 15:52:20 +0100
---
 xen/drivers/passthrough/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 4d06e5d3f9..80e06c0a78 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -766,6 +766,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                     printk(XENLOG_WARNING
                            "SR-IOV device %pp with vf BAR%u in IO space\n",
                            &pdev->sbdf, i);
+                    ++i;
                     continue;
                 }
                 ret = pci_size_mem_bar(pdev->sbdf, idx, NULL,
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 15:12:55 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 15:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158450.1486802 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITZe-00078l-VW; Mon, 10 Nov 2025 15:12:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158450.1486802; Mon, 10 Nov 2025 15:12:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vITZe-00078d-T1; Mon, 10 Nov 2025 15:12:54 +0000
Received: by outflank-mailman (input) for mailman id 1158450;
 Mon, 10 Nov 2025 15:12:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vITZd-00078U-JO
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 15:12:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZd-0006ye-1q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:53 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vITZd-000eis-1l
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 15:12:53 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=UrWSCRLTDacba/Lf5wSCZmhJiSpCyu7jbfxzUhHedM4=; b=taJpoZJOBaz919b35m80tMYVnx
	+186jWP2/hjyg1sxbUxSqMEDpQ6pOb2Cs/+yXfHf3zUvXGcpxEvyaSnIGddzjTBTiNSZAhvi2TMzg
	D9K4DWc5eijAzPoezttBQhRii07gDfKz12Cx0sIqmGA+YZ44XUcoW961Avsg4gNqrpk0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
Message-Id: <E1vITZd-000eis-1l@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 15:12:53 +0000

commit f17288c3e0c3266e15d72280c340b4b2bee626c5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:04:46 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:04:46 2025 +0100

    x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
    
    With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
    the IRQ handler can't be invoked in a nested manner anymore, we can
    instead use a per-CPU variable. While we can't use scratch_cpumask in code
    invoked from IRQ handlers, simply amend that one with a HPET-special form.
    (Note that only one of the two IRQ handling functions can come into play
    at any one time.)
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 80c7c6716476b009188271350a9fc04fa763362e
    master date: 2025-10-29 09:02:53 +0100
---
 xen/arch/x86/hpet.c            | 8 ++++----
 xen/arch/x86/include/asm/smp.h | 1 +
 xen/arch/x86/smpboot.c         | 7 +++++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 9f911404f6..d8e921c259 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -194,7 +194,7 @@ static void evt_do_broadcast(cpumask_t *mask)
 
 static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
-    cpumask_t mask;
+    cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
     unsigned int cpu;
     unsigned long flags;
@@ -207,7 +207,7 @@ again:
     spin_unlock_irqrestore(&ch->lock, flags);
 
     next_event = STIME_MAX;
-    cpumask_clear(&mask);
+    cpumask_clear(scratch);
     now = NOW();
 
     /* find all expired events */
@@ -216,13 +216,13 @@ again:
         s_time_t deadline = ACCESS_ONCE(per_cpu(timer_deadline, cpu));
 
         if ( deadline <= now )
-            __cpumask_set_cpu(cpu, &mask);
+            __cpumask_set_cpu(cpu, scratch);
         else if ( deadline < next_event )
             next_event = deadline;
     }
 
     /* wakeup the cpus which have an expired event. */
-    evt_do_broadcast(&mask);
+    evt_do_broadcast(scratch);
 
     if ( next_event != STIME_MAX )
     {
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index c8c7960134..60eb4ac254 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -22,6 +22,7 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
+DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);
 DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 
 /*
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index e43913a62c..df46150f2f 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -49,6 +49,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
 static cpumask_t scratch_cpu0mask;
 
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
+static cpumask_t hpet_scratch_cpu0mask;
+
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, send_ipi_cpumask);
 static cpumask_t send_ipi_cpu0mask;
 
@@ -986,6 +989,8 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
         FREE_CPUMASK_VAR(per_cpu(cpu_core_mask, cpu));
         if ( per_cpu(scratch_cpumask, cpu) != &scratch_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(scratch_cpumask, cpu));
+        if ( per_cpu(hpet_scratch_cpumask, cpu) != &hpet_scratch_cpu0mask )
+            FREE_CPUMASK_VAR(per_cpu(hpet_scratch_cpumask, cpu));
         if ( per_cpu(send_ipi_cpumask, cpu) != &send_ipi_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(send_ipi_cpumask, cpu));
     }
@@ -1116,6 +1121,7 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     if ( !(cond_zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) &&
            cond_zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(scratch_cpumask, cpu)) &&
+           cond_alloc_cpumask_var(&per_cpu(hpet_scratch_cpumask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(send_ipi_cpumask, cpu))) )
         goto out;
 
@@ -1243,6 +1249,7 @@ void __init smp_prepare_boot_cpu(void)
     cpumask_set_cpu(cpu, &cpu_present_map);
 #if NR_CPUS > 2 * BITS_PER_LONG
     per_cpu(scratch_cpumask, cpu) = &scratch_cpu0mask;
+    per_cpu(hpet_scratch_cpumask, cpu) = &hpet_scratch_cpu0mask;
     per_cpu(send_ipi_cpumask, cpu) = &send_ipi_cpu0mask;
 #endif
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 16:22:11 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 16:22:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158554.1486885 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIUea-0003nE-FR; Mon, 10 Nov 2025 16:22:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158554.1486885; Mon, 10 Nov 2025 16:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vIUea-0003n6-Cr; Mon, 10 Nov 2025 16:22:04 +0000
Received: by outflank-mailman (input) for mailman id 1158554;
 Mon, 10 Nov 2025 16:22:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIUeY-0003n0-Fh
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 16:22:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIUeY-0008q2-1F
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 16:22:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIUeY-000oRc-0t
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 16:22:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ZG5eIP52jUDjxgRK+dsahkzqxPpTv2tNjxf+5CThLc4=; b=XyjOOki3vCeFN1YaZ0yuqCJ+vP
	UUVW3YPZO6F5dXa6wYrfWCVYjCiRwyy+65Y/3vEdB0JkbarMbqeKZa1+AtDjPUFl2zrUZikJ/K0LM
	0nOXxo6v2j44RmZmbjjMHwj4zYrQtvVJHZHYsORi/2lliTrhDQHEMKiyYkyuiqoIE4A0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
Message-Id: <E1vIUeY-000oRc-0t@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 16:22:02 +0000

commit f9a9c6c6ab9c37912e8c53e5082e33aab2fea4fd
Author:     Roger Pau Monné <roger.pau@citrix.com>
AuthorDate: Mon Nov 10 17:11:57 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 17:11:57 2025 +0100

    tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
    
    Otherwise it's not possible for device models to map IRQs of devices on
    segments different than 0.  Keep the same function prototype and pass the
    segment in the high 16bits of the bus parameter, like it's done for the
    hypercall itself.
    
    Amends: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
    master commit: b7838d12bd1adc12e7fa820fc124a251b8f4629e
    master date: 2025-10-21 16:56:19 +0100
---
 tools/include/xenctrl.h      | 2 +-
 tools/libs/ctrl/xc_physdev.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 4955981231..359ba700db 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1623,7 +1623,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base);
 
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 25e686d7b3..9fb78536ea 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -65,7 +65,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base)
 {
@@ -79,10 +79,10 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     }
     memset(&map, 0, sizeof(struct physdev_map_pirq));
     map.domid = domid;
-    map.type = MAP_PIRQ_TYPE_MSI;
+    map.type = MAP_PIRQ_TYPE_MSI_SEG;
     map.index = index;
     map.pirq = *pirq;
-    map.bus = bus;
+    map.bus = segbus;
     map.devfn = devfn;
     map.entry_nr = entry_nr;
     map.table_base = table_base;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 16:22:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 16:22:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158555.1486890 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIUek-0003of-Gp; Mon, 10 Nov 2025 16:22:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158555.1486890; Mon, 10 Nov 2025 16:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIUek-0003oY-EG; Mon, 10 Nov 2025 16:22:14 +0000
Received: by outflank-mailman (input) for mailman id 1158555;
 Mon, 10 Nov 2025 16:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIUei-0003oM-M6
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 16:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIUei-0008q7-27
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 16:22:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIUei-000oSw-20
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 16:22:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=a1zMnbKgq1Zbfg7CeBeY5RTGYCDBD1m914lIseuRcRU=; b=rHsAkDR+7280wcKPaAJq49xtGf
	wucv0dvCyezIIGykzv9pJjFHNWOYw2oHFY0P4qnf4vHIwZB9nFO/fFr2IgDAkbhohZ9d9jTCSET9E
	jRFP0G7NacvXZCLdYE6BfauxNJDWFYUwVXnKyPHgw45ZgwVlK4GMiMzRn6ICv9n9+fvg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
Message-Id: <E1vIUei-000oSw-20@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 16:22:12 +0000

commit 734ddde8961d0a8145c563f9368c561da837f803
Author:     Roger Pau Monné <roger.pau@citrix.com>
AuthorDate: Mon Nov 10 17:12:11 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 17:12:11 2025 +0100

    tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
    
    Otherwise it's not possible for device models to map IRQs of devices on
    segments different than 0.  Keep the same function prototype and pass the
    segment in the high 16bits of the bus parameter, like it's done for the
    hypercall itself.
    
    Amends: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
    master commit: b7838d12bd1adc12e7fa820fc124a251b8f4629e
    master date: 2025-10-21 16:56:19 +0100
---
 tools/include/xenctrl.h      | 2 +-
 tools/libs/ctrl/xc_physdev.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 9ceca0cffc..cebc03d4e0 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1633,7 +1633,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base);
 
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 460a8e779c..d01949454d 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -65,7 +65,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base)
 {
@@ -79,10 +79,10 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     }
     memset(&map, 0, sizeof(struct physdev_map_pirq));
     map.domid = domid;
-    map.type = MAP_PIRQ_TYPE_MSI;
+    map.type = MAP_PIRQ_TYPE_MSI_SEG;
     map.index = index;
     map.pirq = *pirq;
-    map.bus = bus;
+    map.bus = segbus;
     map.devfn = devfn;
     map.entry_nr = entry_nr;
     map.table_base = table_base;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:44:10 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158670.1486984 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWrz-0000Om-3m; Mon, 10 Nov 2025 18:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158670.1486984; Mon, 10 Nov 2025 18:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWrz-0000Oe-0h; Mon, 10 Nov 2025 18:44:03 +0000
Received: by outflank-mailman (input) for mailman id 1158670;
 Mon, 10 Nov 2025 18:44:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWrx-0000OY-Pn
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:44:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWrx-000BeG-2L
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWrx-001BWX-24
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=79L7q9Oa/WTpAS6sL4BwBss47R4e3OdyDCDg96gdL/k=; b=dMfcj8ggSihczlWKSnkkk9VYq4
	3KrrmzNMfuBJem8V2dzqcyeTwfZ2XIfr8iB6pfWNr8bgLz2yjmVKPxM7clEWy6UAzxtagQAY+ese4
	DFZYdi7vf+HrldNS2LtBFlPEQ1VYY2RArfXEKmENjOD8X3ZLGN2/PaX14SCDlttV9RBg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vIWrx-001BWX-24@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:44:01 +0000

commit 3907ea4ba9c9229970018e88871696a9f933faa5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 7 13:40:53 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index d72b9556f6..550b8c1e57 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -655,10 +655,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:44:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158671.1486988 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWs9-0000Q6-55; Mon, 10 Nov 2025 18:44:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158671.1486988; Mon, 10 Nov 2025 18:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vIWs9-0000Py-28; Mon, 10 Nov 2025 18:44:13 +0000
Received: by outflank-mailman (input) for mailman id 1158671;
 Mon, 10 Nov 2025 18:44:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWs7-0000Ps-T5
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:44:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWs7-000BeQ-2d
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWs7-001BYi-2W
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=SZQtbpg3bA/VV6fkL+8B0K/lxAmGburP9XGKl1rLvKM=; b=7I3/cs25g1cf8CnFVy419tV4J/
	LTmyM4cuJw3E/jRP7sz7UifrGJTEjRRlNkpYzJCCCvXkl85Mk7HnNOtoxjp06W8DGL4AVUJx9rOCR
	t+ZL5GDwq1mGiW3lMiEZy3vqHrrTEKGaxL0L1V1/Q0M+vzymkntdtf5tXusxxjSsSijc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] CHANGELOG.md: Update for 4.21 release cycle
Message-Id: <E1vIWs7-001BYi-2W@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:44:11 +0000

commit 22d8ef40307b8b9c3632db05512a36a424941905
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Fri Sep 26 17:47:43 2025 +0200
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Update for 4.21 release cycle
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 CHANGELOG.md | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc4f6d7c8a..4610fdac56 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - Linux based device model stubdomains are now fully supported.
  - New dependency on library json-c 0.15 or later, the toolstack will prefer it
    to `YAJL` when available.
+ - Introduce libxenmanage as a stable library, replacing xenstored's
+   dependency on unstable libraries.
 
  - On x86:
    - Restrict the cache flushing done as a result of guest physical memory map
@@ -42,9 +44,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - New amd-cppc/amd-cppc-epp cpufreq driver.
 
  - On Arm:
-    - Ability to enable stack protector
+    - Ability to enable stack protector.
     - GICv3.1 eSPI (Extended Shared Peripheral Interrupts) support for Xen
       and guest domains.
+    - SMMU handling for PCIe passthrough.
+    - R-Car Gen4 PCI host controller support.
+    - SCI SCMI SMC single-agent support.
+    - Initial support for MPU, R82, and R52: reaches the early boot stages.
+
+ - On RISC-V:
+    - Basic UART support and external interrupts (APLIC/IMSIC only) handling
+      for hypervisor mode.
 
 ### Removed
  - On x86:
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:44:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158672.1486992 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWsJ-0000SQ-6K; Mon, 10 Nov 2025 18:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158672.1486992; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIWsJ-0000SI-3U; Mon, 10 Nov 2025 18:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1158672;
 Mon, 10 Nov 2025 18:44:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWsH-0000S6-UX
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:44:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsH-000Beo-2v
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsH-001Bai-2n
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=VTAELyspirCGLaSps11NpteCBRQpiva6WHjRRyzqlW4=; b=qMGEtptWIOG85ggolPTTtCIwTJ
	2iloFhCLDccdp4OO9JebgD6oIJwx7UaUvZOcl2u8ha3HnEnkp5coRSxERpix5DnJGkCWdVbhVTFSc
	rNgJBXeZSEGzd2LBFDax7MndM0/AVY3er0Sypawy1CVzrhCuw6QKYCNq/uw2fubXDmek=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] CHANGELOG.md: Note about oxenstored being deprecated
Message-Id: <E1vIWsH-001Bai-2n@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:44:21 +0000

commit 3abb49d5b19646969b43523f1c9f45a1da4ed010
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:41:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Note about oxenstored being deprecated
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4610fdac56..83c9c43c3e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -63,6 +63,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
  - Support of qemu-traditional has been removed.
 
+ - The in-tree oxenstored is deprecated and will be removed in a future
+   version of Xen.  It is moving into the Xapi project
+   https://github.com/xapi-project/oxenstored so it can be maintained in line
+   with the other Ocaml projects in the Xen ecosystem.
+
 ## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05
 
 ### Changed
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:44:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158673.1486996 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWsT-0000Uw-8l; Mon, 10 Nov 2025 18:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158673.1486996; Mon, 10 Nov 2025 18:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWsT-0000Uo-67; Mon, 10 Nov 2025 18:44:33 +0000
Received: by outflank-mailman (input) for mailman id 1158673;
 Mon, 10 Nov 2025 18:44:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWsS-0000Ui-2K
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:44:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsS-000Beu-09
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsR-001BdD-36
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=KNyU4A3/pd0L4Q7WUW+h2/Hm6FKBXB5aaA5FIXePZl8=; b=WkPt06TF0QKLBwmvNPBinIDDXh
	BvuK5Ts3Q/F3Eevt5H3P5X/t2BRFxDXSxJon1Nra3e0RBd/JF2Od1kBMsiekuIQ+PsudpdiVXaY1I
	kCGD8unenqXOcplo3sMHZyp/uIsHH9tYW86HLg/5z3cm4wssh0Dd1Ar6xrSa+T4ztftk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vIWsR-001BdD-36@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:44:31 +0000

commit d510f9c1430cf52204da672260a6926138a985c2
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Mon Nov 10 15:55:02 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ad1553c5e9..27c455210b 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2503,7 +2503,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:44:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158674.1487000 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWsd-0000Wd-AI; Mon, 10 Nov 2025 18:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158674.1487000; Mon, 10 Nov 2025 18:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vIWsd-0000WV-7X; Mon, 10 Nov 2025 18:44:43 +0000
Received: by outflank-mailman (input) for mailman id 1158674;
 Mon, 10 Nov 2025 18:44:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWsc-0000WN-5K
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:44:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsc-000Bf2-0Q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsc-001BeV-0K
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ePj/JVxu8CvzLYgXj68WkMkU8NqGlKNmPXU/M9K7A4M=; b=4a3TisJYGTKaWzLAYWXK4oxeU/
	kBkCpiLRfx8vXJ+Uqz1PmF+8pGrUtypolemyvntBdwC2e+rMoriTpf+ng84ZNEzswY5fHubvaUqWc
	IXQVof7YNlKi4nT9jkfIKhbQ7CgG7ORxPILNBlPYrZtvpbhItjMbeZCQrfCedIvu3LcM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] Update Xen to 4.22
Message-Id: <E1vIWsc-001BeV-0K@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:44:42 +0000

commit 85768c28b705964f2a307ac5a69c92fe241249df
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:04:11 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    Update Xen to 4.22
    
    Xen 4.21 has branched
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 README       | 10 +++++-----
 SUPPORT.md   |  2 +-
 xen/Makefile |  4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/README b/README
index 53a4d5c2ae..889a4ea906 100644
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
 ############################################################
- __  __            _  _    ____  _
- \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
-  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
-  /  \  __/ | | | |__   _| / __/| |__| | | (__
- /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
+__  __                                _        _     _
+\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
+ \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
+ /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
+/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
 
 ############################################################
 
diff --git a/SUPPORT.md b/SUPPORT.md
index 491f9ecd1b..d441bccf37 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.21-rc
+    Xen-Version: 4.22-unstable
     Initial-Release: n/a
     Supported-Until: TBD
     Security-Support-Until: Unreleased - not yet security-supported
diff --git a/xen/Makefile b/xen/Makefile
index ddcee8835c..fc9244420e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -5,8 +5,8 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # This is the correct place to edit the build version.
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
-export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= .0-rc3$(XEN_VENDORVERSION)
+export XEN_SUBVERSION    = 22
+export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:44:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158675.1487004 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWsn-0000Yv-BN; Mon, 10 Nov 2025 18:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158675.1487004; Mon, 10 Nov 2025 18:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vIWsn-0000Yn-8t; Mon, 10 Nov 2025 18:44:53 +0000
Received: by outflank-mailman (input) for mailman id 1158675;
 Mon, 10 Nov 2025 18:44:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWsm-0000Yd-LL
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:44:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsm-000Bf6-23
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsm-001BgO-1w
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:44:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=4m9QOLGFzD+e+KW6bJqeBPZasJVK/nOJ2BMP50STV40=; b=Nf9TY5o47w3Inh/C2uBCa36ZeR
	1/5Lc89FRmubTtE4zNnr5MQYTZylVsRIFScd8bSPU+Tn6/XKZVjZQUA5Is8taV1V8J5GjTFGsxeI+
	gDT0q2jhTvibTpBRF5RpHKY+IXbP7o6NJmfmYH4bevtxrd8ffsS/FAaqVbHECMgWJpfM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vIWsm-001BgO-1w@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:44:52 +0000

commit 3907ea4ba9c9229970018e88871696a9f933faa5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 7 13:40:53 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index d72b9556f6..550b8c1e57 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -655,10 +655,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:45:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:45:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158676.1487008 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWsx-0000b0-Co; Mon, 10 Nov 2025 18:45:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158676.1487008; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIWsx-0000as-AD; Mon, 10 Nov 2025 18:45:03 +0000
Received: by outflank-mailman (input) for mailman id 1158676;
 Mon, 10 Nov 2025 18:45:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWsw-0000am-Oa
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:45:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsw-000BfZ-2K
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWsw-001BhP-2D
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=/7Fb3bZq5vkBxd5lLAYFfc/SU7g+8wIvicfQBgfDLRc=; b=YMq5Rq0y0sO/5zmvJDofKLQFJ2
	5qJnDh7Bgi5VaAPxJrSgdsqqHmQyhqmwNv+VYvHJ21cD5QiFm9EZGLuI9jLejwYzyAT7j/eZVQmyL
	/90VrIZJAfpzA1dlpaX4y0u58ixm+3ZBf8wk1v/OA95hOMIt4PizCew/YvLZ9q0alrSg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] CHANGELOG.md: Update for 4.21 release cycle
Message-Id: <E1vIWsw-001BhP-2D@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:45:02 +0000

commit 22d8ef40307b8b9c3632db05512a36a424941905
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Fri Sep 26 17:47:43 2025 +0200
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Update for 4.21 release cycle
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 CHANGELOG.md | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc4f6d7c8a..4610fdac56 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - Linux based device model stubdomains are now fully supported.
  - New dependency on library json-c 0.15 or later, the toolstack will prefer it
    to `YAJL` when available.
+ - Introduce libxenmanage as a stable library, replacing xenstored's
+   dependency on unstable libraries.
 
  - On x86:
    - Restrict the cache flushing done as a result of guest physical memory map
@@ -42,9 +44,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - New amd-cppc/amd-cppc-epp cpufreq driver.
 
  - On Arm:
-    - Ability to enable stack protector
+    - Ability to enable stack protector.
     - GICv3.1 eSPI (Extended Shared Peripheral Interrupts) support for Xen
       and guest domains.
+    - SMMU handling for PCIe passthrough.
+    - R-Car Gen4 PCI host controller support.
+    - SCI SCMI SMC single-agent support.
+    - Initial support for MPU, R82, and R52: reaches the early boot stages.
+
+ - On RISC-V:
+    - Basic UART support and external interrupts (APLIC/IMSIC only) handling
+      for hypervisor mode.
 
 ### Removed
  - On x86:
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:45:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:45:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158677.1487012 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWt7-0000d1-EQ; Mon, 10 Nov 2025 18:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158677.1487012; Mon, 10 Nov 2025 18:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWt7-0000ct-Be; Mon, 10 Nov 2025 18:45:13 +0000
Received: by outflank-mailman (input) for mailman id 1158677;
 Mon, 10 Nov 2025 18:45:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWt6-0000cl-Ql
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:45:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWt6-000Bfd-2a
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWt6-001Bi7-2U
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=w4TBqVt7kqLW4wzDrrFUUCZjUlGvDorH7bEEZaABR/c=; b=OfZHo2BI3/+5yP+NIOIEu+oBEe
	qtojgwrmg9PVGyZlxex8RdsPGEqjZqFH51fJQSDTftB2mrVQPWIk4jSc8fzFeePAXFEvy+wZZEKfz
	cWnVqlckPLDj4WLvVQNYoOHVU56l5Inu02Z4eAbSmkH3qZbebNeQ6OCSHtuwoG7YOy9E=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] CHANGELOG.md: Note about oxenstored being deprecated
Message-Id: <E1vIWt6-001Bi7-2U@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:45:12 +0000

commit 3abb49d5b19646969b43523f1c9f45a1da4ed010
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:41:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Note about oxenstored being deprecated
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4610fdac56..83c9c43c3e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -63,6 +63,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
  - Support of qemu-traditional has been removed.
 
+ - The in-tree oxenstored is deprecated and will be removed in a future
+   version of Xen.  It is moving into the Xapi project
+   https://github.com/xapi-project/oxenstored so it can be maintained in line
+   with the other Ocaml projects in the Xen ecosystem.
+
 ## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05
 
 ### Changed
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:45:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158678.1487016 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWtI-0000gR-Fi; Mon, 10 Nov 2025 18:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158678.1487016; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIWtI-0000gJ-D2; Mon, 10 Nov 2025 18:45:24 +0000
Received: by outflank-mailman (input) for mailman id 1158678;
 Mon, 10 Nov 2025 18:45:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWtG-0000gB-TI
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:45:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWtG-000Bg5-2q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWtG-001Biv-2l
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Vjd8uCG6HWroJP7uinaaWR9BM8iSOcwzMMc7ugQnSzU=; b=mJQtvfUpotXWibQV5cMjgMqQ7U
	OY7vCdoC3yTe+4fw/fJ15MN1DHmbDW0lodXwe2lRUos+4wwTeKiIAJOOY48Ynhb2eBOEbPDrNn1Im
	Ud1hM8y4hfPYiLeVnX9KFXN1jn/vElM7O2ts34KqO0enopohkQECPC3SZRhQslBo7UTQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vIWtG-001Biv-2l@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:45:22 +0000

commit d510f9c1430cf52204da672260a6926138a985c2
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Mon Nov 10 15:55:02 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ad1553c5e9..27c455210b 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2503,7 +2503,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:45:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158679.1487019 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIWtS-0000iY-Gn; Mon, 10 Nov 2025 18:45:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158679.1487019; Mon, 10 Nov 2025 18:45: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-changelog-bounces@lists.xenproject.org>)
	id 1vIWtS-0000iQ-EL; Mon, 10 Nov 2025 18:45:34 +0000
Received: by outflank-mailman (input) for mailman id 1158679;
 Mon, 10 Nov 2025 18:45:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIWtR-0000iI-0B
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:45:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWtQ-000BgE-39
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIWtQ-001Bja-31
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:45:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=rzyz+0q9dfvHFIsGZRKtXBoHvTo0S+swLi7Pd+P0UbI=; b=3U2v93NU9n6N5ExDHcO9YnjwNS
	On3llCYNhArpncp3Qa3RFn7fqhnTBWztfkFQBgwhEYD/hyY2ZUIMkuc6JSU4+c2VEvi4z156hrATz
	f6sJZfASbrCJuaDxXKQwer0xCHZbmFGJNfQDaa8eDDrIjpqRBDt7ta6N7FO8KIflTHeg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] Switch to release builds by default
Message-Id: <E1vIWtQ-001Bja-31@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:45:32 +0000

commit b0255656d121311cf1a43f19f08dbfc8aa6df280
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:58:17 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:58:17 2025 +0000

    Switch to release builds by default
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/Rules.mk    | 2 +-
 xen/Kconfig.debug | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 725c3c32e9..7c7ad91e81 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -25,7 +25,7 @@ CFLAGS_xeninclude = -I$(XEN_INCLUDE)
 XENSTORE_XENSTORED ?= y
 
 # A debug build of tools?
-debug ?= y
+debug ?= n
 debug_symbols ?= $(debug)
 
 XEN_GOCODE_URL    = golang.xenproject.org
diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index d900d926c5..434a1ae1d6 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -3,7 +3,7 @@ menu "Debugging Options"
 
 config DEBUG
 	bool "Developer Checks"
-	default y
+	default n
 	help
 	  If you say Y here this will enable developer checks such as asserts
 	  and extra printks. This option is intended for development purposes
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:55:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158680.1487024 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX2d-0001q3-58; Mon, 10 Nov 2025 18:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158680.1487024; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX2d-0001pv-2P; Mon, 10 Nov 2025 18:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1158680;
 Mon, 10 Nov 2025 18:55:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX2b-0001pp-Kb
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:55:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX2b-000Bqh-1u
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX2b-001DEH-1l
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Vet2UB4tV7DPAjmlUYi/ioXBCoEpFKe18iQfDKi2z/o=; b=1KmgQFXcOOa+Bv4YQi3jxKxTOc
	h6/78vLMXI3QetqP5f9yFDoX1a/+QaQ/voPjHJ1ygo0CSSZ2y+YCRnAEG1wEbyhn7FohAr9M1NDCM
	ZmT2uhWTzL2IzZUQQjzE9F97Vkd5hkHfuEfE5Iu9U6XhKEBCJ9Lh1YE3ePMcyow9mUX0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] symbols: discard stray file symbols
Message-Id: <E1vIX2b-001DEH-1l@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:55:01 +0000

commit 74af7cf30b2b384a8bb50b5c4854c4ddcb16ed97
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 15:57:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 15:57:41 2025 +0100

    symbols: discard stray file symbols
    
    By observation GNU ld 2.25 may emit file symbols for .data.read_mostly
    when linking xen.efi. Due to the nature of file symbols in COFF symbol
    tables (see the code comment) the symbols_offsets[] entries for such
    symbols would cause assembler warnings regarding value truncation. Of
    course the resulting entries would also be both meaningless and useless.
    Add a heuristic to get rid of them, really taking effect only when
    --all-symbols is specified (otherwise these symbols are discarded
    anyway).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 2f21ce1a6ad57a1a56840ab49c32d096160be595
    master date: 2025-10-21 14:10:46 +0200
---
 xen/tools/symbols.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 67560605f2..e532709ba7 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -213,6 +213,16 @@ static int symbol_valid(struct sym_entry *s)
 	if (strstr((char *)s->sym + offset, "_compiled."))
 		return 0;
 
+	/* At least GNU ld 2.25 may emit bogus file symbols referencing a
+	 * section name while linking xen.efi. In COFF symbol tables the
+	 * "value" of file symbols is a link (symbol table index) to the next
+	 * file symbol. Since file (and other) symbols (can) come with one
+	 * (or in principle more) auxiliary symbol table entries, the value in
+	 * this heuristic is bounded to twice the number of symbols we have
+	 * found. See also read_symbol() as to the '?' checked for here. */
+	if (s->sym[0] == '?' && s->sym[1] == '.' && s->addr < table_cnt * 2)
+		return 0;
+
 	return 1;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:55:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158681.1487027 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX2n-0001s3-6g; Mon, 10 Nov 2025 18:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158681.1487027; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX2n-0001rv-3h; Mon, 10 Nov 2025 18:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1158681;
 Mon, 10 Nov 2025 18:55:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX2l-0001rl-Ol
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:55:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX2l-000Bqy-2N
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX2l-001DFZ-25
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Rqy17sNGeFzq+9AXNalLU7hzlObmV6YXSydZztKrPGY=; b=GN5yO2zYG5tKnWDGFA9RH90s1K
	RKuL6x+UjrRRGbwuig11WpRq9t/6tHr9Nqs7xdUWbnjc7/Jy2+1hqJG30drMbydqsfEItkqrcA0X4
	ezMx3UU5P5PD/zNngWmgrqQi9KLIKcCUxzg5mfmptVg1XSjF7ndZU0fLRRMWwTXFiBPU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] AMD/IOMMU: unshare IRQ .ack and .disable handlers
Message-Id: <E1vIX2l-001DFZ-25@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:55:11 +0000

commit bfd9be74c242587a2582b5efad525780fb7583e9
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 15:58:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 15:58:56 2025 +0100

    AMD/IOMMU: unshare IRQ .ack and .disable handlers
    
    A .disable handler can't typically be re-used for .ack: The latter needs
    to deal with IRQ migration, while the former shouldn't. Furthermore
    invoking just irq_complete_move() isn't enough; one of
    move_{native,masked}_irq() also needs invoking.
    
    Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
    Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: aed6278b2a7faac1bacce2d22aad29bc463fa0c0
    master date: 2025-10-21 14:11:45 +0200
---
 xen/drivers/passthrough/amd/iommu_init.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index 934adc5abe..ac897d7302 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -429,8 +429,6 @@ static void cf_check iommu_msi_mask(struct irq_desc *desc)
     unsigned long flags;
     struct amd_iommu *iommu = desc->action->dev_id;
 
-    irq_complete_move(desc);
-
     spin_lock_irqsave(&iommu->lock, flags);
     amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
     spin_unlock_irqrestore(&iommu->lock, flags);
@@ -443,6 +441,13 @@ static unsigned int cf_check iommu_msi_startup(struct irq_desc *desc)
     return 0;
 }
 
+static void cf_check iommu_msi_ack(struct irq_desc *desc)
+{
+    irq_complete_move(desc);
+    iommu_msi_mask(desc);
+    move_masked_irq(desc);
+}
+
 static void cf_check iommu_msi_end(struct irq_desc *desc, u8 vector)
 {
     iommu_msi_unmask(desc);
@@ -456,7 +461,7 @@ static hw_irq_controller iommu_msi_type = {
     .shutdown = iommu_msi_mask,
     .enable = iommu_msi_unmask,
     .disable = iommu_msi_mask,
-    .ack = iommu_msi_mask,
+    .ack = iommu_msi_ack,
     .end = iommu_msi_end,
     .set_affinity = set_msi_affinity,
 };
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:55:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158682.1487032 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX2x-0001wK-9N; Mon, 10 Nov 2025 18:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158682.1487032; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX2x-0001wC-6r; Mon, 10 Nov 2025 18:55:23 +0000
Received: by outflank-mailman (input) for mailman id 1158682;
 Mon, 10 Nov 2025 18:55:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX2v-0001w4-TZ
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:55:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX2v-000BrO-2q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX2v-001DFv-2Y
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=BAh/okOV5/kyH9XMnPKbzYrcZrVJ2035JhQdEKVvJT8=; b=y8TtX7qbmNwNU41Xn0wUxZNygD
	UEh+UJ8TBXdfmxN4qxn4nXpwIOF5kbfO+x/d8HaBM2JY6WDTakKr6CK09YNphYychqVFR8rDwjAZ5
	OFNAZplox0DAHAahgpgONdy60HwUXVK9xmn3eS5PeldPIcnkRcGLB//EsYu+sH0X9+Gw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86/HPET: deal with unused channels
Message-Id: <E1vIX2v-001DFv-2Y@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:55:21 +0000

commit afc035d6c9527d21e12ba8cc508c8239491c4f10
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 15:59:33 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 15:59:33 2025 +0100

    x86/HPET: deal with unused channels
    
    Keeping channels enabled when they're unused is only causing problems:
    Extra interrupts harm performance, and extra nested interrupts could even
    have caused worse problems. However, on all Intel hardware I looked at
    closely, a 0->1 transition of the enable bit causes an immediate IRQ.
    Hence disabling channels isn't a good idea there. Set a "long" timeout
    instead.
    
    Along with that also "clear" the channel's "next event", for it to be
    properly written by whatever the next user is going to want (possibly
    avoiding too early an IRQ).
    
    Further, along the same lines, don't enable channels early when starting
    up an IRQ. This doesn't need to happen earlier than from
    set_channel_irq_affinity() (once a channel goes into use the very first
    time). This eliminates a single instance of
    
    (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
    (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
    
    during boot. (Why exactly there's only one instance, when we use multiple
    counters and hence multiple IRQs, I can't tell. My understanding would be
    that this was due to __hpet_setup_msi_irq() being called only after
    request_irq() [and hence the .startup handler], yet that should have
    affected all channels.)
    
    Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 24f608dc909ed6b6fefb6c35b6de39e851bba6eb
    master date: 2025-10-27 15:51:03 +0100
---
 xen/arch/x86/hpet.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 7e9d996436..0c788b0f38 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -291,12 +291,6 @@ static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
     return 0;
 }
 
-static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
-{
-    hpet_msi_unmask(desc);
-    return 0;
-}
-
 #define hpet_msi_shutdown hpet_msi_mask
 
 static void cf_check hpet_msi_set_affinity(
@@ -322,7 +316,7 @@ static void cf_check hpet_msi_set_affinity(
  */
 static hw_irq_controller hpet_msi_type = {
     .typename   = "HPET-MSI",
-    .startup    = hpet_msi_startup,
+    .startup    = irq_startup_none,
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
@@ -522,6 +516,8 @@ static void hpet_detach_channel(unsigned int cpu,
         spin_unlock_irq(&ch->lock);
     else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
     {
+        hpet_write32(hpet_read32(HPET_COUNTER), HPET_Tn_CMP(ch->idx));
+        ch->next_event = STIME_MAX;
         ch->cpu = -1;
         clear_bit(HPET_EVT_USED_BIT, &ch->flags);
         spin_unlock_irq(&ch->lock);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:55:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158683.1487036 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX37-0001yh-BD; Mon, 10 Nov 2025 18:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158683.1487036; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX37-0001yX-8D; Mon, 10 Nov 2025 18:55:33 +0000
Received: by outflank-mailman (input) for mailman id 1158683;
 Mon, 10 Nov 2025 18:55:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX36-0001yP-0a
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:55:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX35-000BrS-3A
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX35-001DIT-33
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Y0A0US7fq9WeegzBZ5GLEV+cp5fjIFwIXlYpHWozw2M=; b=Vg6MsJNeKbto3+jot9rHylp8YD
	wW0ahZ+O8UOI02nJd94G+Ow2tc/XnRKli82GXrRHfWEQOR2cHB1jFil5Fl9pxicDNGHGOMt+JERlz
	HsYDGlkVE1Km82cSDq4Fjty6PBaNxiga4l+ULCXBKLidrmBkXniOgcSFeJhkip2r/LSA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86/HPET: use single, global, low-priority vector for broadcast IRQ
Message-Id: <E1vIX35-001DIT-33@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:55:31 +0000

commit 0761895527fe19733f31d6062b18b4cf9c2b3b94
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:00:14 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:00:14 2025 +0100

    x86/HPET: use single, global, low-priority vector for broadcast IRQ
    
    Using dynamically allocated / maintained vectors has several downsides:
    - possible nesting of IRQs due to the effects of IRQ migration,
    - reduction of vectors available for devices,
    - IRQs not moving as intended if there's shortage of vectors,
    - higher runtime overhead.
    
    As the vector also doesn't need to be of any priority (first and foremost
    it really shouldn't be of higher or same priority as the timer IRQ, as
    that raises TIMER_SOFTIRQ anyway), simply use the lowest one above the
    legacy range. The vector needs reserving early, until it is known whether
    it actually is used. If it isn't, it's made available for general use.
    
    With a fixed vector, less updating is now necessary in
    set_channel_irq_affinity(); in particular channels don't need transiently
    masking anymore, as the necessary update is now atomic. To fully leverage
    this, however, we want to stop using hpet_msi_set_affinity() there. With
    the transient masking dropped, we're no longer at risk of missing events.
    
    AMD interrupt remapping code so far didn't "return" a consistent MSI
    address when translating an MSI message. Clear respective fields there, to
    keep the related assertion in set_channel_irq_affinity() from triggering.
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 8ef32772b5483ef2d45aee5adc5ba485077c7fbb
    master date: 2025-10-27 15:51:42 +0100
---
 xen/arch/x86/hpet.c                      | 87 +++++++++++++++++++++++++-------
 xen/arch/x86/include/asm/hpet.h          |  1 +
 xen/arch/x86/include/asm/irq-vectors.h   |  3 ++
 xen/arch/x86/include/asm/irq.h           |  1 +
 xen/arch/x86/irq.c                       | 13 +++++
 xen/arch/x86/time.c                      |  2 +
 xen/drivers/passthrough/amd/iommu_intr.c |  7 +++
 7 files changed, 96 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 0c788b0f38..8838e89944 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -9,17 +9,19 @@
 #include <xen/timer.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <xen/cpuidle.h>
 #include <xen/irq.h>
 #include <xen/numa.h>
 #include <xen/param.h>
 #include <xen/sched.h>
 
 #include <asm/apic.h>
-#include <asm/fixmap.h>
 #include <asm/div64.h>
+#include <asm/fixmap.h>
+#include <asm/genapic.h>
 #include <asm/hpet.h>
+#include <asm/irq-vectors.h>
 #include <asm/msi.h>
-#include <xen/cpuidle.h>
 
 #define MAX_DELTA_NS MILLISECS(10*1000)
 #define MIN_DELTA_NS MICROSECS(20)
@@ -251,10 +253,9 @@ static void cf_check hpet_interrupt_handler(int irq, void *data)
     ch->event_handler(ch);
 }
 
-static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+static void hpet_enable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg |= HPET_TN_ENABLE;
@@ -262,6 +263,11 @@ static void cf_check hpet_msi_unmask(struct irq_desc *desc)
     ch->msi.msi_attrib.host_masked = 0;
 }
 
+static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+{
+    hpet_enable_channel(desc->action->dev_id);
+}
+
 static void cf_check hpet_msi_mask(struct irq_desc *desc)
 {
     u32 cfg;
@@ -299,15 +305,13 @@ static void cf_check hpet_msi_set_affinity(
     struct hpet_event_channel *ch = desc->action->dev_id;
     struct msi_msg msg = ch->msi.msg;
 
-    msg.dest32 = set_desc_affinity(desc, mask);
-    if ( msg.dest32 == BAD_APICID )
-        return;
+    /* This really is only for dump_irqs(). */
+    cpumask_copy(desc->arch.cpu_mask, mask);
 
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+    msg.dest32 = cpu_mask_to_apicid(mask);
     msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
     msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
-    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
+    if ( msg.dest32 != ch->msi.msg.dest32 )
         hpet_msi_write(ch, &msg);
 }
 
@@ -320,7 +324,7 @@ static hw_irq_controller hpet_msi_type = {
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
-    .ack        = ack_nonmaskable_msi_irq,
+    .ack        = irq_actor_none,
     .end        = end_nonmaskable_irq,
     .set_affinity   = hpet_msi_set_affinity,
 };
@@ -339,6 +343,16 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
     u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     irq_desc_t *desc = irq_to_desc(ch->msi.irq);
 
+    clear_irq_vector(ch->msi.irq);
+    /*
+     * Technically we don't want to bind the IRQ to any CPU yet, but we need to
+     * specify at least one online one here.  Use the BSP.
+     */
+    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, cpumask_of(0));
+    if ( ret )
+        return ret;
+    cpumask_setall(desc->affinity);
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         ch->msi.hpet_id = hpet_blockid;
@@ -468,19 +482,50 @@ static struct hpet_event_channel *hpet_get_channel(unsigned int cpu)
 static void set_channel_irq_affinity(struct hpet_event_channel *ch)
 {
     struct irq_desc *desc = irq_to_desc(ch->msi.irq);
+    struct msi_msg msg = ch->msi.msg;
 
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
-    hpet_msi_mask(desc);
-    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
-    hpet_msi_unmask(desc);
+
+    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
+
+    /*
+     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
+     * actual update below (either of the IRTE or of [just] message address;
+     * with interrupt remapping message address/data don't change) now being
+     * atomic, we can avoid masking the IRQ around the update.  As a result
+     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
+     * keeps setting the new deadline only afterwards).
+     */
+    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
+
     spin_unlock(&desc->lock);
 
-    spin_unlock(&ch->lock);
+    msg.dest32 = cpu_physical_id(ch->cpu);
+    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
+    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
+    if ( msg.dest32 != ch->msi.msg.dest32 )
+    {
+        ch->msi.msg = msg;
 
-    /* We may have missed an interrupt due to the temporary masking. */
-    if ( ch->event_handler && ch->next_event < NOW() )
-        ch->event_handler(ch);
+        if ( iommu_intremap != iommu_intremap_off )
+        {
+            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
+
+            ASSERT(rc <= 0);
+            if ( rc >= 0 )
+            {
+                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
+                ASSERT(msg.address_lo ==
+                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
+            }
+        }
+        else
+            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
+    }
+
+    hpet_enable_channel(ch);
+    spin_unlock(&ch->lock);
 }
 
 static void hpet_attach_channel(unsigned int cpu,
@@ -618,6 +663,12 @@ void __init hpet_broadcast_init(void)
         hpet_events->flags = HPET_EVT_LEGACY;
 }
 
+void __init hpet_broadcast_late_init(void)
+{
+    if ( !num_hpets_used )
+        free_lopriority_vector(HPET_BROADCAST_VECTOR);
+}
+
 void hpet_broadcast_resume(void)
 {
     u32 cfg;
diff --git a/xen/arch/x86/include/asm/hpet.h b/xen/arch/x86/include/asm/hpet.h
index c402c63168..73f34050da 100644
--- a/xen/arch/x86/include/asm/hpet.h
+++ b/xen/arch/x86/include/asm/hpet.h
@@ -90,6 +90,7 @@ void hpet_disable_legacy_replacement_mode(void);
  * rather than using the LAPIC timer. Used for Cx state entry.
  */
 void hpet_broadcast_init(void);
+void hpet_broadcast_late_init(void);
 void hpet_broadcast_resume(void);
 void cf_check hpet_broadcast_enter(void);
 void cf_check hpet_broadcast_exit(void);
diff --git a/xen/arch/x86/include/asm/irq-vectors.h b/xen/arch/x86/include/asm/irq-vectors.h
index f546aedd87..d75d1c5671 100644
--- a/xen/arch/x86/include/asm/irq-vectors.h
+++ b/xen/arch/x86/include/asm/irq-vectors.h
@@ -22,6 +22,9 @@
 #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
 #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
 
+/* HPET broadcast is statically allocated and wants to be low priority. */
+#define HPET_BROADCAST_VECTOR   (LAST_LEGACY_VECTOR + 1)
+
 #ifdef CONFIG_PV32
 #define HYPERCALL_VECTOR        0x82
 #endif
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
index 354868ba31..585acde0de 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -116,6 +116,7 @@ void cf_check call_function_interrupt(void);
 void cf_check irq_move_cleanup_interrupt(void);
 
 uint8_t alloc_hipriority_vector(void);
+void free_lopriority_vector(uint8_t vector);
 
 void set_direct_apic_vector(uint8_t vector, void (*handler)(void));
 void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void));
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index bde17c7fb8..b9bf4eb3c2 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -468,6 +468,12 @@ int __init init_irq_data(void)
           vector++ )
         __set_bit(vector, used_vectors);
 
+    /*
+     * Prevent the HPET broadcast vector from being used, until it is known
+     * whether it's actually needed.
+     */
+    __set_bit(HPET_BROADCAST_VECTOR, used_vectors);
+
     return 0;
 }
 
@@ -991,6 +997,13 @@ void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void))
     spin_unlock(&lock);
 }
 
+/* This could free any vectors, but is needed only for low-prio ones. */
+void __init free_lopriority_vector(uint8_t vector)
+{
+    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
+    clear_bit(vector, used_vectors);
+}
+
 static void cf_check irq_ratelimit_timer_fn(void *data)
 {
     struct irq_desc *desc, *tmp;
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 59129f419d..ece9ae0b34 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2675,6 +2675,8 @@ static int __init cf_check disable_pit_irq(void)
                "Force enable with 'cpuidle'.\n");
     }
 
+    hpet_broadcast_late_init();
+
     return 0;
 }
 __initcall(disable_pit_irq);
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index c0273059cb..b721133938 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ire(
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
         msg->data = data;
+        /*
+         * While the low address bits don't matter, "canonicalize" the address
+         * by zapping the bits that were transferred to the IRTE.  This way
+         * callers can check for there actually needing to be an update to
+         * wherever the address is put.
+         */
+        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
     }
 
     return rc;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:55:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158684.1487040 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX3H-00020u-CA; Mon, 10 Nov 2025 18:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158684.1487040; Mon, 10 Nov 2025 18:55:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX3H-00020k-9b; Mon, 10 Nov 2025 18:55:43 +0000
Received: by outflank-mailman (input) for mailman id 1158684;
 Mon, 10 Nov 2025 18:55:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX3G-00020d-2u
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:55:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3G-000BrY-0C
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3G-001DKu-06
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=vCcaiagENNazNq7lFDkhswDvSdQWMGyhvKKEd+jhmjY=; b=kCe9kmi1sTwtMyZV1ZrsHZJUsn
	P5lyw2AKtd7cWvuNj629oNWrhKjNjYTgUygSWh6/wZNyWsDNdw/PBYaLRKUy/1QI1B7VHhjQQgOWd
	BObbN5wvgwKOP3AvfZO2cM9BOcPg/alckZFQziKCKnHu3h/iqsmE64K6Qm80vkAtt5S4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] xen/pci: prevent infinite loop for faulty SR-IOV cards
Message-Id: <E1vIX3G-001DKu-06@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:55:42 +0000

commit ae148e3e91f5ce2ab2f8c79df072bf92a925ad3a
Author:     Frediano Ziglio <frediano.ziglio@cloud.com>
AuthorDate: Mon Nov 10 16:00:36 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:00:36 2025 +0100

    xen/pci: prevent infinite loop for faulty SR-IOV cards
    
    If a SR-IOV card presents an I/O space inside a BAR the
    code will continue to loop on the same card.
    This is due to the missing increment of the cycle variable.
    
    Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: f7091c0e1fd43877621d4eb2c1c4106797b3c551
    master date: 2025-10-27 15:52:20 +0100
---
 xen/drivers/passthrough/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index ab25840e20..7e071c71b3 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -752,6 +752,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                     printk(XENLOG_WARNING
                            "SR-IOV device %pp with vf BAR%u in IO space\n",
                            &pdev->sbdf, i);
+                    ++i;
                     continue;
                 }
                 ret = pci_size_mem_bar(pdev->sbdf, idx, NULL,
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:55:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158685.1487044 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX3R-00022y-DV; Mon, 10 Nov 2025 18:55:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158685.1487044; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX3R-00022q-Ax; Mon, 10 Nov 2025 18:55:53 +0000
Received: by outflank-mailman (input) for mailman id 1158685;
 Mon, 10 Nov 2025 18:55:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX3Q-00022i-5e
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:55:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3Q-000Brf-0S
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3Q-001DM1-0N
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:55:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=2NQM77WkViFovJkezfUAhnBBjRS71CX94cr6XfO6hP0=; b=M3hy23gW/F+MgGMzBiFKEDSWBh
	0IFZ63pHFlBKR/LREmly0+X4/a7G1MlkliYuQRsyGihCopMe8V0jA6AVmSWPxSbTWxjq4TTCOCNne
	L2fU+E2+9icm2OWuSO02AwlqogK9sWvu0luAa9DuzQwt3Nq/47aR3vKKBPaSIs4qOe1E=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
Message-Id: <E1vIX3Q-001DM1-0N@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:55:52 +0000

commit 550d82d40b6f299d472bedaa0f8a1d1dd2e3234e
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:01:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:01:08 2025 +0100

    x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
    
    With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
    the IRQ handler can't be invoked in a nested manner anymore, we can
    instead use a per-CPU variable. While we can't use scratch_cpumask in code
    invoked from IRQ handlers, simply amend that one with a HPET-special form.
    (Note that only one of the two IRQ handling functions can come into play
    at any one time.)
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 80c7c6716476b009188271350a9fc04fa763362e
    master date: 2025-10-29 09:02:53 +0100
---
 xen/arch/x86/hpet.c            | 8 ++++----
 xen/arch/x86/include/asm/smp.h | 1 +
 xen/arch/x86/smpboot.c         | 7 +++++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 8838e89944..fe714ca12c 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -196,7 +196,7 @@ static void evt_do_broadcast(cpumask_t *mask)
 
 static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
-    cpumask_t mask;
+    cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
     unsigned int cpu;
     unsigned long flags;
@@ -209,7 +209,7 @@ again:
     spin_unlock_irqrestore(&ch->lock, flags);
 
     next_event = STIME_MAX;
-    cpumask_clear(&mask);
+    cpumask_clear(scratch);
     now = NOW();
 
     /* find all expired events */
@@ -218,13 +218,13 @@ again:
         s_time_t deadline = ACCESS_ONCE(per_cpu(timer_deadline, cpu));
 
         if ( deadline <= now )
-            __cpumask_set_cpu(cpu, &mask);
+            __cpumask_set_cpu(cpu, scratch);
         else if ( deadline < next_event )
             next_event = deadline;
     }
 
     /* wakeup the cpus which have an expired event. */
-    evt_do_broadcast(&mask);
+    evt_do_broadcast(scratch);
 
     if ( next_event != STIME_MAX )
     {
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index c8c7960134..60eb4ac254 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -22,6 +22,7 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
+DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);
 DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 
 /*
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 348e0b9581..8742e30561 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -52,6 +52,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
 static cpumask_t scratch_cpu0mask;
 
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
+static cpumask_t hpet_scratch_cpu0mask;
+
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, send_ipi_cpumask);
 static cpumask_t send_ipi_cpu0mask;
 
@@ -989,6 +992,8 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
         FREE_CPUMASK_VAR(per_cpu(cpu_core_mask, cpu));
         if ( per_cpu(scratch_cpumask, cpu) != &scratch_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(scratch_cpumask, cpu));
+        if ( per_cpu(hpet_scratch_cpumask, cpu) != &hpet_scratch_cpu0mask )
+            FREE_CPUMASK_VAR(per_cpu(hpet_scratch_cpumask, cpu));
         if ( per_cpu(send_ipi_cpumask, cpu) != &send_ipi_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(send_ipi_cpumask, cpu));
     }
@@ -1119,6 +1124,7 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     if ( !(cond_zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) &&
            cond_zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(scratch_cpumask, cpu)) &&
+           cond_alloc_cpumask_var(&per_cpu(hpet_scratch_cpumask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(send_ipi_cpumask, cpu))) )
         goto out;
 
@@ -1246,6 +1252,7 @@ void __init smp_prepare_boot_cpu(void)
     cpumask_set_cpu(cpu, &cpu_present_map);
 #if NR_CPUS > 2 * BITS_PER_LONG
     per_cpu(scratch_cpumask, cpu) = &scratch_cpu0mask;
+    per_cpu(hpet_scratch_cpumask, cpu) = &hpet_scratch_cpu0mask;
     per_cpu(send_ipi_cpumask, cpu) = &send_ipi_cpu0mask;
 #endif
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:56:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158686.1487048 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX3b-000259-Eo; Mon, 10 Nov 2025 18:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158686.1487048; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX3b-000251-CI; Mon, 10 Nov 2025 18:56:03 +0000
Received: by outflank-mailman (input) for mailman id 1158686;
 Mon, 10 Nov 2025 18:56:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX3a-00024t-8b
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:56:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3a-000Brw-0l
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3a-001DNo-0e
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=MhmF3dDXrJhXeaZLP6ig+4tyv0AUAKzTMhNCQfDxNKc=; b=ElTKWwrEhjZDuMlesBc2GMYOtf
	f3nq9J8mLd2w76tpaq3yolyMdXJEG/MqFI79FNMKrmi7KAutnQ57oawD2VNEhDY6xus/ohNUZyWrG
	qSA2Cuy2xsAVZ4DQ88oA0T0UnC8nnGEs5POhPps9iJRcZvN5jr8qWLYC0+H/BtF2vEPA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
Message-Id: <E1vIX3a-001DNo-0e@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:56:02 +0000

commit f9a9c6c6ab9c37912e8c53e5082e33aab2fea4fd
Author:     Roger Pau Monné <roger.pau@citrix.com>
AuthorDate: Mon Nov 10 17:11:57 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 17:11:57 2025 +0100

    tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
    
    Otherwise it's not possible for device models to map IRQs of devices on
    segments different than 0.  Keep the same function prototype and pass the
    segment in the high 16bits of the bus parameter, like it's done for the
    hypercall itself.
    
    Amends: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
    master commit: b7838d12bd1adc12e7fa820fc124a251b8f4629e
    master date: 2025-10-21 16:56:19 +0100
---
 tools/include/xenctrl.h      | 2 +-
 tools/libs/ctrl/xc_physdev.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 4955981231..359ba700db 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1623,7 +1623,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base);
 
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 25e686d7b3..9fb78536ea 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -65,7 +65,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base)
 {
@@ -79,10 +79,10 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     }
     memset(&map, 0, sizeof(struct physdev_map_pirq));
     map.domid = domid;
-    map.type = MAP_PIRQ_TYPE_MSI;
+    map.type = MAP_PIRQ_TYPE_MSI_SEG;
     map.index = index;
     map.pirq = *pirq;
-    map.bus = bus;
+    map.bus = segbus;
     map.devfn = devfn;
     map.entry_nr = entry_nr;
     map.table_base = table_base;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:56:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:56:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158687.1487052 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX3l-00027e-Hb; Mon, 10 Nov 2025 18:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158687.1487052; Mon, 10 Nov 2025 18:56:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX3l-00027W-Ey; Mon, 10 Nov 2025 18:56:13 +0000
Received: by outflank-mailman (input) for mailman id 1158687;
 Mon, 10 Nov 2025 18:56:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX3k-00027Q-JJ
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:56:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3k-000Bs0-1q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3k-001DPQ-1k
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=FhFSbPmZiezpKYjkYdD4d3zvLi8SjzI58bDAHlt28iw=; b=KY/EinZ07LwPjxniG9E0+W31sK
	L9aMD1fHdTNi0w3/XxwHMDzYjl5J27M69Y3Qz1OMTynFUglmFiqkzAjn6c86PETF72QOHhBaPra6C
	0ZwT+t7oSKDX2yKxDR/f8blCuhfrEgiXe2ZIYSJrP/3zE/ocXo/ry7dbpAR7nCGx7ON8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] automation: disable terminal echo in xilinx test scripts
Message-Id: <E1vIX3k-001DPQ-1k@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:56:12 +0000

commit 8d7397f38b613bf0b9bd179c4392d24d9585a1a7
Author:     Victor Lira <victorm.lira@amd.com>
AuthorDate: Tue Jun 17 09:44:49 2025 -0700
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 18:46:56 2025 +0000

    automation: disable terminal echo in xilinx test scripts
    
    The default terminal settings in Linux will enable echo which interferes with
    these tests. Set the value in the script to avoid failure caused by a settings
    reset.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    (cherry picked from commit 2f73ef4bd7222d120e593dccb13b5e79b642af56)
---
 automation/scripts/xilinx-smoke-dom0-x86_64.sh    | 2 +-
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index 468143376d..e2438ca3aa 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -151,7 +151,7 @@ sleep 5
 sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
 sleep 5
 set +e
-stty -F ${SERIAL_DEV} 57600
+stty -F ${SERIAL_DEV} 57600 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${PASS_MSG}"
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index 3c89b8694a..6498c4d2be 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -128,7 +128,7 @@ cd $START
 # connect to serial
 SERIAL_DEV="/dev/serial/zynq"
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 115200 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${passed}"
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:56:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:56:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158688.1487056 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX3w-00029v-It; Mon, 10 Nov 2025 18:56:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158688.1487056; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX3w-00029n-GJ; Mon, 10 Nov 2025 18:56:24 +0000
Received: by outflank-mailman (input) for mailman id 1158688;
 Mon, 10 Nov 2025 18:56:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX3u-00029d-S3
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:56:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3u-000BsN-2i
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX3u-001DRP-2b
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=1Pd/HV9UzGAnbvbSYmtNh2UbGsPHj6FBEiHmoSgpgkI=; b=eEl2M4TwIzQijB0/JUXdQgmRtL
	3gRCgfCWBz9NYjDG84mUwi0eN/hGuv7urD7pOBdsLP0RY32WMAHo8KNsC5ONBwiXZrQp78zotS4Bv
	/zSLkoxGLmo7J036Gt/9wBcfsZiBKAdbaTvdA3MjKb7ejC39+8vjJSdgGN2mGfaZtci0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] automation: disable terminal echo in xilinx test scripts
Message-Id: <E1vIX3u-001DRP-2b@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:56:22 +0000

commit 4e9552bd16db2345d807ad7009ecec77aefde654
Author:     Victor Lira <victorm.lira@amd.com>
AuthorDate: Tue Jun 17 09:44:49 2025 -0700
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 18:46:55 2025 +0000

    automation: disable terminal echo in xilinx test scripts
    
    The default terminal settings in Linux will enable echo which interferes with
    these tests. Set the value in the script to avoid failure caused by a settings
    reset.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    (cherry picked from commit 2f73ef4bd7222d120e593dccb13b5e79b642af56)
---
 automation/scripts/xilinx-smoke-dom0-x86_64.sh    | 2 +-
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index 03213da3f1..ae0bdcb877 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -124,7 +124,7 @@ sleep 5
 sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
 sleep 5
 set +e
-stty -F ${SERIAL_DEV} 57600
+stty -F ${SERIAL_DEV} 57600 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${PASS_MSG}"
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index 3c89b8694a..6498c4d2be 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -128,7 +128,7 @@ cd $START
 # connect to serial
 SERIAL_DEV="/dev/serial/zynq"
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 115200 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${passed}"
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 18:56:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 18:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158689.1487059 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIX46-0002CG-K8; Mon, 10 Nov 2025 18:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158689.1487059; Mon, 10 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vIX46-0002C8-Hc; Mon, 10 Nov 2025 18:56:34 +0000
Received: by outflank-mailman (input) for mailman id 1158689;
 Mon, 10 Nov 2025 18:56:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIX45-0002C0-41
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 18:56:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX45-000BsS-0I
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:33 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIX45-001DSs-0C
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 18:56:33 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ElqDYPUg3RVUKM3IpvPGg1x13HWu3XXcvpxkaCkjnxs=; b=VmRmy6nfvXsm/OD8G6u2/PpoFP
	RfplBpASIUiyT7GvuaEwWYM/jg8cWwb4nCuXuSKLpfyuegXvHSqqyZ4ZbbOPGDtmXcUlodhJwQwLT
	A2heZykshN+i4mhygl3W8U9CdJ1wYVtwLHmNkYbrAzEFNeLaexDyTy6lHSzQfS6//9E0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.18] automation: disable terminal echo in xilinx test scripts
Message-Id: <E1vIX45-001DSs-0C@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 18:56:33 +0000

commit d15515f5239be4c837f8797576978fb36f50a674
Author:     Victor Lira <victorm.lira@amd.com>
AuthorDate: Tue Jun 17 09:44:49 2025 -0700
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 18:20:16 2025 +0000

    automation: disable terminal echo in xilinx test scripts
    
    The default terminal settings in Linux will enable echo which interferes with
    these tests. Set the value in the script to avoid failure caused by a settings
    reset.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    (cherry picked from commit 2f73ef4bd7222d120e593dccb13b5e79b642af56)
---
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index d4bf19855a..240193d8d0 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -136,7 +136,7 @@ cd $START
 # connect to serial
 SERIAL_DEV="/dev/serial/zynq"
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 115200 -echo
 timeout -k 1 120 nohup sh -c "cat ${SERIAL_DEV} | tee smoke.serial"
 
 # stop the board
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.18


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 19:33:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 19:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158691.1487067 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXdP-0006iQ-3P; Mon, 10 Nov 2025 19:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158691.1487067; Mon, 10 Nov 2025 19:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vIXdP-0006iI-0q; Mon, 10 Nov 2025 19:33:03 +0000
Received: by outflank-mailman (input) for mailman id 1158691;
 Mon, 10 Nov 2025 19:33:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIXdN-0006iC-TD
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 19:33:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXdN-000Cby-2U
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXdN-001HxB-2B
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=S8bONeVgjkNJTM3wCI7kFyD4pzXhzdi2f8+S97qN9dk=; b=MVYTYKos7MGtW0Fxya9Z/X0OXa
	195QpsgIQE709Y/FCrbBUnFnHDoAsBL1rjXo14RcYataxr1RtGEFpN1XwUE92wMgKIlZ72/VRsZ7F
	YFhPPUW2ftssEpWiff+viwySFAjUFyxQhkeicmY7A0MR/EYfULKdYYzhefy3dA+m8vQo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] symbols: discard stray file symbols
Message-Id: <E1vIXdN-001HxB-2B@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 19:33:01 +0000

commit ed86adbd7e2313cf9ae08573515f52475f4c0972
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:02:39 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:02:39 2025 +0100

    symbols: discard stray file symbols
    
    By observation GNU ld 2.25 may emit file symbols for .data.read_mostly
    when linking xen.efi. Due to the nature of file symbols in COFF symbol
    tables (see the code comment) the symbols_offsets[] entries for such
    symbols would cause assembler warnings regarding value truncation. Of
    course the resulting entries would also be both meaningless and useless.
    Add a heuristic to get rid of them, really taking effect only when
    --all-symbols is specified (otherwise these symbols are discarded
    anyway).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 2f21ce1a6ad57a1a56840ab49c32d096160be595
    master date: 2025-10-21 14:10:46 +0200
---
 xen/tools/symbols.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 67560605f2..e532709ba7 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -213,6 +213,16 @@ static int symbol_valid(struct sym_entry *s)
 	if (strstr((char *)s->sym + offset, "_compiled."))
 		return 0;
 
+	/* At least GNU ld 2.25 may emit bogus file symbols referencing a
+	 * section name while linking xen.efi. In COFF symbol tables the
+	 * "value" of file symbols is a link (symbol table index) to the next
+	 * file symbol. Since file (and other) symbols (can) come with one
+	 * (or in principle more) auxiliary symbol table entries, the value in
+	 * this heuristic is bounded to twice the number of symbols we have
+	 * found. See also read_symbol() as to the '?' checked for here. */
+	if (s->sym[0] == '?' && s->sym[1] == '.' && s->addr < table_cnt * 2)
+		return 0;
+
 	return 1;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 19:33:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 19:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158692.1487072 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXdZ-0006jy-4r; Mon, 10 Nov 2025 19:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158692.1487072; Mon, 10 Nov 2025 19:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXdZ-0006jq-2C; Mon, 10 Nov 2025 19:33:13 +0000
Received: by outflank-mailman (input) for mailman id 1158692;
 Mon, 10 Nov 2025 19:33:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIXdX-0006jk-TH
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 19:33:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXdX-000Cc6-2p
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXdX-001Hxh-2f
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=fGlO+N7mPYiDuUSvFafdbm9OlObyoonNtx8NpJl2N+Y=; b=DAFIqahrVS/kRNAKyyjmd7tAlz
	KVl5fjw9JVdog1tjF5xqh12N+t+2H9buscKn0Otnn8a9SvF/JGEmPSBxZVU5/RcYlpi1nAiLgA3dF
	JbtgyKInRRCgas1jX3g+Z+tTOwwoUVK/oRPEuNL/85dBjnXSj5kDzoNTD+Sfuef1lZ+A=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] AMD/IOMMU: unshare IRQ .ack and .disable handlers
Message-Id: <E1vIXdX-001Hxh-2f@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 19:33:11 +0000

commit de92f0973ca3a24bb28121d7f27803701c6e82e2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:02:58 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:02:58 2025 +0100

    AMD/IOMMU: unshare IRQ .ack and .disable handlers
    
    A .disable handler can't typically be re-used for .ack: The latter needs
    to deal with IRQ migration, while the former shouldn't. Furthermore
    invoking just irq_complete_move() isn't enough; one of
    move_{native,masked}_irq() also needs invoking.
    
    Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
    Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: aed6278b2a7faac1bacce2d22aad29bc463fa0c0
    master date: 2025-10-21 14:11:45 +0200
---
 xen/drivers/passthrough/amd/iommu_init.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index d899f58a38..cc1493f7db 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -429,8 +429,6 @@ static void cf_check iommu_msi_mask(struct irq_desc *desc)
     unsigned long flags;
     struct amd_iommu *iommu = desc->action->dev_id;
 
-    irq_complete_move(desc);
-
     spin_lock_irqsave(&iommu->lock, flags);
     amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
     spin_unlock_irqrestore(&iommu->lock, flags);
@@ -443,6 +441,13 @@ static unsigned int cf_check iommu_msi_startup(struct irq_desc *desc)
     return 0;
 }
 
+static void cf_check iommu_msi_ack(struct irq_desc *desc)
+{
+    irq_complete_move(desc);
+    iommu_msi_mask(desc);
+    move_masked_irq(desc);
+}
+
 static void cf_check iommu_msi_end(struct irq_desc *desc, u8 vector)
 {
     iommu_msi_unmask(desc);
@@ -456,7 +461,7 @@ static hw_irq_controller iommu_msi_type = {
     .shutdown = iommu_msi_mask,
     .enable = iommu_msi_unmask,
     .disable = iommu_msi_mask,
-    .ack = iommu_msi_mask,
+    .ack = iommu_msi_ack,
     .end = iommu_msi_end,
     .set_affinity = set_msi_affinity,
 };
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 19:33:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 19:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158693.1487076 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXdj-0006lz-6C; Mon, 10 Nov 2025 19:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158693.1487076; Mon, 10 Nov 2025 19:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vIXdj-0006ls-3Y; Mon, 10 Nov 2025 19:33:23 +0000
Received: by outflank-mailman (input) for mailman id 1158693;
 Mon, 10 Nov 2025 19:33:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIXdi-0006le-00
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 19:33:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXdh-000CcS-38
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXdh-001HyG-30
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=TbzNRFPNxDQPiBfV0tagB+Y3zxFAgFlONlyWUs7Gy10=; b=OP1oobFoBOaBWWAuI4TRI4eOns
	mHBq3idXs92KG9eUMgyqeBZV03e+HZojek10Q1/9LYqnb2fdUhm4mwxbTpl7rTBsG04+rvQAHAsIl
	KRWbJaldx7fOq9OJHnnURZGeH8BgSJcWwdOznNQOnayM43/6GH5ACtziV0X6MMtmfrmI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86/HPET: deal with unused channels
Message-Id: <E1vIXdh-001HyG-30@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 19:33:21 +0000

commit 6a4add3bd96e944871b7a071a9623a1053a2b6a2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:03:15 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:03:15 2025 +0100

    x86/HPET: deal with unused channels
    
    Keeping channels enabled when they're unused is only causing problems:
    Extra interrupts harm performance, and extra nested interrupts could even
    have caused worse problems. However, on all Intel hardware I looked at
    closely, a 0->1 transition of the enable bit causes an immediate IRQ.
    Hence disabling channels isn't a good idea there. Set a "long" timeout
    instead.
    
    Along with that also "clear" the channel's "next event", for it to be
    properly written by whatever the next user is going to want (possibly
    avoiding too early an IRQ).
    
    Further, along the same lines, don't enable channels early when starting
    up an IRQ. This doesn't need to happen earlier than from
    set_channel_irq_affinity() (once a channel goes into use the very first
    time). This eliminates a single instance of
    
    (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
    (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
    
    during boot. (Why exactly there's only one instance, when we use multiple
    counters and hence multiple IRQs, I can't tell. My understanding would be
    that this was due to __hpet_setup_msi_irq() being called only after
    request_irq() [and hence the .startup handler], yet that should have
    affected all channels.)
    
    Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 24f608dc909ed6b6fefb6c35b6de39e851bba6eb
    master date: 2025-10-27 15:51:03 +0100
---
 xen/arch/x86/hpet.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 9727bcd163..18f302bb40 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -290,12 +290,6 @@ static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
     return 0;
 }
 
-static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
-{
-    hpet_msi_unmask(desc);
-    return 0;
-}
-
 #define hpet_msi_shutdown hpet_msi_mask
 
 static void cf_check hpet_msi_set_affinity(
@@ -321,7 +315,7 @@ static void cf_check hpet_msi_set_affinity(
  */
 static hw_irq_controller hpet_msi_type = {
     .typename   = "HPET-MSI",
-    .startup    = hpet_msi_startup,
+    .startup    = irq_startup_none,
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
@@ -521,6 +515,8 @@ static void hpet_detach_channel(unsigned int cpu,
         spin_unlock_irq(&ch->lock);
     else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
     {
+        hpet_write32(hpet_read32(HPET_COUNTER), HPET_Tn_CMP(ch->idx));
+        ch->next_event = STIME_MAX;
         ch->cpu = -1;
         clear_bit(HPET_EVT_USED_BIT, &ch->flags);
         spin_unlock_irq(&ch->lock);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 19:33:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 19:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158694.1487080 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXdt-0006oN-7l; Mon, 10 Nov 2025 19:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158694.1487080; Mon, 10 Nov 2025 19: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-changelog-bounces@lists.xenproject.org>)
	id 1vIXdt-0006oF-57; Mon, 10 Nov 2025 19:33:33 +0000
Received: by outflank-mailman (input) for mailman id 1158694;
 Mon, 10 Nov 2025 19:33:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIXds-0006o7-3O
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 19:33:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXds-000CeV-0E
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXds-001HzE-06
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=KtFSJbfRRoZedcoQekydCLBCs8yhZ1XoXTQaTkeHo6I=; b=qaK8qwkazAtegV5FtbSfCP++hN
	v1iRqJwKH3dQNhC3CDVKOdQHCGZoGt+gjzZQXssiXxm9tZASnmdKzUi1uMZ2qJmgY1HYsxpb48xDz
	0Gj/7yX8soF88yuhgyQfpA0xnxbyQEbtfNoQ3nrkt3RyIq+aKp1Ly1sPZlvUnB+jy5z0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86/HPET: use single, global, low-priority vector for broadcast IRQ
Message-Id: <E1vIXds-001HzE-06@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 19:33:32 +0000

commit 1991582925f136e5a433236b8b55f04db7ae80f2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:03:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:03:41 2025 +0100

    x86/HPET: use single, global, low-priority vector for broadcast IRQ
    
    Using dynamically allocated / maintained vectors has several downsides:
    - possible nesting of IRQs due to the effects of IRQ migration,
    - reduction of vectors available for devices,
    - IRQs not moving as intended if there's shortage of vectors,
    - higher runtime overhead.
    
    As the vector also doesn't need to be of any priority (first and foremost
    it really shouldn't be of higher or same priority as the timer IRQ, as
    that raises TIMER_SOFTIRQ anyway), simply use the lowest one above the
    legacy range. The vector needs reserving early, until it is known whether
    it actually is used. If it isn't, it's made available for general use.
    
    With a fixed vector, less updating is now necessary in
    set_channel_irq_affinity(); in particular channels don't need transiently
    masking anymore, as the necessary update is now atomic. To fully leverage
    this, however, we want to stop using hpet_msi_set_affinity() there. With
    the transient masking dropped, we're no longer at risk of missing events.
    
    AMD interrupt remapping code so far didn't "return" a consistent MSI
    address when translating an MSI message. Clear respective fields there, to
    keep the related assertion in set_channel_irq_affinity() from triggering.
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 8ef32772b5483ef2d45aee5adc5ba485077c7fbb
    master date: 2025-10-27 15:51:42 +0100
---
 xen/arch/x86/hpet.c                                | 84 +++++++++++++++++-----
 xen/arch/x86/include/asm/hpet.h                    |  1 +
 xen/arch/x86/include/asm/irq.h                     |  1 +
 .../x86/include/asm/mach-default/irq_vectors.h     |  3 +
 xen/arch/x86/irq.c                                 | 13 ++++
 xen/arch/x86/time.c                                |  2 +
 xen/drivers/passthrough/amd/iommu_intr.c           |  7 ++
 7 files changed, 94 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 18f302bb40..9f911404f6 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -9,6 +9,7 @@
 #include <xen/timer.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <xen/cpuidle.h>
 #include <xen/irq.h>
 #include <xen/numa.h>
 #include <xen/param.h>
@@ -17,8 +18,8 @@
 #include <asm/div64.h>
 #include <asm/hpet.h>
 #include <asm/msi.h>
+#include <irq_vectors.h>
 #include <mach_apic.h>
-#include <xen/cpuidle.h>
 
 #define MAX_DELTA_NS MILLISECS(10*1000)
 #define MIN_DELTA_NS MICROSECS(20)
@@ -250,10 +251,9 @@ static void cf_check hpet_interrupt_handler(int irq, void *data)
     ch->event_handler(ch);
 }
 
-static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+static void hpet_enable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg |= HPET_TN_ENABLE;
@@ -261,6 +261,11 @@ static void cf_check hpet_msi_unmask(struct irq_desc *desc)
     ch->msi.msi_attrib.host_masked = 0;
 }
 
+static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+{
+    hpet_enable_channel(desc->action->dev_id);
+}
+
 static void cf_check hpet_msi_mask(struct irq_desc *desc)
 {
     u32 cfg;
@@ -298,15 +303,13 @@ static void cf_check hpet_msi_set_affinity(
     struct hpet_event_channel *ch = desc->action->dev_id;
     struct msi_msg msg = ch->msi.msg;
 
-    msg.dest32 = set_desc_affinity(desc, mask);
-    if ( msg.dest32 == BAD_APICID )
-        return;
+    /* This really is only for dump_irqs(). */
+    cpumask_copy(desc->arch.cpu_mask, mask);
 
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+    msg.dest32 = cpu_mask_to_apicid(mask);
     msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
     msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
-    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
+    if ( msg.dest32 != ch->msi.msg.dest32 )
         hpet_msi_write(ch, &msg);
 }
 
@@ -319,7 +322,7 @@ static hw_irq_controller hpet_msi_type = {
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
-    .ack        = ack_nonmaskable_msi_irq,
+    .ack        = irq_actor_none,
     .end        = end_nonmaskable_irq,
     .set_affinity   = hpet_msi_set_affinity,
 };
@@ -338,6 +341,16 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
     u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     irq_desc_t *desc = irq_to_desc(ch->msi.irq);
 
+    clear_irq_vector(ch->msi.irq);
+    /*
+     * Technically we don't want to bind the IRQ to any CPU yet, but we need to
+     * specify at least one online one here.  Use the BSP.
+     */
+    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, cpumask_of(0));
+    if ( ret )
+        return ret;
+    cpumask_setall(desc->affinity);
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         ch->msi.hpet_id = hpet_blockid;
@@ -467,19 +480,50 @@ static struct hpet_event_channel *hpet_get_channel(unsigned int cpu)
 static void set_channel_irq_affinity(struct hpet_event_channel *ch)
 {
     struct irq_desc *desc = irq_to_desc(ch->msi.irq);
+    struct msi_msg msg = ch->msi.msg;
 
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
-    hpet_msi_mask(desc);
-    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
-    hpet_msi_unmask(desc);
+
+    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
+
+    /*
+     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
+     * actual update below (either of the IRTE or of [just] message address;
+     * with interrupt remapping message address/data don't change) now being
+     * atomic, we can avoid masking the IRQ around the update.  As a result
+     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
+     * keeps setting the new deadline only afterwards).
+     */
+    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
+
     spin_unlock(&desc->lock);
 
-    spin_unlock(&ch->lock);
+    msg.dest32 = cpu_physical_id(ch->cpu);
+    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
+    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
+    if ( msg.dest32 != ch->msi.msg.dest32 )
+    {
+        ch->msi.msg = msg;
+
+        if ( iommu_intremap != iommu_intremap_off )
+        {
+            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
+
+            ASSERT(rc <= 0);
+            if ( rc >= 0 )
+            {
+                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
+                ASSERT(msg.address_lo ==
+                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
+            }
+        }
+        else
+            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
+    }
 
-    /* We may have missed an interrupt due to the temporary masking. */
-    if ( ch->event_handler && ch->next_event < NOW() )
-        ch->event_handler(ch);
+    hpet_enable_channel(ch);
+    spin_unlock(&ch->lock);
 }
 
 static void hpet_attach_channel(unsigned int cpu,
@@ -617,6 +661,12 @@ void __init hpet_broadcast_init(void)
         hpet_events->flags = HPET_EVT_LEGACY;
 }
 
+void __init hpet_broadcast_late_init(void)
+{
+    if ( !num_hpets_used )
+        free_lopriority_vector(HPET_BROADCAST_VECTOR);
+}
+
 void hpet_broadcast_resume(void)
 {
     u32 cfg;
diff --git a/xen/arch/x86/include/asm/hpet.h b/xen/arch/x86/include/asm/hpet.h
index c402c63168..73f34050da 100644
--- a/xen/arch/x86/include/asm/hpet.h
+++ b/xen/arch/x86/include/asm/hpet.h
@@ -90,6 +90,7 @@ void hpet_disable_legacy_replacement_mode(void);
  * rather than using the LAPIC timer. Used for Cx state entry.
  */
 void hpet_broadcast_init(void);
+void hpet_broadcast_late_init(void);
 void hpet_broadcast_resume(void);
 void cf_check hpet_broadcast_enter(void);
 void cf_check hpet_broadcast_exit(void);
diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
index 5f445299be..76f854fd76 100644
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -116,6 +116,7 @@ void cf_check call_function_interrupt(void);
 void cf_check irq_move_cleanup_interrupt(void);
 
 uint8_t alloc_hipriority_vector(void);
+void free_lopriority_vector(uint8_t vector);
 
 void set_direct_apic_vector(uint8_t vector, void (*handler)(void));
 void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void));
diff --git a/xen/arch/x86/include/asm/mach-default/irq_vectors.h b/xen/arch/x86/include/asm/mach-default/irq_vectors.h
index f546aedd87..d75d1c5671 100644
--- a/xen/arch/x86/include/asm/mach-default/irq_vectors.h
+++ b/xen/arch/x86/include/asm/mach-default/irq_vectors.h
@@ -22,6 +22,9 @@
 #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
 #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
 
+/* HPET broadcast is statically allocated and wants to be low priority. */
+#define HPET_BROADCAST_VECTOR   (LAST_LEGACY_VECTOR + 1)
+
 #ifdef CONFIG_PV32
 #define HYPERCALL_VECTOR        0x82
 #endif
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 296a3cd08b..03b7347aff 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -464,6 +464,12 @@ int __init init_irq_data(void)
           vector++ )
         __set_bit(vector, used_vectors);
 
+    /*
+     * Prevent the HPET broadcast vector from being used, until it is known
+     * whether it's actually needed.
+     */
+    __set_bit(HPET_BROADCAST_VECTOR, used_vectors);
+
     return 0;
 }
 
@@ -987,6 +993,13 @@ void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void))
     spin_unlock(&lock);
 }
 
+/* This could free any vectors, but is needed only for low-prio ones. */
+void __init free_lopriority_vector(uint8_t vector)
+{
+    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
+    clear_bit(vector, used_vectors);
+}
+
 static void cf_check irq_ratelimit_timer_fn(void *data)
 {
     struct irq_desc *desc, *tmp;
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index a97d784841..a12e3b28a8 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2546,6 +2546,8 @@ static int __init cf_check disable_pit_irq(void)
                "Force enable with 'cpuidle'.\n");
     }
 
+    hpet_broadcast_late_init();
+
     return 0;
 }
 __initcall(disable_pit_irq);
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index c0273059cb..b721133938 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ire(
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
         msg->data = data;
+        /*
+         * While the low address bits don't matter, "canonicalize" the address
+         * by zapping the bits that were transferred to the IRTE.  This way
+         * callers can check for there actually needing to be an update to
+         * wherever the address is put.
+         */
+        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
     }
 
     return rc;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 19:33:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 19:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158695.1487084 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXe3-0006qq-AH; Mon, 10 Nov 2025 19:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158695.1487084; Mon, 10 Nov 2025 19:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXe3-0006qi-7m; Mon, 10 Nov 2025 19:33:43 +0000
Received: by outflank-mailman (input) for mailman id 1158695;
 Mon, 10 Nov 2025 19:33:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIXe2-0006qc-6R
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 19:33:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXe2-000Cee-0Y
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXe2-001I27-0Q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=l5GxT8LEgZr2MRNDrRnYh/NXU3aOesFo1JZ5okiDVu0=; b=euKdgrzg4qNn1hPD3WQD0lVROw
	TkUJ7c3Y/3HRJRMUFxBGaDZ+e4l240u4Ob/L9QpCYHMBOsIZmyBG5KZ4+oWn2Yc1jtso4uTM4L2ty
	xBYFOrrmm6KU4ldbt2p1alizlTtiD+kq9tEU2RfHEiaw1Gba12KjPHG+kD0d9j4EwUr8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] xen/pci: prevent infinite loop for faulty SR-IOV cards
Message-Id: <E1vIXe2-001I27-0Q@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 19:33:42 +0000

commit 54d8d847f49f0426a700baa0e05e8a2dc8214fbd
Author:     Frediano Ziglio <frediano.ziglio@cloud.com>
AuthorDate: Mon Nov 10 16:04:03 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:04:03 2025 +0100

    xen/pci: prevent infinite loop for faulty SR-IOV cards
    
    If a SR-IOV card presents an I/O space inside a BAR the
    code will continue to loop on the same card.
    This is due to the missing increment of the cycle variable.
    
    Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: f7091c0e1fd43877621d4eb2c1c4106797b3c551
    master date: 2025-10-27 15:52:20 +0100
---
 xen/drivers/passthrough/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 4d06e5d3f9..80e06c0a78 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -766,6 +766,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                     printk(XENLOG_WARNING
                            "SR-IOV device %pp with vf BAR%u in IO space\n",
                            &pdev->sbdf, i);
+                    ++i;
                     continue;
                 }
                 ret = pci_size_mem_bar(pdev->sbdf, idx, NULL,
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 19:33:54 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 19:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158696.1487088 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXeE-0006sl-Bj; Mon, 10 Nov 2025 19:33:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158696.1487088; Mon, 10 Nov 2025 19:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vIXeE-0006sd-99; Mon, 10 Nov 2025 19:33:54 +0000
Received: by outflank-mailman (input) for mailman id 1158696;
 Mon, 10 Nov 2025 19:33:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIXeC-0006sR-9L
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 19:33:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXeC-000Cel-0q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXeC-001I2o-0j
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:33:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=mGI+E4knHw+xlec24EGwGQDl7bbgORvCHYeHrg8iQO0=; b=gArXeZrKQk1nTetQ7JVQ1HVHs1
	JEQfyEf5rN0fXm0eT5+GFlsenHWbAe57N5fZKcak81041tp7OwSpbiKJkS26zUAqN15qCw9CrhNMD
	9nrsoLM0F/i39O6mlhSaV6zsQTGUr2v0l+Tj4Hs8EB/I3ewB4uLwG1UoI/4Wvphl5WpQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
Message-Id: <E1vIXeC-001I2o-0j@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 19:33:52 +0000

commit f17288c3e0c3266e15d72280c340b4b2bee626c5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 10 16:04:46 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 16:04:46 2025 +0100

    x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t
    
    With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
    the IRQ handler can't be invoked in a nested manner anymore, we can
    instead use a per-CPU variable. While we can't use scratch_cpumask in code
    invoked from IRQ handlers, simply amend that one with a HPET-special form.
    (Note that only one of the two IRQ handling functions can come into play
    at any one time.)
    
    Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 80c7c6716476b009188271350a9fc04fa763362e
    master date: 2025-10-29 09:02:53 +0100
---
 xen/arch/x86/hpet.c            | 8 ++++----
 xen/arch/x86/include/asm/smp.h | 1 +
 xen/arch/x86/smpboot.c         | 7 +++++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 9f911404f6..d8e921c259 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -194,7 +194,7 @@ static void evt_do_broadcast(cpumask_t *mask)
 
 static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
-    cpumask_t mask;
+    cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
     unsigned int cpu;
     unsigned long flags;
@@ -207,7 +207,7 @@ again:
     spin_unlock_irqrestore(&ch->lock, flags);
 
     next_event = STIME_MAX;
-    cpumask_clear(&mask);
+    cpumask_clear(scratch);
     now = NOW();
 
     /* find all expired events */
@@ -216,13 +216,13 @@ again:
         s_time_t deadline = ACCESS_ONCE(per_cpu(timer_deadline, cpu));
 
         if ( deadline <= now )
-            __cpumask_set_cpu(cpu, &mask);
+            __cpumask_set_cpu(cpu, scratch);
         else if ( deadline < next_event )
             next_event = deadline;
     }
 
     /* wakeup the cpus which have an expired event. */
-    evt_do_broadcast(&mask);
+    evt_do_broadcast(scratch);
 
     if ( next_event != STIME_MAX )
     {
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index c8c7960134..60eb4ac254 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -22,6 +22,7 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
+DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);
 DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 
 /*
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index e43913a62c..df46150f2f 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -49,6 +49,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
 static cpumask_t scratch_cpu0mask;
 
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
+static cpumask_t hpet_scratch_cpu0mask;
+
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, send_ipi_cpumask);
 static cpumask_t send_ipi_cpu0mask;
 
@@ -986,6 +989,8 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
         FREE_CPUMASK_VAR(per_cpu(cpu_core_mask, cpu));
         if ( per_cpu(scratch_cpumask, cpu) != &scratch_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(scratch_cpumask, cpu));
+        if ( per_cpu(hpet_scratch_cpumask, cpu) != &hpet_scratch_cpu0mask )
+            FREE_CPUMASK_VAR(per_cpu(hpet_scratch_cpumask, cpu));
         if ( per_cpu(send_ipi_cpumask, cpu) != &send_ipi_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(send_ipi_cpumask, cpu));
     }
@@ -1116,6 +1121,7 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     if ( !(cond_zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) &&
            cond_zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(scratch_cpumask, cpu)) &&
+           cond_alloc_cpumask_var(&per_cpu(hpet_scratch_cpumask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(send_ipi_cpumask, cpu))) )
         goto out;
 
@@ -1243,6 +1249,7 @@ void __init smp_prepare_boot_cpu(void)
     cpumask_set_cpu(cpu, &cpu_present_map);
 #if NR_CPUS > 2 * BITS_PER_LONG
     per_cpu(scratch_cpumask, cpu) = &scratch_cpu0mask;
+    per_cpu(hpet_scratch_cpumask, cpu) = &hpet_scratch_cpu0mask;
     per_cpu(send_ipi_cpumask, cpu) = &send_ipi_cpu0mask;
 #endif
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 19:34:04 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 19:34:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158697.1487091 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXeO-0006uq-D2; Mon, 10 Nov 2025 19:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158697.1487091; Mon, 10 Nov 2025 19:34:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIXeO-0006ui-AU; Mon, 10 Nov 2025 19:34:04 +0000
Received: by outflank-mailman (input) for mailman id 1158697;
 Mon, 10 Nov 2025 19:34:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIXeM-0006uX-C4
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 19:34:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXeM-000Cf5-17
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:34:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIXeM-001I4C-11
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 19:34:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=IldteYoHRq39j5X/pYgvDlusVrdPpuWl6m8QD0+Edkg=; b=0nUXkHfgO+1+t9Ln1B4icinNrP
	DLRZSJjZgCKJZiHPsBEaRCBLVttAntvCLMd1xtHcS6v/8CJ59FR+ywk0q87/PqHJISWMiPYbXG+iV
	YlwntylpTXYiHSvSOIa4FT2ZQGvtQwlVG5Aqa+pMCyGKbnFboY6TvUk50kcckpxq9bkg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
Message-Id: <E1vIXeM-001I4C-11@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 19:34:02 +0000

commit 734ddde8961d0a8145c563f9368c561da837f803
Author:     Roger Pau Monné <roger.pau@citrix.com>
AuthorDate: Mon Nov 10 17:12:11 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 10 17:12:11 2025 +0100

    tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
    
    Otherwise it's not possible for device models to map IRQs of devices on
    segments different than 0.  Keep the same function prototype and pass the
    segment in the high 16bits of the bus parameter, like it's done for the
    hypercall itself.
    
    Amends: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
    master commit: b7838d12bd1adc12e7fa820fc124a251b8f4629e
    master date: 2025-10-21 16:56:19 +0100
---
 tools/include/xenctrl.h      | 2 +-
 tools/libs/ctrl/xc_physdev.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 9ceca0cffc..cebc03d4e0 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1633,7 +1633,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base);
 
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 460a8e779c..d01949454d 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -65,7 +65,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base)
 {
@@ -79,10 +79,10 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     }
     memset(&map, 0, sizeof(struct physdev_map_pirq));
     map.domid = domid;
-    map.type = MAP_PIRQ_TYPE_MSI;
+    map.type = MAP_PIRQ_TYPE_MSI_SEG;
     map.index = index;
     map.pirq = *pirq;
-    map.bus = bus;
+    map.bus = segbus;
     map.devfn = devfn;
     map.entry_nr = entry_nr;
     map.table_base = table_base;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:00:11 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:00:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158698.1487096 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIY3X-0001Kb-6A; Mon, 10 Nov 2025 20:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158698.1487096; Mon, 10 Nov 2025 20:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIY3X-0001KE-3M; Mon, 10 Nov 2025 20:00:03 +0000
Received: by outflank-mailman (input) for mailman id 1158698;
 Mon, 10 Nov 2025 20:00:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIY3V-00011O-Oz
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:00:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3V-000DGV-22
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3V-001Ljp-1v
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=IcgDfqAEFVy+ZrhM4nrQx4DjU5XzEW/S/zPqr4T3zM0=; b=z8dvO7iKWhhhMVQMQn+jltirNT
	bWQyzzHfWOJpyXJ2Se9VEPd888bUltu5+uNstXOm/JN6X+fRb8BDqPHOJvU/8bfbVM3xizZq5yEPX
	WOqu5b4aiC+MbF9tW/b1XCZANDGcaIy4UAsun/wovm8ERxeHmK/yx0+960kkQtYbEAG4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vIY3V-001Ljp-1v@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:00:01 +0000

commit 3907ea4ba9c9229970018e88871696a9f933faa5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 7 13:40:53 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index d72b9556f6..550b8c1e57 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -655,10 +655,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:00:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:00:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158699.1487100 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIY3h-0001ro-7V; Mon, 10 Nov 2025 20:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158699.1487100; Mon, 10 Nov 2025 20:00:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIY3h-0001rf-4i; Mon, 10 Nov 2025 20:00:13 +0000
Received: by outflank-mailman (input) for mailman id 1158699;
 Mon, 10 Nov 2025 20:00:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIY3f-0001rZ-Og
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:00:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3f-000DGZ-2K
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3f-001LmE-2D
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=RbTKkzeZNsqKf64x7TpOogNKwgpZir8l4KkTxGn5ka8=; b=efpZUjUFbyXEjjPTIQatpd7rc1
	sZwvCbdg3JHxSVppiDvpanm7F0ISGby5Vh2IgSL50ClK7fTZO4SMXaX9kOgvcEIF9GLvwRZxVjQHJ
	simksWdbW+3Fo89WHqdC0drY0eN45FKlVlF7wZ8vvx+FtauoUh6gPA4LzFzf6mL4Y05g=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] CHANGELOG.md: Update for 4.21 release cycle
Message-Id: <E1vIY3f-001LmE-2D@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:00:11 +0000

commit 22d8ef40307b8b9c3632db05512a36a424941905
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Fri Sep 26 17:47:43 2025 +0200
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Update for 4.21 release cycle
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 CHANGELOG.md | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc4f6d7c8a..4610fdac56 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - Linux based device model stubdomains are now fully supported.
  - New dependency on library json-c 0.15 or later, the toolstack will prefer it
    to `YAJL` when available.
+ - Introduce libxenmanage as a stable library, replacing xenstored's
+   dependency on unstable libraries.
 
  - On x86:
    - Restrict the cache flushing done as a result of guest physical memory map
@@ -42,9 +44,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - New amd-cppc/amd-cppc-epp cpufreq driver.
 
  - On Arm:
-    - Ability to enable stack protector
+    - Ability to enable stack protector.
     - GICv3.1 eSPI (Extended Shared Peripheral Interrupts) support for Xen
       and guest domains.
+    - SMMU handling for PCIe passthrough.
+    - R-Car Gen4 PCI host controller support.
+    - SCI SCMI SMC single-agent support.
+    - Initial support for MPU, R82, and R52: reaches the early boot stages.
+
+ - On RISC-V:
+    - Basic UART support and external interrupts (APLIC/IMSIC only) handling
+      for hypervisor mode.
 
 ### Removed
  - On x86:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:00:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158700.1487105 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIY3r-0001vX-8q; Mon, 10 Nov 2025 20:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158700.1487105; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIY3r-0001vN-61; Mon, 10 Nov 2025 20:00:23 +0000
Received: by outflank-mailman (input) for mailman id 1158700;
 Mon, 10 Nov 2025 20:00:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIY3p-0001v9-RR
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:00:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3p-000DH4-2e
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3p-001LnP-2U
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=gjvMs3CdhJTkVVOB9VzL5hOdGyBowrA+3NWPXKDJfPE=; b=LHOeOEzX1F/X1vP4gXrstFCV21
	6UWYkuf8oQT1db0xwpzw75QzqPGNxvurr9kBpK7MfxUpJdlDiSr3C5i7gCuQSamHpL3+ZFaEbfGfi
	lm+J42akyWgLtHKWaP44Hg2pLtwTm0j9/i01gd2INeqvVB8BfvGoBqKBzQ/E4eReccgM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] CHANGELOG.md: Note about oxenstored being deprecated
Message-Id: <E1vIY3p-001LnP-2U@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:00:21 +0000

commit 3abb49d5b19646969b43523f1c9f45a1da4ed010
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:41:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Note about oxenstored being deprecated
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4610fdac56..83c9c43c3e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -63,6 +63,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
  - Support of qemu-traditional has been removed.
 
+ - The in-tree oxenstored is deprecated and will be removed in a future
+   version of Xen.  It is moving into the Xapi project
+   https://github.com/xapi-project/oxenstored so it can be maintained in line
+   with the other Ocaml projects in the Xen ecosystem.
+
 ## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05
 
 ### Changed
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:00:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158701.1487108 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIY41-0001yN-A1; Mon, 10 Nov 2025 20:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158701.1487108; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIY41-0001yC-7L; Mon, 10 Nov 2025 20:00:33 +0000
Received: by outflank-mailman (input) for mailman id 1158701;
 Mon, 10 Nov 2025 20:00:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIY40-0001xz-0B
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:00:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3z-000DH8-37
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY3z-001LpM-2p
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=hX6qkSzORaX9AMYnAAKkmExcvz4c4F33HhkmjIxcScs=; b=Q7VpeIQiQTbgWl30gpGYeJqT6A
	G3L72XXmR8+be08VLjz5oR6AZnQcrP3hHhuCzKKgyNqXKZudP9rZ2AzJLZ8Ih8CGJvwpYLVqp8xY1
	AKQVNxzT+GR454LR39Qrp7Nhl0g7yL1GyeIqaQ0kY17ptigINQy/1x2StTarRLsVdaig=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vIY3z-001LpM-2p@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:00:31 +0000

commit d510f9c1430cf52204da672260a6926138a985c2
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Mon Nov 10 15:55:02 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ad1553c5e9..27c455210b 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2503,7 +2503,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:00:42 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:00:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158702.1487111 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIY4A-000209-B4; Mon, 10 Nov 2025 20:00:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158702.1487111; Mon, 10 Nov 2025 20:00: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-changelog-bounces@lists.xenproject.org>)
	id 1vIY4A-000201-8b; Mon, 10 Nov 2025 20:00:42 +0000
Received: by outflank-mailman (input) for mailman id 1158702;
 Mon, 10 Nov 2025 20:00:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIY4A-0001zv-2d
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:00:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY4A-000DHC-0A
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIY4A-001LqT-04
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:00:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=XkJEhph4+UrNaXN9MHo5e++6bmXgH8ZcNqzLLlCa1uI=; b=5/TZuLroFatSQFkqQ1a4Vx+rNP
	HTU5S/lpqxyLcPU9Myet8/HzI8iIa0m7Ni4nxIlwU4NOMe1b8Xuy3EejqQCZfpmNMGvn5extVndrr
	O0Dx9kQ80MZ82Rrr3PwPo9Pkg2IJ2yVIek1E05z9Xd52nZzg5U0BRXY6qxdrpBHcxkgs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] Switch to release builds by default
Message-Id: <E1vIY4A-001LqT-04@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:00:42 +0000

commit b0255656d121311cf1a43f19f08dbfc8aa6df280
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:58:17 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:58:17 2025 +0000

    Switch to release builds by default
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/Rules.mk    | 2 +-
 xen/Kconfig.debug | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 725c3c32e9..7c7ad91e81 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -25,7 +25,7 @@ CFLAGS_xeninclude = -I$(XEN_INCLUDE)
 XENSTORE_XENSTORED ?= y
 
 # A debug build of tools?
-debug ?= y
+debug ?= n
 debug_symbols ?= $(debug)
 
 XEN_GOCODE_URL    = golang.xenproject.org
diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index d900d926c5..434a1ae1d6 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -3,7 +3,7 @@ menu "Debugging Options"
 
 config DEBUG
 	bool "Developer Checks"
-	default y
+	default n
 	help
 	  If you say Y here this will enable developer checks such as asserts
 	  and extra printks. This option is intended for development purposes
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:55:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158703.1487116 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIYul-0007aH-N1; Mon, 10 Nov 2025 20:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158703.1487116; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIYul-0007a9-K4; Mon, 10 Nov 2025 20:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1158703;
 Mon, 10 Nov 2025 20:55:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIYuj-0007a3-NE
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:55:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYuj-000EFm-22
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYuj-001SQU-1o
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=NYsFB+9lcn063rO10cTWZ5fjf94qxa6UsMUJJ97jAFw=; b=Cpbha+tagwrobF6dinrtP2/G87
	QGc0ppxSqaRsvFNb6FZSnOVIJZ7qo+iPtiQACKFJiNYK/XCU9JPBENlZtR21ifQIaw7V4t/gbeKdQ
	U3YuTJIyz75tIMDZYnqGue6rh0ul5ewiRNxv58aUINYakWlT1m3RZ2HLcTYX84TBHcSo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vIYuj-001SQU-1o@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:55:01 +0000

commit 3907ea4ba9c9229970018e88871696a9f933faa5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 7 13:40:53 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index d72b9556f6..550b8c1e57 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -655,10 +655,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:55:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158704.1487119 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIYuv-0007bp-OU; Mon, 10 Nov 2025 20:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158704.1487119; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIYuv-0007bf-LO; Mon, 10 Nov 2025 20:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1158704;
 Mon, 10 Nov 2025 20:55:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIYut-0007bV-OF
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:55:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYut-000EFs-2K
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYut-001STZ-2C
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=CtX8Oqa8a7uUANlfdrl2OyLl8OMgzavgC1ynyOqwIO4=; b=T9gj1H3zB+XQIQWjgUbLABOfm9
	Hb9J92K+VKILmJ5GW1PUlbf5piSQB83iADM1VQKc94WZQ80JFKqvJ777lhshCyIrhlWWKgmA1JdoX
	dZIiGd+uMvQd2ypCPjaIXHzX/TjD4JMS63mzGWiJ0Xs/lEy/Z/2CteArIaah5zRahQz0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] CHANGELOG.md: Update for 4.21 release cycle
Message-Id: <E1vIYut-001STZ-2C@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:55:11 +0000

commit 22d8ef40307b8b9c3632db05512a36a424941905
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Fri Sep 26 17:47:43 2025 +0200
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Update for 4.21 release cycle
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 CHANGELOG.md | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc4f6d7c8a..4610fdac56 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - Linux based device model stubdomains are now fully supported.
  - New dependency on library json-c 0.15 or later, the toolstack will prefer it
    to `YAJL` when available.
+ - Introduce libxenmanage as a stable library, replacing xenstored's
+   dependency on unstable libraries.
 
  - On x86:
    - Restrict the cache flushing done as a result of guest physical memory map
@@ -42,9 +44,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - New amd-cppc/amd-cppc-epp cpufreq driver.
 
  - On Arm:
-    - Ability to enable stack protector
+    - Ability to enable stack protector.
     - GICv3.1 eSPI (Extended Shared Peripheral Interrupts) support for Xen
       and guest domains.
+    - SMMU handling for PCIe passthrough.
+    - R-Car Gen4 PCI host controller support.
+    - SCI SCMI SMC single-agent support.
+    - Initial support for MPU, R82, and R52: reaches the early boot stages.
+
+ - On RISC-V:
+    - Basic UART support and external interrupts (APLIC/IMSIC only) handling
+      for hypervisor mode.
 
 ### Removed
  - On x86:
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:55:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158705.1487123 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIYv5-0007fN-PR; Mon, 10 Nov 2025 20:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158705.1487123; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIYv5-0007fF-Mo; Mon, 10 Nov 2025 20:55:23 +0000
Received: by outflank-mailman (input) for mailman id 1158705;
 Mon, 10 Nov 2025 20:55:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIYv3-0007f5-SR
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:55:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYv3-000EGK-2l
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYv3-001SUh-2U
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=JnFsHxa3ms5oYaTHmrcHjkwjyK4V6YXy/f+ZZLxnSXg=; b=h+wJN65k1+AFaROmgXmyFHkEgt
	3doqvZbQ+PC5IaREPLKs9PaA3oy/ClT9O+JtFGz2yiBKSwBG0HghKO2xL8wlgeV42IiVeGQM0kR+P
	OnRtEK9Zur7XE8oGxe9NwD0ucp07kBhxLo086vs4iHPbHjUVafwPqG6ECvomm4mdXF+s=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] CHANGELOG.md: Note about oxenstored being deprecated
Message-Id: <E1vIYv3-001SUh-2U@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:55:21 +0000

commit 3abb49d5b19646969b43523f1c9f45a1da4ed010
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:41:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    CHANGELOG.md: Note about oxenstored being deprecated
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4610fdac56..83c9c43c3e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -63,6 +63,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
  - Support of qemu-traditional has been removed.
 
+ - The in-tree oxenstored is deprecated and will be removed in a future
+   version of Xen.  It is moving into the Xapi project
+   https://github.com/xapi-project/oxenstored so it can be maintained in line
+   with the other Ocaml projects in the Xen ecosystem.
+
 ## [4.20.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.20.0) - 2025-03-05
 
 ### Changed
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:55:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158706.1487128 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIYvF-0007ho-Qj; Mon, 10 Nov 2025 20:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158706.1487128; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIYvF-0007hh-O9; Mon, 10 Nov 2025 20:55:33 +0000
Received: by outflank-mailman (input) for mailman id 1158706;
 Mon, 10 Nov 2025 20:55:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIYvD-0007hT-VV
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:55:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYvD-000EGQ-33
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYvD-001SVP-2w
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Qe9Tpjli3AU/fumVgGKwZv4Lihr30MdVbJ7Nq/sl0gI=; b=qntZYSHv2nAjWShBvxdy19pFNy
	TQwtDxj6viZgOWayiom1o38uPqkP50r2TRuQ+zrsrUn0Eh2Xt16IWrwtCjEYGY9qEPfuVtTvKBG/U
	yyRlCZs8+lAS9gLu8ZMixo//REmAWn/esIuEv67cmLWktpfM/rWSjB2O+fl77Z6iHl34=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vIYvD-001SVP-2w@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:55:31 +0000

commit d510f9c1430cf52204da672260a6926138a985c2
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Mon Nov 10 15:55:02 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ad1553c5e9..27c455210b 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2503,7 +2503,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:55:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158707.1487132 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIYvP-0007jn-SL; Mon, 10 Nov 2025 20:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158707.1487132; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIYvP-0007jg-Pl; Mon, 10 Nov 2025 20:55:43 +0000
Received: by outflank-mailman (input) for mailman id 1158707;
 Mon, 10 Nov 2025 20:55:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIYvO-0007jV-22
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:55:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYvO-000EGW-06
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYvO-001SX2-00
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=uZFrtgdGUq3hotDDRyBz9tDj7vs7A3fMhn10P1bkBPE=; b=iOQPwRn2QNCLdqCXcU4L4OTsTg
	yMLZHqEtkA1uj8jcYM3l2NUy2FdjvdBvekx3kuYMqjzrZ+XwYe1xB5/M1+sQ8Cf1tsXtKgbACzVMt
	0VnYUDKpJDAJrRwZD+0c59kaDghwhuERQ9hA34hUsgwgPkSCYdv301RpEZvniMnYZBxs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] Update Xen to 4.22
Message-Id: <E1vIYvO-001SX2-00@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:55:42 +0000

commit 85768c28b705964f2a307ac5a69c92fe241249df
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 10 16:04:11 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 16:56:03 2025 +0000

    Update Xen to 4.22
    
    Xen 4.21 has branched
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 README       | 10 +++++-----
 SUPPORT.md   |  2 +-
 xen/Makefile |  4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/README b/README
index 53a4d5c2ae..889a4ea906 100644
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
 ############################################################
- __  __            _  _    ____  _
- \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
-  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
-  /  \  __/ | | | |__   _| / __/| |__| | | (__
- /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
+__  __                                _        _     _
+\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
+ \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
+ /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
+/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
 
 ############################################################
 
diff --git a/SUPPORT.md b/SUPPORT.md
index 491f9ecd1b..d441bccf37 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.21-rc
+    Xen-Version: 4.22-unstable
     Initial-Release: n/a
     Supported-Until: TBD
     Security-Support-Until: Unreleased - not yet security-supported
diff --git a/xen/Makefile b/xen/Makefile
index ddcee8835c..fc9244420e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -5,8 +5,8 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # This is the correct place to edit the build version.
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
-export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= .0-rc3$(XEN_VENDORVERSION)
+export XEN_SUBVERSION    = 22
+export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 20:55:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 20:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158708.1487137 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIYvZ-0007ly-UT; Mon, 10 Nov 2025 20:55:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158708.1487137; Mon, 10 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vIYvZ-0007lq-RK; Mon, 10 Nov 2025 20:55:53 +0000
Received: by outflank-mailman (input) for mailman id 1158708;
 Mon, 10 Nov 2025 20:55:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIYvY-0007lf-BN
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 20:55:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYvY-000EGe-11
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIYvY-001SYM-0v
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 20:55:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=otak6KA/R4wJ/XFB+c27MyLFh4b4bEigKQuel3JqKc0=; b=RFWqo8RiBDcSyLPIf2tryA4dLR
	QGKz3caUx8Zrb6RsB9OUqKndzI+VfeYxsOhyCcxocMjPYJLMlvm0MfTsGUdYcPg4QjE5PxyGCDvDq
	7ggmpSXA0rDUmugR1dqHheLZAhWZZMF9A3U5tTl4tkKqwqzRU5ofpg7JP/kOHSlNwvjg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.18] automation: disable terminal echo in xilinx test scripts
Message-Id: <E1vIYvY-001SYM-0v@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 20:55:52 +0000

commit d15515f5239be4c837f8797576978fb36f50a674
Author:     Victor Lira <victorm.lira@amd.com>
AuthorDate: Tue Jun 17 09:44:49 2025 -0700
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 18:20:16 2025 +0000

    automation: disable terminal echo in xilinx test scripts
    
    The default terminal settings in Linux will enable echo which interferes with
    these tests. Set the value in the script to avoid failure caused by a settings
    reset.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    (cherry picked from commit 2f73ef4bd7222d120e593dccb13b5e79b642af56)
---
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index d4bf19855a..240193d8d0 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -136,7 +136,7 @@ cd $START
 # connect to serial
 SERIAL_DEV="/dev/serial/zynq"
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 115200 -echo
 timeout -k 1 120 nohup sh -c "cat ${SERIAL_DEV} | tee smoke.serial"
 
 # stop the board
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.18


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 21:33:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 21:33:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158733.1487161 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIZVW-000539-Tu; Mon, 10 Nov 2025 21:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158733.1487161; Mon, 10 Nov 2025 21:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIZVW-000531-Q8; Mon, 10 Nov 2025 21:33:02 +0000
Received: by outflank-mailman (input) for mailman id 1158733;
 Mon, 10 Nov 2025 21:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIZVV-00052v-Uq
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 21:33:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIZVV-000F3t-2m
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 21:33:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIZVV-001Wqs-2d
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 21:33:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=gu2yM3rgeJIbbfFOwkt0YaAo+tEczePetqdWa1xh1aY=; b=myWuP4AITrw/kqWAhJh3BNk2z0
	zTidSegM/tngz9CaeHocTf8+UvCVOA/seAyngmmVuz/K3hA1qNBDzksYdH4RhHBJiVLUBVfH4J+Fi
	DsdCZVMnivD1fGBBafTJBtNFWf//2HorxQ5rxbWPl6pWRYmOTbPnSXu5k94xREQAlWnI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] automation: disable terminal echo in xilinx test scripts
Message-Id: <E1vIZVV-001Wqs-2d@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 21:33:01 +0000

commit 8d7397f38b613bf0b9bd179c4392d24d9585a1a7
Author:     Victor Lira <victorm.lira@amd.com>
AuthorDate: Tue Jun 17 09:44:49 2025 -0700
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 18:46:56 2025 +0000

    automation: disable terminal echo in xilinx test scripts
    
    The default terminal settings in Linux will enable echo which interferes with
    these tests. Set the value in the script to avoid failure caused by a settings
    reset.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    (cherry picked from commit 2f73ef4bd7222d120e593dccb13b5e79b642af56)
---
 automation/scripts/xilinx-smoke-dom0-x86_64.sh    | 2 +-
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index 468143376d..e2438ca3aa 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -151,7 +151,7 @@ sleep 5
 sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
 sleep 5
 set +e
-stty -F ${SERIAL_DEV} 57600
+stty -F ${SERIAL_DEV} 57600 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${PASS_MSG}"
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index 3c89b8694a..6498c4d2be 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -128,7 +128,7 @@ cd $START
 # connect to serial
 SERIAL_DEV="/dev/serial/zynq"
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 115200 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${passed}"
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Mon Nov 10 21:55:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Nov 2025 21:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158734.1487163 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIZqp-0007Rj-Cx; Mon, 10 Nov 2025 21:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158734.1487163; Mon, 10 Nov 2025 21: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-changelog-bounces@lists.xenproject.org>)
	id 1vIZqp-0007Rb-A9; Mon, 10 Nov 2025 21:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1158734;
 Mon, 10 Nov 2025 21:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIZqn-0007RV-W9
 for xen-changelog@lists.xenproject.org; Mon, 10 Nov 2025 21:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIZqn-000FTg-30
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 21:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIZqn-001Zga-2q
 for xen-changelog@lists.xenproject.org;
 Mon, 10 Nov 2025 21:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=70o7gb2F29S2YGgABonRITClLp2PzQW02UjUwALm9EM=; b=MOqXta30DJLbvjqtHOCieVQJM0
	PebUAcYApB1SUXBboAG4i0UlOJz1lGXjsc5MoJrTskotVx5+9xxOk+s1NEP3MEDUb/jU+PQiIx54Y
	0pWub6U8ycWYtoC59NlAsojDFKgMtQ7AUCeR5N5rSkEfS7n43GdScRfpHKnSreXrgLrQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] automation: disable terminal echo in xilinx test scripts
Message-Id: <E1vIZqn-001Zga-2q@xenbits.xenproject.org>
Date: Mon, 10 Nov 2025 21:55:01 +0000

commit 4e9552bd16db2345d807ad7009ecec77aefde654
Author:     Victor Lira <victorm.lira@amd.com>
AuthorDate: Tue Jun 17 09:44:49 2025 -0700
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 10 18:46:55 2025 +0000

    automation: disable terminal echo in xilinx test scripts
    
    The default terminal settings in Linux will enable echo which interferes with
    these tests. Set the value in the script to avoid failure caused by a settings
    reset.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
    (cherry picked from commit 2f73ef4bd7222d120e593dccb13b5e79b642af56)
---
 automation/scripts/xilinx-smoke-dom0-x86_64.sh    | 2 +-
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index 03213da3f1..ae0bdcb877 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -124,7 +124,7 @@ sleep 5
 sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
 sleep 5
 set +e
-stty -F ${SERIAL_DEV} 57600
+stty -F ${SERIAL_DEV} 57600 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${PASS_MSG}"
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index 3c89b8694a..6498c4d2be 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -128,7 +128,7 @@ cd $START
 # connect to serial
 SERIAL_DEV="/dev/serial/zynq"
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 115200 -echo
 
 # Capture test result and power off board before exiting.
 export PASSED="${passed}"
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:33:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1158999.1487353 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImcR-0007kd-LU; Tue, 11 Nov 2025 11:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1158999.1487353; Tue, 11 Nov 2025 11:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vImcR-0007kV-Is; Tue, 11 Nov 2025 11:33:03 +0000
Received: by outflank-mailman (input) for mailman id 1158999;
 Tue, 11 Nov 2025 11:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImcQ-0007kP-B9
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImcQ-001ckZ-0s
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:33:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImcQ-003G4T-0W
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:33:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=r5+sAO9E5LWUaTHS3p+5Osrzm7EmlKNCdhcT5B63egQ=; b=YAvHEQ1b8zVUz8kl2WXxnca5oN
	DIM7+4IbKOWNxL2C2rZVMndh3NCwSp0bdS0GU/fOX5UyEVKC5x5LbrHJfizI0nm1cSAduih6zrswS
	xMLtQbXmO7g14sxN24BcHioTwAvmByaK++nQ+eTGBXoWSJKi55izMlCwhbmKk4cjLQ60=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] Rerun ./autogen.sh for 4.22
Message-Id: <E1vImcQ-003G4T-0W@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:33:02 +0000

commit d954e8c5c8de5e9ac5bb44d4f83c3004b8cc07ff
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 11 11:25:38 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:29:25 2025 +0000

    Rerun ./autogen.sh for 4.22
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 configure         | 18 +++++++++---------
 docs/configure    | 18 +++++++++---------
 stubdom/configure | 18 +++++++++---------
 tools/configure   | 18 +++++++++---------
 4 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/configure b/configure
index 52ccc139a6..1dbaeb3c5c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1262,7 +1262,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1328,7 +1328,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1428,7 +1428,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor configure 4.21
+Xen Hypervisor configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1465,7 +1465,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor $as_me 4.21, which was
+It was created by Xen Hypervisor $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3000,7 +3000,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor $as_me 4.21, which was
+This file was extended by Xen Hypervisor $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -3056,7 +3056,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor config.status 4.21
+Xen Hypervisor config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/docs/configure b/docs/configure
index ed9bb1c452..98dda3cd0f 100755
--- a/docs/configure
+++ b/docs/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor Documentation 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor Documentation 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Documentation'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor Documentation 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor Documentation 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1252,7 +1252,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Documentation 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Documentation 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1314,7 +1314,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1416,7 +1416,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Documentation configure 4.21
+Xen Hypervisor Documentation configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1453,7 +1453,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Documentation $as_me 4.21, which was
+It was created by Xen Hypervisor Documentation $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2896,7 +2896,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Documentation $as_me 4.21, which was
+This file was extended by Xen Hypervisor Documentation $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2952,7 +2952,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor Documentation config.status 4.21
+Xen Hypervisor Documentation config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/stubdom/configure b/stubdom/configure
index 9dd0e7c796..1051ae0c54 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor Stub Domains 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor Stub Domains 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Stub Domains'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor Stub Domains 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor Stub Domains 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1286,7 +1286,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Stub Domains 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Stub Domains 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1352,7 +1352,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1462,7 +1462,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Stub Domains configure 4.21
+Xen Hypervisor Stub Domains configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1538,7 +1538,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Stub Domains $as_me 4.21, which was
+It was created by Xen Hypervisor Stub Domains $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4835,7 +4835,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Stub Domains $as_me 4.21, which was
+This file was extended by Xen Hypervisor Stub Domains $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4891,7 +4891,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor Stub Domains config.status 4.21
+Xen Hypervisor Stub Domains config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/tools/configure b/tools/configure
index d460f25529..3111f5688c 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor Tools 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor Tools 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Tools'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor Tools 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor Tools 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1438,7 +1438,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Tools 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Tools 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1504,7 +1504,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1716,7 +1716,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Tools configure 4.21
+Xen Hypervisor Tools configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1986,7 +1986,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Tools $as_me 4.21, which was
+It was created by Xen Hypervisor Tools $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -11079,7 +11079,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Tools $as_me 4.21, which was
+This file was extended by Xen Hypervisor Tools $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -11144,7 +11144,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor Tools config.status 4.21
+Xen Hypervisor Tools config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:33:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159000.1487358 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImcb-0007mm-ON; Tue, 11 Nov 2025 11:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159000.1487358; Tue, 11 Nov 2025 11:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImcb-0007md-Le; Tue, 11 Nov 2025 11:33:13 +0000
Received: by outflank-mailman (input) for mailman id 1159000;
 Tue, 11 Nov 2025 11:33:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImca-0007mP-Cb
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:33:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImca-001ckf-19
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:33:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImca-003G6B-12
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:33:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=B30qfoqN5PXfN5vViXb6ZenTy8bohdwKAIYa/BYmxw0=; b=UwNzWTUkgoHmBw1xWtulF0Fc6X
	Kddk/JifjaaLXY5pcryUsuxPVkjntcT5CVRaHEXk24fpD7mnvUJ0xdxeFx5J3NNqY1+Bt15tI8cbp
	P4groRXMqElkmjcWEv6UI5EOiJPHqJvPzgfSwasV0Eu0uSoGNy+s+eUaKxckLfKqpSvE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] Config.mk: Switch QEMU back to master
Message-Id: <E1vImca-003G6B-12@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:33:12 +0000

commit 7b88e463f99979c9f0d1c859bc3dbb06af1795a0
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 11 11:27:47 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:29:25 2025 +0000

    Config.mk: Switch QEMU back to master
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 89c7524a3e..7edbab8efe 100644
--- a/Config.mk
+++ b/Config.mk
@@ -205,7 +205,7 @@ OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
 
 QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_UPSTREAM_REVISION ?= e064f42c80be6f6ff8c12dcb2a663bdf70f965f6
+QEMU_UPSTREAM_REVISION ?= master
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 MINIOS_UPSTREAM_REVISION ?= 6732fd42d8eb8d0af9f5eb54aca17f4c250213a8
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:33:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159001.1487361 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImcl-0007p6-PT; Tue, 11 Nov 2025 11:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159001.1487361; Tue, 11 Nov 2025 11:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vImcl-0007oy-Mz; Tue, 11 Nov 2025 11:33:23 +0000
Received: by outflank-mailman (input) for mailman id 1159001;
 Tue, 11 Nov 2025 11:33:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImck-0007oh-Fa
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:33:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImck-001ckj-1Q
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:33:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImck-003G8y-1K
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:33:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=cU1bKqrlT1hHJ7G+NV/BpIMTBle2oQWDUM2uAWatc4s=; b=UY78YBEkI1vcSQ43twq8CIi+Aq
	CYaqcnjv/6WPcrxLt5s2DeNUjbQMjYyjNbYvt4Rwyghq8/+fMxT/t7kLWEfhJunhDpordwFFFnCQC
	cihkozcO6s8Kk/Fhwy5HZr2lxD1E6bg2ogXLMdxHCib/bqtyS5TmWMqLApc1uFfi6Law=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] CHANGELOG.md: Start a new 4.22 section
Message-Id: <E1vImck-003G8y-1K@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:33:22 +0000

commit 62d0a92057cae19f601947a57a6f13cc5a48dd8b
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 11 11:29:04 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:29:25 2025 +0000

    CHANGELOG.md: Start a new 4.22 section
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 CHANGELOG.md | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 83c9c43c3e..c9932a2af0 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.22.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+
+### Changed
+
+### Added
+
+### Removed
+
 ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:44:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159002.1487366 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImn5-0000cL-Ht; Tue, 11 Nov 2025 11:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159002.1487366; Tue, 11 Nov 2025 11:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImn5-0000cD-F1; Tue, 11 Nov 2025 11:44:03 +0000
Received: by outflank-mailman (input) for mailman id 1159002;
 Tue, 11 Nov 2025 11:44:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImn4-0000c7-MA
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:44:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImn4-001d9F-23
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImn4-003IE3-1a
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=w3hl3c/vhjcdNGLEVEZmpqJqakUByotjOp4T6OBCO6Q=; b=sRaja7Ro1hPh1k57GvBeyw90Yq
	LfqJ/DqwehLezJgxrAmjR6JIe1fgzpz2yA42XAlUI9K07WxtLTUXLz6ke1cw2IYJeBgMqfsltwnI/
	mihHZ/p0Ir1aEtS9eukeyxPkLMLLmruQB91yvr088Yf8Zcl00QNNGkDA2icJB/nPqzIU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86: hvm: hypercall: use define instead of const in hvm_hypercall()
Message-Id: <E1vImn4-003IE3-1a@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:44:02 +0000

commit 89780711438a6f18ad565ad6b241e5ace062cf10
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Fri Sep 12 09:47:03 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86: hvm: hypercall: use define instead of const in hvm_hypercall()
    
    Use define X86_MODE_64BIT instead of constant in hvm_hypercall() for "mode"
    conditional check to improve code readability.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/hypercall.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 6f8dfdff4a..b254b3e2f7 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -155,7 +155,7 @@ int hvm_hypercall(struct cpu_user_regs *regs)
 
     curr->hcall_preempted = false;
 
-    if ( mode == 8 )
+    if ( mode == X86_MODE_64BIT )
     {
         HVM_DBG_LOG(DBG_LEVEL_HCALL, "hcall%lu(%lx, %lx, %lx, %lx, %lx)",
                     eax, regs->rdi, regs->rsi, regs->rdx, regs->r10, regs->r8);
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:44:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159003.1487369 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImnF-0000e3-JC; Tue, 11 Nov 2025 11:44:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159003.1487369; Tue, 11 Nov 2025 11:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vImnF-0000dv-GN; Tue, 11 Nov 2025 11:44:13 +0000
Received: by outflank-mailman (input) for mailman id 1159003;
 Tue, 11 Nov 2025 11:44:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImnE-0000dn-Od
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:44:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnE-001d9Y-2M
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnE-003IGT-2G
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=du6fy8KrVUzUQTQy5r7sC3cdU2rGRIK9Z2Y3GHWlPVo=; b=bj9KjQ4JQ9KBbgKv9cJU3J2dMG
	IpAOV9XMb9Gixw5HsB3q9DKawKO5i2OxT9lsZSZBU+AgVXrl8DgVsj5ebF+jJ+Y+5rruwXbGWAi5o
	9HCs3oU7BvkQngQcknoFOtqnD6rt+SGYQtVVvYaRtEcpP0JwdGFsCrKK3YLDlfeenNMM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/msr: Change rdmsr() to have normal API
Message-Id: <E1vImnE-003IGT-2G@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:44:12 +0000

commit ba342df56ae6ce819eb3aaf026b4837d4cf4ca0d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Sat Jun 23 13:44:43 2018 +0800
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86/msr: Change rdmsr() to have normal API
    
    We want a consistent MSR API, and these want to be named rdmsr() and wrmsr(),
    but not with their current APIs.  The current rdmsr() flavours writing to
    their parameters by name makes code that reads like invalid C, and is
    unergonomic to use in lots of cases.
    
    Change the API, and update the callers all in one go.  Where appropriate,
    update the write side to wrmsrns() as per the recommendation.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/acpi/cpufreq/powernow.c | 12 +++++++-----
 xen/arch/x86/cpu/amd.c               |  6 +++---
 xen/arch/x86/cpu/common.c            | 20 ++++++++++++--------
 xen/arch/x86/cpu/intel.c             | 30 +++++++++++++++---------------
 xen/arch/x86/genapic/x2apic.c        |  5 +----
 xen/arch/x86/hvm/vmx/vmcs.c          | 30 +++++++++++++++++++++++-------
 xen/arch/x86/include/asm/msr.h       | 30 ++++++++++++++++++++++++++----
 xen/arch/x86/include/asm/prot-key.h  |  6 +-----
 xen/arch/x86/tsx.c                   | 27 +++++++++++----------------
 9 files changed, 99 insertions(+), 67 deletions(-)

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


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:44:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159004.1487374 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImnP-0000gT-Kc; Tue, 11 Nov 2025 11:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159004.1487374; Tue, 11 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vImnP-0000gL-Hr; Tue, 11 Nov 2025 11:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1159004;
 Tue, 11 Nov 2025 11:44:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImnO-0000gC-Tg
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:44:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnO-001d9p-2r
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnO-003ILA-2Z
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=M9syfGWlwRaEsw/BfcesWxpGKQsA+wbvMXGJJmcHIBI=; b=q9Nn4HvA/pzeyw78hZcLICjkHm
	LpUEMxMVWSplTMmEj9KXt8YVmXW2an8+iGzWS6vkZOfMqbrijpeSivGh74A9HPojjzc+gyEo95Mmf
	cUIKWk8ZA2Ppm2wPXiga/RXKW9mQHEIPCeTh6q0G6obE2DI+ug2HZ5vrte45E+EoyIic=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/msr: Change wrmsr() to take a single parameter
Message-Id: <E1vImnO-003ILA-2Z@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:44:22 +0000

commit 389347a75fbd28c58518d2a0fdaa0af4429ada5f
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Jun 22 12:25:41 2018 +0800
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86/msr: Change wrmsr() to take a single parameter
    
    Mirroring the cleanup to rdmsr(), do the same to wrmsr().  It now has the same
    API as wrmsrl(), but we'll want to drop that wrapper in due course.
    
    It's telling that almost all remaining users pass in 0.  Most are converted
    directly to WRMSRNS, but a few are not.
    
    MSR_VIRT_SPEC_CTRL is unconditionally intercepted and is orders of magnitude
    more expensive than just serialising.  In disable_lapic_nmi_watchdog(), the P4
    case won't run on hardware which has anything more than plain WRMSR.
    
    For CTR_WRITE() in op_model_athlon.c there is a logical change in behaviour,
    but it's fixing a bug.  Peformance counters typically get written to -(count)
    as they generate an interrupt on overflow.  The performance counters even in
    the K8 were 48 bits wide, and this wrmsr() not being a wrmsrl() appears to
    have been an oversight in commit b5103d692aa7 ("x86 oprofile: use
    rdmsrl/wrmsrl") which converted all other users, and appears to be the last
    time there was an attempt to unify the MSR APIs.
    
    No practical change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c                  |  2 +-
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
 xen/arch/x86/include/asm/msr.h          | 20 ++++++++++----------
 xen/arch/x86/nmi.c                      | 18 +++++++++---------
 xen/arch/x86/oprofile/op_model_athlon.c |  2 +-
 5 files changed, 22 insertions(+), 22 deletions(-)

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


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:44:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159005.1487378 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImna-0000iy-NL; Tue, 11 Nov 2025 11:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159005.1487378; Tue, 11 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vImna-0000iq-Ke; Tue, 11 Nov 2025 11:44:34 +0000
Received: by outflank-mailman (input) for mailman id 1159005;
 Tue, 11 Nov 2025 11:44:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImnZ-0000ie-14
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:44:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnZ-001dAP-00
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:33 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnY-003INT-32
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=xa0jSRYIcQP1a54ZQ4/xfj4x4zM5R3b7ORnKMhbwyDk=; b=sCi89Q9U66luMidQAj1NHweB/o
	oVAtXRytfxbW10Q0f83L3lvS5Zyiof+vGYvFnXAcmPYZmZL25nIKRxURhZYHDfOvMKmFbFVTg5DIz
	o7TGGmIOJKjcggCOYceDUzUVIc/1uwnXNJmKZ/TXDFETgEePLYrZnuIUghPzVUREtGWk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] vtd: Inline redundant nr_ioapic_entries macro
Message-Id: <E1vImnY-003INT-32@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:44:32 +0000

commit dac2111fb8403c69c9d1fc1b02ef3f569f379efa
Author:     Teddy Astie <teddy.astie@vates.tech>
AuthorDate: Tue Oct 21 14:45:39 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    vtd: Inline redundant nr_ioapic_entries macro
    
    This macro was there when ia64 was a thing, nowaday, this macro isn't meaningful
    anymore and is actually a slightly disguised nr_ioapic_entries array access.
    
    Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/drivers/passthrough/vtd/intremap.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 9272a25113..7726ee618a 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -31,7 +31,6 @@
 
 #include <asm/apic.h>
 #include <asm/io_apic.h>
-#define nr_ioapic_entries(i)  nr_ioapic_entries[i]
 
 /*
  * source validation type (SVT)
@@ -68,7 +67,7 @@ static int init_apic_pin_2_ir_idx(void)
 
     nr_pins = 0;
     for ( i = 0; i < nr_ioapics; i++ )
-        nr_pins += nr_ioapic_entries(i);
+        nr_pins += nr_ioapic_entries[i];
 
     _apic_pin_2_ir_idx = xmalloc_array(int, nr_pins);
     apic_pin_2_ir_idx = xmalloc_array(int *, nr_ioapics);
@@ -86,7 +85,7 @@ static int init_apic_pin_2_ir_idx(void)
     for ( i = 0; i < nr_ioapics; i++ )
     {
         apic_pin_2_ir_idx[i] = &_apic_pin_2_ir_idx[nr_pins];
-        nr_pins += nr_ioapic_entries(i);
+        nr_pins += nr_ioapic_entries[i];
     }
 
     return 0;
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 11:44:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 11:44:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159006.1487384 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImnk-0000lN-Pr; Tue, 11 Nov 2025 11:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159006.1487384; Tue, 11 Nov 2025 11:44:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vImnk-0000lF-M4; Tue, 11 Nov 2025 11:44:44 +0000
Received: by outflank-mailman (input) for mailman id 1159006;
 Tue, 11 Nov 2025 11:44:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vImnj-0000l3-4W
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 11:44:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnj-001dAp-0L
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:43 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vImnj-003IOh-0D
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 11:44:43 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=QtW5E0G42XH0Wa8qYn74kodmfVAgx830owR2Hm7Gvfo=; b=sfxY5Irz0g8kwH9yE6HHs9ytFF
	tWX803e4pbEmP2TRERiP+2yXHKFDxBT7HCBELE300B2MnO7VPWYbk1u7WKpfTU/8k/WmJ3OueTos/
	ImrZ3Ux4xRLplLYUmSWdM+3Yi7ymHmf4zGafFMH/rI4VeLtHxI071hqqax5gcqf83EIc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/hvm: vpt: make hvm_set_guest_time() static
Message-Id: <E1vImnj-003IOh-0D@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 11:44:43 +0000

commit e00c1673992e07ed31e9c60fefa8d053491abbe6
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Oct 23 15:05:42 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86/hvm: vpt: make hvm_set_guest_time() static
    
    The hvm_set_guest_time() is used only inside vpt.c, so make it static.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/hvm/vpt.c             | 2 +-
 xen/arch/x86/include/asm/hvm/hvm.h | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 4d86830644..50ed738998 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -48,7 +48,7 @@ uint64_t hvm_get_guest_time_fixed(const struct vcpu *v, uint64_t at_tsc)
     return now + v->arch.hvm.stime_offset;
 }
 
-void hvm_set_guest_time(struct vcpu *v, u64 guest_time)
+static void hvm_set_guest_time(struct vcpu *v, u64 guest_time)
 {
     u64 offset = guest_time - hvm_get_guest_time(v);
 
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index f02183691e..838ad5b59e 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -287,7 +287,6 @@ u64 hvm_scale_tsc(const struct domain *d, u64 tsc);
 u64 hvm_get_tsc_scaling_ratio(u32 gtsc_khz);
 
 void hvm_init_guest_time(struct domain *d);
-void hvm_set_guest_time(struct vcpu *v, u64 guest_time);
 uint64_t hvm_get_guest_time_fixed(const struct vcpu *v, uint64_t at_tsc);
 
 int vmsi_deliver(
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:44:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159061.1487426 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofC-00086Q-Q6; Tue, 11 Nov 2025 13:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159061.1487426; Tue, 11 Nov 2025 13:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofC-00086I-Na; Tue, 11 Nov 2025 13:44:02 +0000
Received: by outflank-mailman (input) for mailman id 1159061;
 Tue, 11 Nov 2025 13:44:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIofB-00086C-NL
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:44:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofB-001fsU-23
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofB-003aWB-1t
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=MVY/6t4qmFWtHpnc/pEOmdGwI7U8hvWTMYm1gc7XkOE=; b=rXIvX4jouUhHOAcZTSSSJ4Rv1F
	eN5r+vzNeM+L/HE/ydJm6n1jYbxwUOqIpye05kXllEpfxSHK19RK/C+2VWuuQ0EQj+I7xsylYQ38H
	lTedRBd/D0Aq+btH3ZDyIo90sB1i7lTb7PHFh4UBmwv1oKM+p+HkGHPzEb8yRaWwfVgg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] Rerun ./autogen.sh for 4.22
Message-Id: <E1vIofB-003aWB-1t@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:44:01 +0000

commit d954e8c5c8de5e9ac5bb44d4f83c3004b8cc07ff
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 11 11:25:38 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:29:25 2025 +0000

    Rerun ./autogen.sh for 4.22
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 configure         | 18 +++++++++---------
 docs/configure    | 18 +++++++++---------
 stubdom/configure | 18 +++++++++---------
 tools/configure   | 18 +++++++++---------
 4 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/configure b/configure
index 52ccc139a6..1dbaeb3c5c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1262,7 +1262,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1328,7 +1328,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1428,7 +1428,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor configure 4.21
+Xen Hypervisor configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1465,7 +1465,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor $as_me 4.21, which was
+It was created by Xen Hypervisor $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3000,7 +3000,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor $as_me 4.21, which was
+This file was extended by Xen Hypervisor $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -3056,7 +3056,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor config.status 4.21
+Xen Hypervisor config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/docs/configure b/docs/configure
index ed9bb1c452..98dda3cd0f 100755
--- a/docs/configure
+++ b/docs/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor Documentation 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor Documentation 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Documentation'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor Documentation 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor Documentation 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1252,7 +1252,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Documentation 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Documentation 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1314,7 +1314,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1416,7 +1416,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Documentation configure 4.21
+Xen Hypervisor Documentation configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1453,7 +1453,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Documentation $as_me 4.21, which was
+It was created by Xen Hypervisor Documentation $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2896,7 +2896,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Documentation $as_me 4.21, which was
+This file was extended by Xen Hypervisor Documentation $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2952,7 +2952,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor Documentation config.status 4.21
+Xen Hypervisor Documentation config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/stubdom/configure b/stubdom/configure
index 9dd0e7c796..1051ae0c54 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor Stub Domains 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor Stub Domains 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Stub Domains'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor Stub Domains 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor Stub Domains 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1286,7 +1286,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Stub Domains 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Stub Domains 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1352,7 +1352,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1462,7 +1462,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Stub Domains configure 4.21
+Xen Hypervisor Stub Domains configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1538,7 +1538,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Stub Domains $as_me 4.21, which was
+It was created by Xen Hypervisor Stub Domains $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4835,7 +4835,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Stub Domains $as_me 4.21, which was
+This file was extended by Xen Hypervisor Stub Domains $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4891,7 +4891,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor Stub Domains config.status 4.21
+Xen Hypervisor Stub Domains config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/tools/configure b/tools/configure
index d460f25529..3111f5688c 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Xen Hypervisor Tools 4.21.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor Tools 4.22.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -610,8 +610,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Tools'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='Xen Hypervisor Tools 4.21'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='Xen Hypervisor Tools 4.22'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='https://www.xen.org/'
 
@@ -1438,7 +1438,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Tools 4.21 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Tools 4.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1504,7 +1504,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.21:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1716,7 +1716,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Tools configure 4.21
+Xen Hypervisor Tools configure 4.22
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1986,7 +1986,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Tools $as_me 4.21, which was
+It was created by Xen Hypervisor Tools $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -11079,7 +11079,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Tools $as_me 4.21, which was
+This file was extended by Xen Hypervisor Tools $as_me 4.22, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -11144,7 +11144,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-Xen Hypervisor Tools config.status 4.21
+Xen Hypervisor Tools config.status 4.22
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:44:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159062.1487430 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofM-000882-RT; Tue, 11 Nov 2025 13:44:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159062.1487430; Tue, 11 Nov 2025 13:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofM-00087u-Ox; Tue, 11 Nov 2025 13:44:12 +0000
Received: by outflank-mailman (input) for mailman id 1159062;
 Tue, 11 Nov 2025 13:44:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIofL-00087k-Od
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:44:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofL-001fsd-2L
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofL-003aZx-2E
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=NceXVaJdFg16aMmf+5qsn6l/hiu6RezeG/E6DpAOXB0=; b=oebflXehdlPe92PkPbtCnqY2J7
	Bkm+mPeE8M3prk0tnbgrqP3VHQE+1Tx7L9QKH+0vj82T74NVXfJY9JTSEAo6cQFVaNIvxG/lmiFzx
	QFCMjLgVpGEefKYuC2gbGHi4VNwFFgAULq8vY4pmUuUZCtQS4qWuKwzf8w5ZAuCAE9Zc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] Config.mk: Switch QEMU back to master
Message-Id: <E1vIofL-003aZx-2E@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:44:11 +0000

commit 7b88e463f99979c9f0d1c859bc3dbb06af1795a0
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 11 11:27:47 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:29:25 2025 +0000

    Config.mk: Switch QEMU back to master
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 89c7524a3e..7edbab8efe 100644
--- a/Config.mk
+++ b/Config.mk
@@ -205,7 +205,7 @@ OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
 
 QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_UPSTREAM_REVISION ?= e064f42c80be6f6ff8c12dcb2a663bdf70f965f6
+QEMU_UPSTREAM_REVISION ?= master
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 MINIOS_UPSTREAM_REVISION ?= 6732fd42d8eb8d0af9f5eb54aca17f4c250213a8
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:44:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159063.1487433 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofX-0008AU-Sn; Tue, 11 Nov 2025 13:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159063.1487433; Tue, 11 Nov 2025 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-changelog-bounces@lists.xenproject.org>)
	id 1vIofX-0008AM-QL; Tue, 11 Nov 2025 13:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1159063;
 Tue, 11 Nov 2025 13:44:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIofV-0008A3-Ro
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:44:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofV-001fsi-2g
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofV-003abt-2W
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=/xhdtGPTBSYzFm/iNdnAT8BbKZhUF0kHsxhxA6N/l/Y=; b=QzCIQuHRzC8HHTnVMvEF742oPc
	mjw7OFKDIP/ROnIehpEvbPpedqe5pZZb4t9KAV5HF0jKfK8fKFlA/i2jdj7SL6/hSiVcXHz8Zdvln
	TRFDrnxUncQGTPrGniu0Em+hNmD/i3Io1wzqi+Gq9UtZns2mqeJQc676bGnz/ZDhhs1M=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] CHANGELOG.md: Start a new 4.22 section
Message-Id: <E1vIofV-003abt-2W@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:44:21 +0000

commit 62d0a92057cae19f601947a57a6f13cc5a48dd8b
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 11 11:29:04 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:29:25 2025 +0000

    CHANGELOG.md: Start a new 4.22 section
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 CHANGELOG.md | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 83c9c43c3e..c9932a2af0 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.22.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+
+### Changed
+
+### Added
+
+### Removed
+
 ## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:44:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159064.1487438 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofh-0008CL-UB; Tue, 11 Nov 2025 13:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159064.1487438; Tue, 11 Nov 2025 13:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofh-0008CD-Re; Tue, 11 Nov 2025 13:44:33 +0000
Received: by outflank-mailman (input) for mailman id 1159064;
 Tue, 11 Nov 2025 13:44:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIofg-0008C3-0f
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:44:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIoff-001fsm-2z
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIoff-003adm-2q
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=mtm/tS1dO0KHGb7G2fwqgpVzjRozv4u/DIPMyIVnq7Y=; b=DYxZ26jm0D1I6N5I5sGGZaQvj7
	XcXkje+AB17AS6V1AN3ikjqBitKhDXj0Xtpe6+NnPbbSQljDnOC2SN4kVndsuasJemG0Vv6OkYgmn
	4kZi1VszHbSops/vKyIs43pKIA1cOjg+/uLWl6qb0Ob41/dC3DLEKkzA3pHK1oIab0Ug=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86: hvm: hypercall: use define instead of const in hvm_hypercall()
Message-Id: <E1vIoff-003adm-2q@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:44:31 +0000

commit 89780711438a6f18ad565ad6b241e5ace062cf10
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Fri Sep 12 09:47:03 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86: hvm: hypercall: use define instead of const in hvm_hypercall()
    
    Use define X86_MODE_64BIT instead of constant in hvm_hypercall() for "mode"
    conditional check to improve code readability.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/hypercall.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 6f8dfdff4a..b254b3e2f7 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -155,7 +155,7 @@ int hvm_hypercall(struct cpu_user_regs *regs)
 
     curr->hcall_preempted = false;
 
-    if ( mode == 8 )
+    if ( mode == X86_MODE_64BIT )
     {
         HVM_DBG_LOG(DBG_LEVEL_HCALL, "hcall%lu(%lx, %lx, %lx, %lx, %lx)",
                     eax, regs->rdi, regs->rsi, regs->rdx, regs->r10, regs->r8);
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:44:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:44:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159065.1487441 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIofr-0008Eq-Vk; Tue, 11 Nov 2025 13:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159065.1487441; Tue, 11 Nov 2025 13:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vIofr-0008Ej-Sz; Tue, 11 Nov 2025 13:44:43 +0000
Received: by outflank-mailman (input) for mailman id 1159065;
 Tue, 11 Nov 2025 13:44:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIofq-0008EU-29
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:44:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofq-001ftI-07
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIofp-003ag6-3B
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:41 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=jKACKC9DAwojWKCKxpCjGHYuiVsyxHSwiimCwoQ/DjM=; b=a8JDYDVy1mXIKpvMwxO1fP2nSJ
	TeRUuxt2TyAYvLyxYV7foaq3JaeonlpP41j40dmDNCLYcKExhCpCiSt+iUtu73Fx1sr8vPKyMfFq1
	DN1VtlLkdifAdTQRKz4+MZG8Z7CR+INuUaZ8G2cpis/hTd3DHnR9k4Mp/4yvJyTiLL0w=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/msr: Change rdmsr() to have normal API
Message-Id: <E1vIofp-003ag6-3B@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:44:41 +0000

commit ba342df56ae6ce819eb3aaf026b4837d4cf4ca0d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Sat Jun 23 13:44:43 2018 +0800
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86/msr: Change rdmsr() to have normal API
    
    We want a consistent MSR API, and these want to be named rdmsr() and wrmsr(),
    but not with their current APIs.  The current rdmsr() flavours writing to
    their parameters by name makes code that reads like invalid C, and is
    unergonomic to use in lots of cases.
    
    Change the API, and update the callers all in one go.  Where appropriate,
    update the write side to wrmsrns() as per the recommendation.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/acpi/cpufreq/powernow.c | 12 +++++++-----
 xen/arch/x86/cpu/amd.c               |  6 +++---
 xen/arch/x86/cpu/common.c            | 20 ++++++++++++--------
 xen/arch/x86/cpu/intel.c             | 30 +++++++++++++++---------------
 xen/arch/x86/genapic/x2apic.c        |  5 +----
 xen/arch/x86/hvm/vmx/vmcs.c          | 30 +++++++++++++++++++++++-------
 xen/arch/x86/include/asm/msr.h       | 30 ++++++++++++++++++++++++++----
 xen/arch/x86/include/asm/prot-key.h  |  6 +-----
 xen/arch/x86/tsx.c                   | 27 +++++++++++----------------
 9 files changed, 99 insertions(+), 67 deletions(-)

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


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:44:54 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159066.1487446 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIog2-0008HS-25; Tue, 11 Nov 2025 13:44:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159066.1487446; Tue, 11 Nov 2025 13:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vIog1-0008HK-Vr; Tue, 11 Nov 2025 13:44:53 +0000
Received: by outflank-mailman (input) for mailman id 1159066;
 Tue, 11 Nov 2025 13:44:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIog0-0008HC-6t
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:44:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIog0-001ftP-0b
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIog0-003ahD-0J
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:44:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=m1ho8X3SwO1fjRjg8eV81cscsBUAqigv9w5s169dbBE=; b=UBXk6qQzvzSwe/n0x95oA7VcMK
	T/krxlCQbmvF5pGgf7SK2P+IX0jy6N3NzGMyb79w9J5htN/BwHbJ/Le2Giiir3cdridYl0Z6eKKy4
	uacYumXbd0vsBx4VOoRtFs4GJdkYppF9cr1BtdBbiJP1SXgxcJC6DKr1wOYT3vZcd3gM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/msr: Change wrmsr() to take a single parameter
Message-Id: <E1vIog0-003ahD-0J@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:44:52 +0000

commit 389347a75fbd28c58518d2a0fdaa0af4429ada5f
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Jun 22 12:25:41 2018 +0800
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86/msr: Change wrmsr() to take a single parameter
    
    Mirroring the cleanup to rdmsr(), do the same to wrmsr().  It now has the same
    API as wrmsrl(), but we'll want to drop that wrapper in due course.
    
    It's telling that almost all remaining users pass in 0.  Most are converted
    directly to WRMSRNS, but a few are not.
    
    MSR_VIRT_SPEC_CTRL is unconditionally intercepted and is orders of magnitude
    more expensive than just serialising.  In disable_lapic_nmi_watchdog(), the P4
    case won't run on hardware which has anything more than plain WRMSR.
    
    For CTR_WRITE() in op_model_athlon.c there is a logical change in behaviour,
    but it's fixing a bug.  Peformance counters typically get written to -(count)
    as they generate an interrupt on overflow.  The performance counters even in
    the K8 were 48 bits wide, and this wrmsr() not being a wrmsrl() appears to
    have been an oversight in commit b5103d692aa7 ("x86 oprofile: use
    rdmsrl/wrmsrl") which converted all other users, and appears to be the last
    time there was an attempt to unify the MSR APIs.
    
    No practical change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c                  |  2 +-
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
 xen/arch/x86/include/asm/msr.h          | 20 ++++++++++----------
 xen/arch/x86/nmi.c                      | 18 +++++++++---------
 xen/arch/x86/oprofile/op_model_athlon.c |  2 +-
 5 files changed, 22 insertions(+), 22 deletions(-)

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


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:45:04 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159067.1487450 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIogC-0008Jn-3T; Tue, 11 Nov 2025 13:45:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159067.1487450; Tue, 11 Nov 2025 13:45:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIogC-0008Jf-0v; Tue, 11 Nov 2025 13:45:04 +0000
Received: by outflank-mailman (input) for mailman id 1159067;
 Tue, 11 Nov 2025 13:45:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIogA-0008JS-9f
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:45:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIogA-001ftv-0s
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:45:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIogA-003aiK-0m
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:45:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=dDut3zl8s+SsNExZpl/7zh4ipGltfZ1fb8iZW2puS7w=; b=u+isIo+jxsE2fnsPOD1UapBsuS
	EbqWAUHF1MZpep5ZmKE+KUwEnpGpZT41nKBHxwiqQ6Rdq3Eok13YznF6te3ujLwZELmLLM3B+Skpx
	Pk5lSv6JEPPC4fiXg5vsos2NlgCcL/Rabg/iHjR8WD+Rj8VTRwBZymFrcF7PEGfXTFoE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] vtd: Inline redundant nr_ioapic_entries macro
Message-Id: <E1vIogA-003aiK-0m@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:45:02 +0000

commit dac2111fb8403c69c9d1fc1b02ef3f569f379efa
Author:     Teddy Astie <teddy.astie@vates.tech>
AuthorDate: Tue Oct 21 14:45:39 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    vtd: Inline redundant nr_ioapic_entries macro
    
    This macro was there when ia64 was a thing, nowaday, this macro isn't meaningful
    anymore and is actually a slightly disguised nr_ioapic_entries array access.
    
    Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/drivers/passthrough/vtd/intremap.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 9272a25113..7726ee618a 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -31,7 +31,6 @@
 
 #include <asm/apic.h>
 #include <asm/io_apic.h>
-#define nr_ioapic_entries(i)  nr_ioapic_entries[i]
 
 /*
  * source validation type (SVT)
@@ -68,7 +67,7 @@ static int init_apic_pin_2_ir_idx(void)
 
     nr_pins = 0;
     for ( i = 0; i < nr_ioapics; i++ )
-        nr_pins += nr_ioapic_entries(i);
+        nr_pins += nr_ioapic_entries[i];
 
     _apic_pin_2_ir_idx = xmalloc_array(int, nr_pins);
     apic_pin_2_ir_idx = xmalloc_array(int *, nr_ioapics);
@@ -86,7 +85,7 @@ static int init_apic_pin_2_ir_idx(void)
     for ( i = 0; i < nr_ioapics; i++ )
     {
         apic_pin_2_ir_idx[i] = &_apic_pin_2_ir_idx[nr_pins];
-        nr_pins += nr_ioapic_entries(i);
+        nr_pins += nr_ioapic_entries[i];
     }
 
     return 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 13:45:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 13:45:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159068.1487454 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIogM-0008Lr-51; Tue, 11 Nov 2025 13:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159068.1487454; Tue, 11 Nov 2025 13:45:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIogM-0008Lj-2D; Tue, 11 Nov 2025 13:45:14 +0000
Received: by outflank-mailman (input) for mailman id 1159068;
 Tue, 11 Nov 2025 13:45:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIogK-0008LU-CG
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 13:45:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIogK-001fu3-19
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:45:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIogK-003aja-13
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 13:45:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=TX9emEbX4SOxXl06RHXqVSiRINeg98OZJRHls5yCZug=; b=21yYzScxNDMpJOV8jg8/P3HkSi
	5sPFh9aWFcBBaTQ9freqQ1SueIbZihHKtszsESuiSMzXaeAIc2L+QjHIcy4cSRG3OWRgE6K/Ms4gr
	ToPuv4mD2E+Gfvrxq82eF7ZqlhFoDBcRnGarl19cdNsIiEuhLKsDEBCR/6ks4qp/aLxk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/hvm: vpt: make hvm_set_guest_time() static
Message-Id: <E1vIogK-003aja-13@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 13:45:12 +0000

commit e00c1673992e07ed31e9c60fefa8d053491abbe6
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Oct 23 15:05:42 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 11 11:32:18 2025 +0000

    x86/hvm: vpt: make hvm_set_guest_time() static
    
    The hvm_set_guest_time() is used only inside vpt.c, so make it static.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/hvm/vpt.c             | 2 +-
 xen/arch/x86/include/asm/hvm/hvm.h | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 4d86830644..50ed738998 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -48,7 +48,7 @@ uint64_t hvm_get_guest_time_fixed(const struct vcpu *v, uint64_t at_tsc)
     return now + v->arch.hvm.stime_offset;
 }
 
-void hvm_set_guest_time(struct vcpu *v, u64 guest_time)
+static void hvm_set_guest_time(struct vcpu *v, u64 guest_time)
 {
     u64 offset = guest_time - hvm_get_guest_time(v);
 
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index f02183691e..838ad5b59e 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -287,7 +287,6 @@ u64 hvm_scale_tsc(const struct domain *d, u64 tsc);
 u64 hvm_get_tsc_scaling_ratio(u32 gtsc_khz);
 
 void hvm_init_guest_time(struct domain *d);
-void hvm_set_guest_time(struct vcpu *v, u64 guest_time);
 uint64_t hvm_get_guest_time_fixed(const struct vcpu *v, uint64_t at_tsc);
 
 int vmsi_deliver(
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 16:11:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 16:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159085.1487472 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIqxT-0000uy-9O; Tue, 11 Nov 2025 16:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159085.1487472; Tue, 11 Nov 2025 16:11:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIqxT-0000ur-6m; Tue, 11 Nov 2025 16:11:03 +0000
Received: by outflank-mailman (input) for mailman id 1159085;
 Tue, 11 Nov 2025 16:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIqxS-0000ul-3q
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 16:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIqxS-001jFe-0D
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 16:11:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIqxS-003wnR-05
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 16:11:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=wet8z5BNs9OIMkEieTx1qq8cHMiScsMzn5p+w3Ryw3U=; b=jMUm/8uC6wAZ+RToj5ZljFjeaR
	H29Iv7Eac+aXN8iwFbMC2Ph+tjncD2L8gFB4BAWK56kgPmCTvJLg5mwqP4HTRTBiE6jT7eETfnUVj
	shC0aVSoDXid8Ee75Ep/rJQnsVPCCZUjzWfnPJ9UFORqsxV+gmqzQwSo066thpHeQ8gw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/hvm: mem_sharing: add dependency from CONFIG_INTEL_VMX
Message-Id: <E1vIqxS-003wnR-05@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 16:11:02 +0000

commit 033527e61b1e0d4a5a37a5cce208cf32a7361c6b
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Tue Nov 11 14:44:09 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 11 14:44:09 2025 +0100

    x86/hvm: mem_sharing: add dependency from CONFIG_INTEL_VMX
    
    According to the commit b66e28226dd9 ("x86/mem_sharing: gate enabling on
    cpu_has_vmx") the Xen memory sharing support is only possible on platforms
    with "Intel VT-x" (INTEL_VMX=y) enabled.
    The same commit is also added runtime check for "cpu_has_vmx" in
    mem_sharing_control() which blocks access to XENMEM_sharing_ops if
    !cpu_has_vmx.
    
    Hence add dependency from INTEL_VMX for MEM_SHARING Kconfig option.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index f10a2b3744..c323d767e7 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -69,5 +69,6 @@ config MEM_PAGING
 
 config MEM_SHARING
 	bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
+	depends on INTEL_VMX
 
 endif
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 16:11:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 16:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159086.1487476 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIqxd-0000wc-Az; Tue, 11 Nov 2025 16:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159086.1487476; Tue, 11 Nov 2025 16:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vIqxd-0000wU-8Q; Tue, 11 Nov 2025 16:11:13 +0000
Received: by outflank-mailman (input) for mailman id 1159086;
 Tue, 11 Nov 2025 16:11:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIqxc-0000wO-65
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 16:11:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIqxc-001jFi-0V
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 16:11:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIqxc-003woy-0N
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 16:11:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=wzSmV/IJkqMWCCBQO5ngDBvp+/tVUxxyto0RevkJBR4=; b=401KhM1Vx4nv780ZCpx8LiVEsP
	rijKPrSWl6zJCZ72gZFmiMHyLOHkYn7793UoPjJmd7hfeCUjB4+wv2U46NR52ZyN9BiVC+d5v7aja
	WzXOw9xZC1P1Ln01rQKMODwDlqsLfGiQDhAaOQC2XCt+WjWe1RxxGnyNmeOG77TfzRMo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/ppc: Fix tooling FTBFS due to missing definitions in public header
Message-Id: <E1vIqxc-003woy-0N@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 16:11:12 +0000

commit a2acb827c6bb4c403884f0e407899058b2698f9d
Author:     Timothy Pearson <tpearson@raptorengineering.com>
AuthorDate: Tue Nov 11 14:44:25 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 11 14:44:25 2025 +0100

    xen/ppc: Fix tooling FTBFS due to missing definitions in public header
    
    int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
    is in use.
    
    Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/public/arch-ppc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.h
index 4ca453a284..264e20b89e 100644
--- a/xen/include/public/arch-ppc.h
+++ b/xen/include/public/arch-ppc.h
@@ -11,7 +11,7 @@
 #ifndef __XEN_PUBLIC_ARCH_PPC_H__
 #define __XEN_PUBLIC_ARCH_PPC_H__
 
-#if defined(__XEN__) || defined(__XEN_TOOLS__)
+#if defined(__XEN__) || defined(__XEN_TOOLS__) || defined(__GNUC__)
 #define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
 #define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 16:11:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 16:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159087.1487481 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIqxn-0000yr-Cu; Tue, 11 Nov 2025 16:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159087.1487481; Tue, 11 Nov 2025 16:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIqxn-0000yj-9j; Tue, 11 Nov 2025 16:11:23 +0000
Received: by outflank-mailman (input) for mailman id 1159087;
 Tue, 11 Nov 2025 16:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIqxm-0000yd-CG
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 16:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIqxm-001jFp-0x
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 16:11:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIqxm-003wsF-0f
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 16:11:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=cah39gIFs7aM++Cn5su50413p3efM9FhEzbq0kO9Hyo=; b=OZvqEE1ZEmZcxu6t/oX5IdrhBM
	6PtbLXr7TP78Mh8keCgGRWoQbCxAH6/8NaWZX0lDU+cpyFbVTvrpjRRxQcReARuGHTf7ojMsy6MoN
	OOUeEm5p64cvLkvuLqSk9DmS6iJr1LqUjryPWarzXlHw/BYr2Yg1ijWEHc53M0IAqMDQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vIqxm-003wsF-0f@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 16:11:22 +0000

commit c22b6dced06a74d59cc0b9770366acf7be7515fe
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Tue Nov 11 14:44:47 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 11 14:44:47 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index eadf108aa5..c2e756bf4b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index ad4de908b8..c70623153b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -389,7 +389,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 07c4accf88..a5e5af3b76 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 17:33:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 17:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159184.1487558 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIsEo-0006Da-TX; Tue, 11 Nov 2025 17:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159184.1487558; Tue, 11 Nov 2025 17:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIsEo-0006DS-Qm; Tue, 11 Nov 2025 17:33:02 +0000
Received: by outflank-mailman (input) for mailman id 1159184;
 Tue, 11 Nov 2025 17:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIsEo-0006DM-6J
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 17:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIsEo-001kfA-0Q
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 17:33:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIsEo-004EUy-0F
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 17:33:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ptjLYG27J6dWx+i2AjF6QvMBl54QT+6nqQ4cqSdED5Y=; b=F6VjfvakSz2KEuWULDdKIHCbqg
	REOQNT5CyOfEzsXZnn9YS1wp3vuJPhC/5gBKCwmJuHLH5QonRFD1LKLVx14Hvbhwr64rXfYwH821j
	F/za6lH4JgPDahFmGk5s3a3mvTAPGVQUVLpgX4A3SEmQdvPOxfDAOwE3DV7zBwoDssLw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/hvm: mem_sharing: add dependency from CONFIG_INTEL_VMX
Message-Id: <E1vIsEo-004EUy-0F@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 17:33:02 +0000

commit 033527e61b1e0d4a5a37a5cce208cf32a7361c6b
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Tue Nov 11 14:44:09 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 11 14:44:09 2025 +0100

    x86/hvm: mem_sharing: add dependency from CONFIG_INTEL_VMX
    
    According to the commit b66e28226dd9 ("x86/mem_sharing: gate enabling on
    cpu_has_vmx") the Xen memory sharing support is only possible on platforms
    with "Intel VT-x" (INTEL_VMX=y) enabled.
    The same commit is also added runtime check for "cpu_has_vmx" in
    mem_sharing_control() which blocks access to XENMEM_sharing_ops if
    !cpu_has_vmx.
    
    Hence add dependency from INTEL_VMX for MEM_SHARING Kconfig option.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index f10a2b3744..c323d767e7 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -69,5 +69,6 @@ config MEM_PAGING
 
 config MEM_SHARING
 	bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
+	depends on INTEL_VMX
 
 endif
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 17:33:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 17:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159185.1487561 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIsEz-0006Ft-0T; Tue, 11 Nov 2025 17:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159185.1487561; Tue, 11 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vIsEy-0006Fm-UA; Tue, 11 Nov 2025 17:33:12 +0000
Received: by outflank-mailman (input) for mailman id 1159185;
 Tue, 11 Nov 2025 17:33:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIsEy-0006Fc-83
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 17:33:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIsEy-001kfG-0i
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 17:33:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIsEy-004EVT-0a
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 17:33:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=8vz9/81xUd1J30NNyrJVancetYPVQN7rPJPSdA8T1g0=; b=EbDbHjS4iuV7TT2oodvZb6MCo1
	xjAEAOxMjmK5lxPUvOyt2TcOkDISOMGATUYbD9YFFz8nT90+wG3X5QrMoh+LMqv2F6ixEudbH5Q5L
	2OjkNLkBFOIGv+xSus8E4p4gER31IlfFrsMnwpZi+4CL/ycEcr6GEtygeF4ZC25nZeAg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/ppc: Fix tooling FTBFS due to missing definitions in public header
Message-Id: <E1vIsEy-004EVT-0a@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 17:33:12 +0000

commit a2acb827c6bb4c403884f0e407899058b2698f9d
Author:     Timothy Pearson <tpearson@raptorengineering.com>
AuthorDate: Tue Nov 11 14:44:25 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 11 14:44:25 2025 +0100

    xen/ppc: Fix tooling FTBFS due to missing definitions in public header
    
    int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
    is in use.
    
    Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/public/arch-ppc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.h
index 4ca453a284..264e20b89e 100644
--- a/xen/include/public/arch-ppc.h
+++ b/xen/include/public/arch-ppc.h
@@ -11,7 +11,7 @@
 #ifndef __XEN_PUBLIC_ARCH_PPC_H__
 #define __XEN_PUBLIC_ARCH_PPC_H__
 
-#if defined(__XEN__) || defined(__XEN_TOOLS__)
+#if defined(__XEN__) || defined(__XEN_TOOLS__) || defined(__GNUC__)
 #define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
 #define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 11 17:33:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Nov 2025 17:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159186.1487566 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vIsF9-0006IB-29; Tue, 11 Nov 2025 17:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159186.1487566; Tue, 11 Nov 2025 17:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vIsF8-0006I3-Vl; Tue, 11 Nov 2025 17:33:22 +0000
Received: by outflank-mailman (input) for mailman id 1159186;
 Tue, 11 Nov 2025 17:33:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vIsF8-0006Ht-Bg
 for xen-changelog@lists.xenproject.org; Tue, 11 Nov 2025 17:33:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIsF8-001kfL-14
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 17:33:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vIsF8-004EW3-0t
 for xen-changelog@lists.xenproject.org;
 Tue, 11 Nov 2025 17:33:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=MceN3fS1q+ivSdj7hGmFp09o8lNnIeghexKpfpM2E28=; b=bL/wAyn9FyPWFa1RQrBxYrq8sb
	Koq1zd+VqrX2poHrejzcnRPazKFnZ/DAAxhcW2MvOVutM/PR6nHrOtcloIvgt7OnKPbivRup0Z/zo
	jgZH6X3rumZWX1E6F2yw+awjjc0UeQ/02WVTYpgD5nB6knEH/x6wjQxwApltHAWCSXqk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vIsF8-004EW3-0t@xenbits.xenproject.org>
Date: Tue, 11 Nov 2025 17:33:22 +0000

commit c22b6dced06a74d59cc0b9770366acf7be7515fe
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Tue Nov 11 14:44:47 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 11 14:44:47 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index eadf108aa5..c2e756bf4b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index ad4de908b8..c70623153b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -389,7 +389,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 07c4accf88..a5e5af3b76 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 12 10:00:11 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Nov 2025 10:00:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159642.1487947 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJ7dz-0006Fj-D5; Wed, 12 Nov 2025 10:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159642.1487947; Wed, 12 Nov 2025 10:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJ7dz-0006FK-9m; Wed, 12 Nov 2025 10:00:03 +0000
Received: by outflank-mailman (input) for mailman id 1159642;
 Wed, 12 Nov 2025 10:00:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJ7dy-00065N-Im
 for xen-changelog@lists.xenproject.org; Wed, 12 Nov 2025 10:00:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJ7dy-003JgE-1f
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 10:00:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJ7dy-006KO5-1X
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 10:00:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=fOluN/nZCvnz+mWdtv0aCRHLKj9hi8xnVb8r6pOHabY=; b=itvRLcNvQhxGV6T2eVeCcvbO0r
	TUjCimPbMoZoo/jjMkOO/qJ8JMaCDOs9I2alJ3W+jmstNyKKmEw/3yqUZxJ7roqImHxC0MGAOeQnK
	c35JFZwlxEsSLW5rQcnIxYPe5ln+8NLJ3qcmRjpiZb4BTYpVIpI0uTEHCUNpKIDw9/6k=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/io_apic: Use pin_list_next() in loops
Message-Id: <E1vJ7dy-006KO5-1X@xenbits.xenproject.org>
Date: Wed, 12 Nov 2025 10:00:02 +0000

commit 739c004d36f704dc9f5f586874387f2b2d565158
Author:     Jason Andryuk <jason.andryuk@amd.com>
AuthorDate: Wed Nov 12 09:35:42 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 12 09:35:42 2025 +0100

    x86/io_apic: Use pin_list_next() in loops
    
    io_apic.c has a lot of ad-hoc for(;;) and while(1) loops for iterating
    over irq_pin_list entries.  Replace them with a standardized
    for loop using pin_list_next() to advance entry.
    
    Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/io_apic.c | 33 ++++++---------------------------
 1 file changed, 6 insertions(+), 27 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 24447aef6c..d20ab2aa98 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -208,15 +208,12 @@ static void __init replace_pin_at_irq(unsigned int irq,
 {
     struct irq_pin_list *entry = irq_2_pin + irq;
 
-    while (1) {
+    for (; entry; entry = pin_list_next(entry)) {
         if (entry->apic == oldapic && entry->pin == oldpin) {
             entry->apic = newapic;
             entry->pin = newpin;
             share_vector_maps(oldapic, newapic);
         }
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -490,7 +487,7 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
 {
     struct irq_pin_list *entry = irq_2_pin + irq;
 
-    for (;;) {
+    for (; entry; entry = pin_list_next(entry)) {
         unsigned int pin = entry->pin;
         struct IO_APIC_route_entry rte;
 
@@ -500,9 +497,6 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
         rte.raw &= ~(uint64_t)disable;
         rte.raw |= enable;
         __ioapic_write_entry(entry->apic, pin, false, rte);
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -553,14 +547,11 @@ static void __eoi_IO_APIC_irq(struct irq_desc *desc)
     struct irq_pin_list *entry = irq_2_pin + desc->irq;
     unsigned int pin, vector = desc->arch.vector;
 
-    for (;;) {
+    for (; entry; entry = pin_list_next(entry)) {
         pin = entry->pin;
         if (pin == -1)
             break;
         __io_apic_eoi(entry->apic, vector, pin);
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -640,7 +631,7 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
         if ( !iommu_intremap || !x2apic_enabled )
             dest = SET_APIC_LOGICAL_ID(dest);
         entry = irq_2_pin + irq;
-        for (;;) {
+        for (; entry; entry = pin_list_next(entry)) {
             struct IO_APIC_route_entry rte;
 
             pin = entry->pin;
@@ -651,10 +642,6 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
             rte.dest.dest32 = dest;
             rte.vector = desc->arch.vector;
             __ioapic_write_entry(entry->apic, pin, false, rte);
-
-            if (!entry->next)
-                break;
-            entry = irq_2_pin + entry->next;
         }
     }
 
@@ -1316,12 +1303,8 @@ static void /*__init*/ __print_IO_APIC(bool boot)
         if (entry->pin < 0)
             continue;
         printk(KERN_DEBUG "IRQ%d ", irq_to_desc(i)->arch.vector);
-        for (;;) {
+        for (; entry; entry = pin_list_next(entry))
             printk("-> %d:%d", entry->apic, entry->pin);
-            if (!entry->next)
-                break;
-            entry = irq_2_pin + entry->next;
-        }
         printk("\n");
     }
 
@@ -2415,7 +2398,7 @@ void dump_ioapic_irq_info(void)
 
         printk("    IRQ%3d Vec%3d:\n", irq, irq_to_vector(irq));
 
-        for ( ; ; )
+        for ( ; entry; entry = pin_list_next(entry))
         {
             pin = entry->pin;
 
@@ -2432,10 +2415,6 @@ void dump_ioapic_irq_info(void)
                    (x2apic_enabled && iommu_intremap) ? 8 : 2,
                    (x2apic_enabled && iommu_intremap) ?
                        rte.dest.dest32 : rte.dest.logical.logical_dest);
-
-            if ( entry->next == 0 )
-                break;
-            entry = &irq_2_pin[entry->next];
         }
     }
 }
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 12 10:00:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Nov 2025 10:00:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159643.1487950 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJ7e9-0006jK-EB; Wed, 12 Nov 2025 10:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159643.1487950; Wed, 12 Nov 2025 10:00:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJ7e9-0006jC-BW; Wed, 12 Nov 2025 10:00:13 +0000
Received: by outflank-mailman (input) for mailman id 1159643;
 Wed, 12 Nov 2025 10:00:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJ7e8-0006j4-L1
 for xen-changelog@lists.xenproject.org; Wed, 12 Nov 2025 10:00:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJ7e8-003JgI-20
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 10:00:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJ7e8-006KQA-1q
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 10:00:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=1v2/AXpOSKzCgChFiEtZE0P/go+UDZXm2zvO5Amk9R8=; b=ULiIlNqPQmb211VFEPGKc2kXxa
	GUXtqliZpx2fRGsqeqUxvTTwDL+Lmc3ILAe2REdb76GlJJGhPTlGgGQHlIbRC70Jbib2XRsIoGBkW
	b2/Xu3ocXIa1d39s/7v9kSpGH9iwzJnUiThFCSZpmWPMxa9n9FfhgrwpqLuDxXfpaKxo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] acpi: Set TPM2 LAML to actual log area size
Message-Id: <E1vJ7e8-006KQA-1q@xenbits.xenproject.org>
Date: Wed, 12 Nov 2025 10:00:12 +0000

commit 242a5f75eea221cd959b6573bff9417b6d27f2be
Author:     Tu Dinh <ngoc-tu.dinh@vates.tech>
AuthorDate: Wed Nov 12 09:36:06 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 12 09:36:06 2025 +0100

    acpi: Set TPM2 LAML to actual log area size
    
    The LAML field should follow the TCG PC Client Platform Firmware Profile
    Specification Version. Version 1.06 Revision 52 says:
    
    'The TCG ACPI specification uses the field name "Log Area Minimum
     Length", but the field value is the actual log area length reserved by
     Platform Firmware, not a lower bound.'
    
    Remove the now-unused TPM_LOG_AREA_MINIMUM_SIZE.
    
    No functional change.
    
    Signed-off-by: Tu Dinh <ngoc-tu.dinh@vates.tech>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 tools/libacpi/acpi2_0.h | 1 -
 tools/libacpi/build.c   | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/tools/libacpi/acpi2_0.h b/tools/libacpi/acpi2_0.h
index 6dfa939a8c..51623e2a8a 100644
--- a/tools/libacpi/acpi2_0.h
+++ b/tools/libacpi/acpi2_0.h
@@ -140,7 +140,6 @@ struct acpi_20_tpm2 {
 
 #define TPM_LOG_AREA_ADDRESS        0xFED50000
 
-#define TPM_LOG_AREA_MINIMUM_SIZE   (64 << 10)
 #define TPM_LOG_SIZE                (64 << 10)
 
 /*
diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c
index 2f29863db1..95188e217e 100644
--- a/tools/libacpi/build.c
+++ b/tools/libacpi/build.c
@@ -473,7 +473,7 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
             tpm2->platform_class = TPM2_ACPI_CLASS_CLIENT;
             tpm2->control_area_address = TPM_CRB_CTRL_REQ;
             tpm2->start_method = TPM2_START_METHOD_CRB;
-            tpm2->log_area_minimum_length = TPM_LOG_AREA_MINIMUM_SIZE;
+            tpm2->log_area_minimum_length = TPM_LOG_SIZE;
             tpm2->log_area_start_address = TPM_LOG_AREA_ADDRESS;
 
             set_checksum(tpm2,
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 12 10:00:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Nov 2025 10:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159644.1487954 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJ7eJ-0006nc-FS; Wed, 12 Nov 2025 10:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159644.1487954; Wed, 12 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vJ7eJ-0006nU-Cs; Wed, 12 Nov 2025 10:00:23 +0000
Received: by outflank-mailman (input) for mailman id 1159644;
 Wed, 12 Nov 2025 10:00:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJ7eI-0006nM-Nm
 for xen-changelog@lists.xenproject.org; Wed, 12 Nov 2025 10:00:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJ7eI-003JgU-2H
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 10:00:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJ7eI-006KSF-2A
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 10:00:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=G3gqvdEiT9BBHjToQ1t1wMG/nqwC4XoXM3AmdSSPA8I=; b=pLdToJiodKE45VJzyaDtRHTLnR
	qns1WcgPTtIYsTpai/m4q0pkXTvr7l9RJg4T+xFRlro6z6E5me5nKLk+OJEXzD+jhf0LKZ99cHB4E
	+EqbkU9z5gWsAOxpJeNFYv4rpNllW14Yh40rY2eqsR3OjCFEGIGyBE3v8owcgHDFi+iQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] config: remove stale definition from Config.mk
Message-Id: <E1vJ7eI-006KSF-2A@xenbits.xenproject.org>
Date: Wed, 12 Nov 2025 10:00:22 +0000

commit 781cf8affe407654fd5d216f3bcb148601f1a61f
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Nov 12 09:36:23 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 12 09:36:23 2025 +0100

    config: remove stale definition from Config.mk
    
    buildmakevars2shellvars is used nowhere, so remove it.
    
    Amends: 1eb944f65055 ("tools: remove qemu-traditional")
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 Config.mk | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/Config.mk b/Config.mk
index 7edbab8efe..e1556dfbfa 100644
--- a/Config.mk
+++ b/Config.mk
@@ -149,12 +149,6 @@ else
 date = $(shell LC_ALL=C date $(1))
 endif
 
-define buildmakevars2shellvars
-    export PREFIX="$(prefix)";                                            \
-    export XEN_SCRIPT_DIR="$(XEN_SCRIPT_DIR)";                            \
-    export XEN_ROOT="$(XEN_ROOT)"
-endef
-
 #
 # Compare $(1) and $(2) and replace $(2) with $(1) if they differ
 #
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 12 12:55:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Nov 2025 12:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159918.1488168 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJANL-0006fI-Em; Wed, 12 Nov 2025 12:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159918.1488168; Wed, 12 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vJANL-0006f9-C6; Wed, 12 Nov 2025 12:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1159918;
 Wed, 12 Nov 2025 12:55:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJANJ-0006f3-LP
 for xen-changelog@lists.xenproject.org; Wed, 12 Nov 2025 12:55:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJANJ-003NDm-21
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 12:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJANJ-006fqv-1u
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 12:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=qb58xAubb1tGJ/1U861vPzauJ4cPk45/y3x+XLHV9+0=; b=b8ixrq8u6xRxm4BjMaFws1nfiL
	X7OGheMF6x6xl8g1HKUTWnn/5GrBlWZotBy4dX7XwpaCxWNk+UYobWQgi4XGxgStiEvxvHRfhx1VI
	kQVBq0OeKZhPOvpFJqNyV0MKiHiRMybWYxVjMNjrIFSf44wPNDgKOvGxeelVvzVIOZrc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/io_apic: Use pin_list_next() in loops
Message-Id: <E1vJANJ-006fqv-1u@xenbits.xenproject.org>
Date: Wed, 12 Nov 2025 12:55:01 +0000

commit 739c004d36f704dc9f5f586874387f2b2d565158
Author:     Jason Andryuk <jason.andryuk@amd.com>
AuthorDate: Wed Nov 12 09:35:42 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 12 09:35:42 2025 +0100

    x86/io_apic: Use pin_list_next() in loops
    
    io_apic.c has a lot of ad-hoc for(;;) and while(1) loops for iterating
    over irq_pin_list entries.  Replace them with a standardized
    for loop using pin_list_next() to advance entry.
    
    Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/io_apic.c | 33 ++++++---------------------------
 1 file changed, 6 insertions(+), 27 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 24447aef6c..d20ab2aa98 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -208,15 +208,12 @@ static void __init replace_pin_at_irq(unsigned int irq,
 {
     struct irq_pin_list *entry = irq_2_pin + irq;
 
-    while (1) {
+    for (; entry; entry = pin_list_next(entry)) {
         if (entry->apic == oldapic && entry->pin == oldpin) {
             entry->apic = newapic;
             entry->pin = newpin;
             share_vector_maps(oldapic, newapic);
         }
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -490,7 +487,7 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
 {
     struct irq_pin_list *entry = irq_2_pin + irq;
 
-    for (;;) {
+    for (; entry; entry = pin_list_next(entry)) {
         unsigned int pin = entry->pin;
         struct IO_APIC_route_entry rte;
 
@@ -500,9 +497,6 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
         rte.raw &= ~(uint64_t)disable;
         rte.raw |= enable;
         __ioapic_write_entry(entry->apic, pin, false, rte);
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -553,14 +547,11 @@ static void __eoi_IO_APIC_irq(struct irq_desc *desc)
     struct irq_pin_list *entry = irq_2_pin + desc->irq;
     unsigned int pin, vector = desc->arch.vector;
 
-    for (;;) {
+    for (; entry; entry = pin_list_next(entry)) {
         pin = entry->pin;
         if (pin == -1)
             break;
         __io_apic_eoi(entry->apic, vector, pin);
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -640,7 +631,7 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
         if ( !iommu_intremap || !x2apic_enabled )
             dest = SET_APIC_LOGICAL_ID(dest);
         entry = irq_2_pin + irq;
-        for (;;) {
+        for (; entry; entry = pin_list_next(entry)) {
             struct IO_APIC_route_entry rte;
 
             pin = entry->pin;
@@ -651,10 +642,6 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
             rte.dest.dest32 = dest;
             rte.vector = desc->arch.vector;
             __ioapic_write_entry(entry->apic, pin, false, rte);
-
-            if (!entry->next)
-                break;
-            entry = irq_2_pin + entry->next;
         }
     }
 
@@ -1316,12 +1303,8 @@ static void /*__init*/ __print_IO_APIC(bool boot)
         if (entry->pin < 0)
             continue;
         printk(KERN_DEBUG "IRQ%d ", irq_to_desc(i)->arch.vector);
-        for (;;) {
+        for (; entry; entry = pin_list_next(entry))
             printk("-> %d:%d", entry->apic, entry->pin);
-            if (!entry->next)
-                break;
-            entry = irq_2_pin + entry->next;
-        }
         printk("\n");
     }
 
@@ -2415,7 +2398,7 @@ void dump_ioapic_irq_info(void)
 
         printk("    IRQ%3d Vec%3d:\n", irq, irq_to_vector(irq));
 
-        for ( ; ; )
+        for ( ; entry; entry = pin_list_next(entry))
         {
             pin = entry->pin;
 
@@ -2432,10 +2415,6 @@ void dump_ioapic_irq_info(void)
                    (x2apic_enabled && iommu_intremap) ? 8 : 2,
                    (x2apic_enabled && iommu_intremap) ?
                        rte.dest.dest32 : rte.dest.logical.logical_dest);
-
-            if ( entry->next == 0 )
-                break;
-            entry = &irq_2_pin[entry->next];
         }
     }
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 12 12:55:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Nov 2025 12:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159919.1488173 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJANV-0006hA-GU; Wed, 12 Nov 2025 12:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159919.1488173; Wed, 12 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vJANV-0006h0-DQ; Wed, 12 Nov 2025 12:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1159919;
 Wed, 12 Nov 2025 12:55:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJANT-0006gl-P3
 for xen-changelog@lists.xenproject.org; Wed, 12 Nov 2025 12:55:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJANT-003NDq-2M
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 12:55:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJANT-006fsl-2B
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 12:55:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=D8raAhkVTgXH45fIS3c7lnmitgBNO4z0BTWN5qC1X+E=; b=pMVx6W0IjkemdsChTveX6GJerL
	mhtx5CwuC8RppX0e25jI8HR13H5Vk5p5eixQaKVtPo+X1yYwiOcaQH4jy5ZAz5tODBGNmBuNYwVww
	batAYZexUspS2FsE+8zXWHCFhOJppxwDDesvYirl2M9oCVdcsNh/ahJ8aCAc37RNBaps=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] acpi: Set TPM2 LAML to actual log area size
Message-Id: <E1vJANT-006fsl-2B@xenbits.xenproject.org>
Date: Wed, 12 Nov 2025 12:55:11 +0000

commit 242a5f75eea221cd959b6573bff9417b6d27f2be
Author:     Tu Dinh <ngoc-tu.dinh@vates.tech>
AuthorDate: Wed Nov 12 09:36:06 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 12 09:36:06 2025 +0100

    acpi: Set TPM2 LAML to actual log area size
    
    The LAML field should follow the TCG PC Client Platform Firmware Profile
    Specification Version. Version 1.06 Revision 52 says:
    
    'The TCG ACPI specification uses the field name "Log Area Minimum
     Length", but the field value is the actual log area length reserved by
     Platform Firmware, not a lower bound.'
    
    Remove the now-unused TPM_LOG_AREA_MINIMUM_SIZE.
    
    No functional change.
    
    Signed-off-by: Tu Dinh <ngoc-tu.dinh@vates.tech>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 tools/libacpi/acpi2_0.h | 1 -
 tools/libacpi/build.c   | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/tools/libacpi/acpi2_0.h b/tools/libacpi/acpi2_0.h
index 6dfa939a8c..51623e2a8a 100644
--- a/tools/libacpi/acpi2_0.h
+++ b/tools/libacpi/acpi2_0.h
@@ -140,7 +140,6 @@ struct acpi_20_tpm2 {
 
 #define TPM_LOG_AREA_ADDRESS        0xFED50000
 
-#define TPM_LOG_AREA_MINIMUM_SIZE   (64 << 10)
 #define TPM_LOG_SIZE                (64 << 10)
 
 /*
diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c
index 2f29863db1..95188e217e 100644
--- a/tools/libacpi/build.c
+++ b/tools/libacpi/build.c
@@ -473,7 +473,7 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
             tpm2->platform_class = TPM2_ACPI_CLASS_CLIENT;
             tpm2->control_area_address = TPM_CRB_CTRL_REQ;
             tpm2->start_method = TPM2_START_METHOD_CRB;
-            tpm2->log_area_minimum_length = TPM_LOG_AREA_MINIMUM_SIZE;
+            tpm2->log_area_minimum_length = TPM_LOG_SIZE;
             tpm2->log_area_start_address = TPM_LOG_AREA_ADDRESS;
 
             set_checksum(tpm2,
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 12 12:55:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Nov 2025 12:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1159920.1488176 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJANf-0006kx-HW; Wed, 12 Nov 2025 12:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1159920.1488176; Wed, 12 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vJANf-0006km-Ei; Wed, 12 Nov 2025 12:55:23 +0000
Received: by outflank-mailman (input) for mailman id 1159920;
 Wed, 12 Nov 2025 12:55:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJANd-0006kd-RR
 for xen-changelog@lists.xenproject.org; Wed, 12 Nov 2025 12:55:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJANd-003NE0-2e
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 12:55:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJANd-006fu5-2W
 for xen-changelog@lists.xenproject.org;
 Wed, 12 Nov 2025 12:55:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=G3dAzcFa+HTURM52oQnI2zVnjUX4q2gvqRLZmM5iSoE=; b=dshkcD9Nh38En83tBO0osDgqM9
	lf4dUjAN3rpkp+K9uut7VQ0ndQ6tMZnJbM34txn6No4zMmlJvgh+6z1fVsa0vroQ1nRG9nSdj5lhg
	3IHaJf130psVLaDiJXdcjOjJ/QnfOipSwDM72JxXPvbcDg6DkZQHo05hk11fE/U3ek3E=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] config: remove stale definition from Config.mk
Message-Id: <E1vJANd-006fu5-2W@xenbits.xenproject.org>
Date: Wed, 12 Nov 2025 12:55:21 +0000

commit 781cf8affe407654fd5d216f3bcb148601f1a61f
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Nov 12 09:36:23 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 12 09:36:23 2025 +0100

    config: remove stale definition from Config.mk
    
    buildmakevars2shellvars is used nowhere, so remove it.
    
    Amends: 1eb944f65055 ("tools: remove qemu-traditional")
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 Config.mk | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/Config.mk b/Config.mk
index 7edbab8efe..e1556dfbfa 100644
--- a/Config.mk
+++ b/Config.mk
@@ -149,12 +149,6 @@ else
 date = $(shell LC_ALL=C date $(1))
 endif
 
-define buildmakevars2shellvars
-    export PREFIX="$(prefix)";                                            \
-    export XEN_SCRIPT_DIR="$(XEN_SCRIPT_DIR)";                            \
-    export XEN_ROOT="$(XEN_ROOT)"
-endef
-
 #
 # Compare $(1) and $(2) and replace $(2) with $(1) if they differ
 #
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 08:55:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 08:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160744.1488780 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJT6d-0003pn-P7; Thu, 13 Nov 2025 08:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160744.1488780; Thu, 13 Nov 2025 08: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-changelog-bounces@lists.xenproject.org>)
	id 1vJT6d-0003pf-MT; Thu, 13 Nov 2025 08:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1160744;
 Thu, 13 Nov 2025 08:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJT6c-0003pZ-49
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 08:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT6c-004zev-0I
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT6c-00902Q-08
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=N8C/YUelphKDZV5I2l8YmNR9Qe1K5b0YyKPVY6F09tE=; b=ZTjxK3tdY2vDUg0q5nf4hgy3+s
	gF7KCD54/sGXrOQLjQQ0O1FCefuWhIvP37IJeqqfaKSvdD7eowUEps2p3Km+Zdzw3nX/52EW6+i6H
	HemUxr40ZdVMPUmrey1CjY2aJff4wWwo/aB5+SCm2daMVkJ/lEnCv2BDkpxfFG5E93Lg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vJT6c-00902Q-08@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 08:55:02 +0000

commit 3cf64acdd486c246f9053f9ff5dc672383462df9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 09:37:57 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:37:57 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 3907ea4ba9c9229970018e88871696a9f933faa5
    master date: 2025-11-10 16:56:03 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 36934304c1..af7f8f8aed 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -648,10 +648,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 08:55:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 08:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160745.1488784 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJT6n-0003rR-QU; Thu, 13 Nov 2025 08:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160745.1488784; Thu, 13 Nov 2025 08: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-changelog-bounces@lists.xenproject.org>)
	id 1vJT6n-0003rJ-Nu; Thu, 13 Nov 2025 08:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1160745;
 Thu, 13 Nov 2025 08:55:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJT6m-0003qz-87
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 08:55:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT6m-004zfI-0d
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT6m-009045-0U
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=0/MQ7P/Co+zIYTOCU1TYhImpV0TM437O6VLnhdY2u6E=; b=OHh400A6S8ca1EBqhG4HEE/wW9
	FpNe4a0yXBd6YDNAYJ25ksUtUAXQYhD98s+SRFAo7nPHP8bNlh3+NhePdDmEzkNFYOiBmVdi35VjL
	HNYJIN8RU/7XgBFN/BT6KyzT6ol8+26Yo6ucyFVP98jpYr4W672HqP10xCoArFEJI1jI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vJT6m-009045-0U@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 08:55:12 +0000

commit 679cca218ae6386cce0c776f1e5cb8d5f7362a99
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Thu Nov 13 09:38:59 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:38:59 2025 +0100

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: d510f9c1430cf52204da672260a6926138a985c2
    master date: 2025-11-10 16:56:03 +0000
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 8e1422104e..f445f9adba 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2461,7 +2461,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 08:55:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 08:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160746.1488788 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJT6x-0003vM-Ro; Thu, 13 Nov 2025 08:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160746.1488788; Thu, 13 Nov 2025 08: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-changelog-bounces@lists.xenproject.org>)
	id 1vJT6x-0003vE-PD; Thu, 13 Nov 2025 08:55:23 +0000
Received: by outflank-mailman (input) for mailman id 1160746;
 Thu, 13 Nov 2025 08:55:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJT6w-0003uy-AQ
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 08:55:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT6w-004zfS-0u
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT6w-009053-0n
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=0naJzig9XeeZBQIy6sMbQhiypOnQcS3Fregudw/b1Z0=; b=SgZe7Jpo+9brPucxlZRrxsn4iR
	fMYHOjTT//qSxb+SlQGcFAtTFzqfcA8axBFvN/H9lUm/6JdrQpcljEjgGPUCZ2e+l5CnRQRtgappU
	89huoQnl6MqOADQ8BNMpyf3babMgus2eB7Ep20y77KJ0LqbVp6y6x+zd02fI9WTvRMjM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vJT6w-009053-0n@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 08:55:22 +0000

commit 2caf8896c94241a2be591533e113d5e9e35a3758
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Thu Nov 13 09:39:10 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:39:10 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: c22b6dced06a74d59cc0b9770366acf7be7515fe
    master date: 2025-11-11 14:44:47 +0100
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index 88c1464816..1ea71430ed 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index 87ff7ad190..9a746a860f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -282,7 +282,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 72fdb83760..a06a0af355 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 08:55:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 08:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160747.1488792 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJT77-0003xU-TK; Thu, 13 Nov 2025 08:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160747.1488792; Thu, 13 Nov 2025 08: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-changelog-bounces@lists.xenproject.org>)
	id 1vJT77-0003xM-QZ; Thu, 13 Nov 2025 08:55:33 +0000
Received: by outflank-mailman (input) for mailman id 1160747;
 Thu, 13 Nov 2025 08:55:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJT76-0003xA-Pq
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 08:55:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT76-004zfY-2J
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT76-00907Q-2A
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=vvijjsm0MtinI/QsWFwM7B+yVt9Dppsr3mr/VKFSXvw=; b=aDb4xhuzq56ysBR6ijNJAoRPXn
	7UJG2IFeR0bx+u9dC6ESJuNIyngs2bE8IlhuZni/MrXLB+YwUgoyefXOLAnaMgybZ1amkAUEUbiaT
	QEKTKvkQ3U4oR9EY8Z1t5Bo5RS/xrE63msGzqPrecaRtZcAEC9+bFAErnYP49ZVJsOgA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vJT76-00907Q-2A@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 08:55:32 +0000

commit 7bc8fb2f8d06cceb2ad06bb7ba5e9a827dd3db78
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 09:40:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:40:01 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 3907ea4ba9c9229970018e88871696a9f933faa5
    master date: 2025-11-10 16:56:03 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 6969ae734d..b9097b9f76 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -640,10 +640,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 08:55:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 08:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160748.1488795 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJT7H-0003zP-UR; Thu, 13 Nov 2025 08:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160748.1488795; Thu, 13 Nov 2025 08: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-changelog-bounces@lists.xenproject.org>)
	id 1vJT7H-0003zI-Ru; Thu, 13 Nov 2025 08:55:43 +0000
Received: by outflank-mailman (input) for mailman id 1160748;
 Thu, 13 Nov 2025 08:55:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJT7G-0003z5-RH
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 08:55:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT7G-004zfc-2d
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT7G-00908q-2T
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=teMi751DKMWXv7ktFjpNcjvmV/VwA+MAhVPf9+yKtK4=; b=zXhs/5SnNV6ZFP8Rq1KL5HWwi/
	UIW1DUHf9fg6HzHjx7OeEoGHhwFMyXPElUPn+fr900PJ80OfUG7SFjS1Yxaq9sXC8O6cEISU0TqIb
	iQOaqjvdkImGrxl8TdDduNy5fToqN209K0KXYQiUHiqDF0fuxhjiQVvQbuibFu1zsa2U=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vJT7G-00908q-2T@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 08:55:42 +0000

commit 38ad2ce68a13bdbda886593a946806db5cc0b1e4
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Thu Nov 13 09:40:26 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:40:26 2025 +0100

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: d510f9c1430cf52204da672260a6926138a985c2
    master date: 2025-11-10 16:56:03 +0000
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ac3f88fd57..e9a0cd4a5c 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2461,7 +2461,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 08:55:54 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 08:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160749.1488800 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJT7S-00042E-13; Thu, 13 Nov 2025 08:55:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160749.1488800; Thu, 13 Nov 2025 08: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-changelog-bounces@lists.xenproject.org>)
	id 1vJT7R-000425-UY; Thu, 13 Nov 2025 08:55:53 +0000
Received: by outflank-mailman (input) for mailman id 1160749;
 Thu, 13 Nov 2025 08:55:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJT7Q-00041q-UC
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 08:55:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT7Q-004zfg-2v
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJT7Q-0090AF-2o
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 08:55:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=d4PfnHWx64HQppxdyPfin+sgSfIdFEJt8KUZDpB+6NQ=; b=akILhHZVbinKEBpepzAsHYV2wr
	1Z2wUF3BNhx0loLswHDm6+G/O1pq626aSDDuXkJYk5I09xFRSlPHGXJlS+u/v/my0ZQaeJPjg8aMx
	G+WJ2xdXoztyXi6hT1wOx7SHiu4jPcdufBC1YcrIbnmO245PFAih07E7omTbQffbe3lM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vJT7Q-0090AF-2o@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 08:55:52 +0000

commit 3fb951af741ab2faa5a44d413fe1393cdeea05c4
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Thu Nov 13 09:40:37 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:40:37 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: c22b6dced06a74d59cc0b9770366acf7be7515fe
    master date: 2025-11-11 14:44:47 +0100
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index 88c1464816..1ea71430ed 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index fe81ed63ad..72ffd80578 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -278,7 +278,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index e459cdac0c..ae7e44bb3f 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 09:22:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 09:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160788.1488834 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJTWl-000120-FY; Thu, 13 Nov 2025 09:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160788.1488834; Thu, 13 Nov 2025 09: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-changelog-bounces@lists.xenproject.org>)
	id 1vJTWl-00011s-D5; Thu, 13 Nov 2025 09:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1160788;
 Thu, 13 Nov 2025 09:22:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJTWk-00010F-2Y
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 09:22:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJTWk-0050Hk-00
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:22:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJTWj-0093J8-34
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:22:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=19Ipn/Ijmni51kakwiagwFDE76Rr1es6HI/QMsCFZng=; b=LwAdD6TElVgTxHcPXlkXG63EPj
	V3WelZ5V7aMIghgPhK0rtp5MLNqwybQDm6ySrLnEVnaha85nLhSP4VBxUq3Sc3AmqWo0iiOOksodG
	3eCHCPMidIqbMAUt0t/4NdlH35mQT8pBo1Rh+n3Q6tp6SKoXdl/GSbs94oRM2N2kfK9Q=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86emul/test: extend cleaning of generated files
Message-Id: <E1vJTWj-0093J8-34@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 09:22:01 +0000

commit 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 09:08:27 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:08:27 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 34f48d83b3..fefa29a06c 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -261,7 +261,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 09:22:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 09:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160789.1488838 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJTWv-00016B-H0; Thu, 13 Nov 2025 09:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160789.1488838; Thu, 13 Nov 2025 09:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vJTWv-000163-EO; Thu, 13 Nov 2025 09:22:13 +0000
Received: by outflank-mailman (input) for mailman id 1160789;
 Thu, 13 Nov 2025 09:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJTWu-00015t-4E
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 09:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJTWu-0050IN-0J
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:22:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJTWu-0093Jw-0A
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:22:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=F0LTsAHdcrEiY7FSUsN/gjFHkDdIpCslam0gP0mpYws=; b=Gwn7H0mmOJZRb5yazAzuOdwuM8
	SM1degaZyK5dVVTeEeBMF0xBK4nGcMjDM/LA8NFvB0w8RGbzCDSwc2QXqiTcVAeSrCCpkz4rOztO+
	6U0dfLoIOctF10TvBT+DHk/opCJ1kURueJB3UVU/EaUki30C4cWNDRZNgX3r6F1F99n8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86: there's no use for -mpreferred-stack-boundary= when assembling
Message-Id: <E1vJTWu-0093Jw-0A@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 09:22:12 +0000

commit 0ca7deb02da41e06422f258461509d4d26da42bd
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 09:08:53 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:08:53 2025 +0100

    x86: there's no use for -mpreferred-stack-boundary= when assembling
    
    This option is only relevant for C ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/Rules.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index ff7c7dd68a..c830cb14d4 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -7,4 +7,4 @@ else
 object_label_flags = '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$@))'
 endif
 c_flags += $(object_label_flags) $(CFLAGS_stack_boundary)
-a_flags += $(object_label_flags) $(CFLAGS_stack_boundary)
+a_flags += $(object_label_flags)
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 09:22:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 09:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160790.1488841 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJTX5-000189-I9; Thu, 13 Nov 2025 09:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160790.1488841; Thu, 13 Nov 2025 09:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJTX5-000181-Fl; Thu, 13 Nov 2025 09:22:23 +0000
Received: by outflank-mailman (input) for mailman id 1160790;
 Thu, 13 Nov 2025 09:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJTX4-00017t-7K
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 09:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJTX4-0050Ij-0a
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:22:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJTX4-0093Ki-0T
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:22:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=C5c49RFlp8qsdavFeMF4gmbBQoKdMVYGs6AhxrMydfw=; b=2DZrPxweMnQZjKYAd1DGDozl+N
	H7L37p5vn9dAcqAQGhT3gkX3zfhRlHPHQDcdB+X9BFaLm4jPDqp6wC51JE0PX7ehxNTU2+AAIGJDU
	Wu18mdIbwjxcN7+BXUkPsUJlpUJmkG2aeWMpZG/Eh4Z/DWg3maFnb4tOCFKllqJrLVuk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/IRQ: use LOCK-free bit setting in init_irq_data()
Message-Id: <E1vJTX4-0093Ki-0T@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 09:22:22 +0000

commit a71f56be01c752bf87e2c4bf6ee08d9225d6b429
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 09:09:11 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:09:11 2025 +0100

    x86/IRQ: use LOCK-free bit setting in init_irq_data()
    
    Much like done later in the function, syscall and hypercall vectors can
    have their bits set without use of LOCKed accesses.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/irq.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index ba2f02eb0c..80f7417d21 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -450,12 +450,12 @@ int __init init_irq_data(void)
 
 #ifdef CONFIG_PV
     /* Never allocate the Linux/BSD fast-trap vector. */
-    set_bit(LEGACY_SYSCALL_VECTOR, used_vectors);
+    __set_bit(LEGACY_SYSCALL_VECTOR, used_vectors);
 #endif
 
 #ifdef CONFIG_PV32
     /* Never allocate the hypercall vector. */
-    set_bit(HYPERCALL_VECTOR, used_vectors);
+    __set_bit(HYPERCALL_VECTOR, used_vectors);
 #endif
     
     /*
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 09:55:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 09:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160868.1488906 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJU2i-0000ID-8W; Thu, 13 Nov 2025 09:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160868.1488906; Thu, 13 Nov 2025 09:55:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJU2i-0000I2-5t; Thu, 13 Nov 2025 09:55:04 +0000
Received: by outflank-mailman (input) for mailman id 1160868;
 Thu, 13 Nov 2025 09:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJU2g-0000Ht-5U
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 09:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU2g-00515V-0K
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:55:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU2g-0097OH-0C
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:55:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=PGGbeSOQm6xJBRk0XgUJUxttgbFrm9klUzsRLgVpjh8=; b=RaemB80OIkILyNPn1FFAJHKFV2
	jGtU1QuGZ9THTtXguhMMU7zurrf4BM1FETzCOC9Wp+aYBi5Tma8Mfdeumf94OrrVSeZu3T64IyU0X
	D+mF1Ebz6RWtCF3E3uiCYop9HA7H2HUOJ+thk29ptgvDY8MN4YYQhyxzMUZ9mMEus9Zg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vJU2g-0097OH-0C@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 09:55:02 +0000

commit 3cf64acdd486c246f9053f9ff5dc672383462df9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 09:37:57 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:37:57 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 3907ea4ba9c9229970018e88871696a9f933faa5
    master date: 2025-11-10 16:56:03 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 36934304c1..af7f8f8aed 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -648,10 +648,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 09:55:18 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 09:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160869.1488910 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJU2s-0000Kb-A5; Thu, 13 Nov 2025 09:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160869.1488910; Thu, 13 Nov 2025 09: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-changelog-bounces@lists.xenproject.org>)
	id 1vJU2s-0000KR-7F; Thu, 13 Nov 2025 09:55:14 +0000
Received: by outflank-mailman (input) for mailman id 1160869;
 Thu, 13 Nov 2025 09:55:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJU2q-0000K9-9L
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 09:55:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU2q-00515u-0e
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:55:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU2q-0097PL-0U
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:55:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=b/laowqWuhlwBVpOOdVEHxe/o5ICPIFQ4Q8t7eHlioo=; b=iwxlDTGzugLtbg8YUed7s3tIZl
	BgXgwxvWEe3RDVHTvPpb5inxYNq1s82zEjbV9SD0wB5rPiqjm/oJ2iz39wHR07ouqLUgn5SRuPyzm
	yiMXWEbWB4fhf5WcqQuyN3ELFxvJHQ56Q+e4XJzvDYd3ic/u/0BkwZUREAZyfhJ2UL24=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vJU2q-0097PL-0U@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 09:55:12 +0000

commit 679cca218ae6386cce0c776f1e5cb8d5f7362a99
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Thu Nov 13 09:38:59 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:38:59 2025 +0100

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: d510f9c1430cf52204da672260a6926138a985c2
    master date: 2025-11-10 16:56:03 +0000
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 8e1422104e..f445f9adba 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2461,7 +2461,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 09:55:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 09:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160870.1488913 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJU32-0000OE-B1; Thu, 13 Nov 2025 09:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160870.1488913; Thu, 13 Nov 2025 09: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-changelog-bounces@lists.xenproject.org>)
	id 1vJU32-0000O6-8a; Thu, 13 Nov 2025 09:55:24 +0000
Received: by outflank-mailman (input) for mailman id 1160870;
 Thu, 13 Nov 2025 09:55:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJU30-0000Nn-Bz
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 09:55:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU30-00517s-0v
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:55:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU30-0097Pw-0p
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 09:55:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=kIlsJ+ByIGXdsQ51rzoGSPu2P0ySKzArTrIzkB+TxJM=; b=Yx7rmWxONJ0qev+eWzeCvWEDrA
	eDcu72BsjzyhFXUJKaOy+Thwy2ErD/YpPTLv5j3xlnT/ACJf2tQXTpdWHaLQBtS3sZLdw0kpU8NgP
	KssZFpuPdRWl2TkzAB5sPQwDvICsuCHF3J/ZHzy5pmCsC1G4bHpXxXJ6QTSPqZLGJU6g=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vJU30-0097Pw-0p@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 09:55:22 +0000

commit 2caf8896c94241a2be591533e113d5e9e35a3758
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Thu Nov 13 09:39:10 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:39:10 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: c22b6dced06a74d59cc0b9770366acf7be7515fe
    master date: 2025-11-11 14:44:47 +0100
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index 88c1464816..1ea71430ed 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index 87ff7ad190..9a746a860f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -282,7 +282,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 72fdb83760..a06a0af355 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 10:00:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 10:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1160874.1488918 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJU7W-0000mU-MK; Thu, 13 Nov 2025 10:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1160874.1488918; Thu, 13 Nov 2025 10:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJU7W-0000m6-Jf; Thu, 13 Nov 2025 10:00:02 +0000
Received: by outflank-mailman (input) for mailman id 1160874;
 Thu, 13 Nov 2025 10:00:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJU7W-0000gx-8U
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 10:00:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU7W-0051JO-0j
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 10:00:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJU7W-00985D-0c
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 10:00:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=/u3/OH4eZw9IfuYFFENyt33NFl656AVmmnuIwPKNqxA=; b=FAFEGdo8XADN/KD7JFLKPxpqg/
	RCbCfbzz7hosazrZcrMD9kz3fnvPUXiap1wwMXXF/RSVPOd2Z4c4dilo9VpYeM4oKJAyiWq7GwOjq
	LEkkVz1Su0GKA4B5wnJ5BeA4aVItLJAZQbRO65Ljasb9XvSk5+Xi+ttJjB3hbrB8I3LA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] update Xen version to 4.20.2
Message-Id: <E1vJU7W-00985D-0c@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 10:00:02 +0000

commit 03299bb3ec817f47a608dc6080afc32453627fb4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 10:51:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 10:51:41 2025 +0100

    update Xen version to 4.20.2
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 5dbb5bdecb..9fa65a7571 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    = 20
-export XEN_EXTRAVERSION ?= .2-pre$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .2$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 11:22:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 11:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161048.1489059 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJVOt-0003Sq-G1; Thu, 13 Nov 2025 11:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161048.1489059; Thu, 13 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vJVOt-0003Si-DP; Thu, 13 Nov 2025 11:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1161048;
 Thu, 13 Nov 2025 11:22:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJVOs-0003Sc-4T
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 11:22:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVOs-0052uE-0D
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 11:22:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVOs-009IcK-06
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 11:22:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=j1yc+4SSLfU3iELa+22DPUhIC1p60zEDiWKPDvsHA54=; b=nU9PdEKEo54AC1ykXAkuhgQNw9
	UPiSVRbZMB2Lp8gw8cL7tQnB9m/2YgUOsojpRIF8AWkrGc42AXlpEYMDkDzn4Av7fbz0Hqwcgu2Xn
	hA/h3wa6+qkLAs209VehineuwFyepwPv8kRVPJqilmZeP+FjcJzJtljmjxmEnXSJxFoM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86emul/test: extend cleaning of generated files
Message-Id: <E1vJVOs-009IcK-06@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 11:22:02 +0000

commit 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 09:08:27 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:08:27 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 34f48d83b3..fefa29a06c 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -261,7 +261,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 11:22:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 11:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161049.1489064 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJVP3-0003WR-IW; Thu, 13 Nov 2025 11:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161049.1489064; Thu, 13 Nov 2025 11:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vJVP3-0003WJ-Fw; Thu, 13 Nov 2025 11:22:13 +0000
Received: by outflank-mailman (input) for mailman id 1161049;
 Thu, 13 Nov 2025 11:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJVP2-0003W5-5u
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 11:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVP2-0052uJ-0V
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 11:22:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVP2-009IdP-0N
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 11:22:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=6jHxVL8aYwzwx+xJx3fLnmBO+jIIOfw1HMFk2wkkIvI=; b=nfIXeCJU3tBKPBfDM7a71Gba3x
	feClsyagjPRxx5WA1fvV0zxFF9ZmUqvuglBXa7R7BjMqZ9ISF1FQRXnyC6QuSAl8D/mOOoodm00/j
	wK10Xy9vRWW6I9e3xyd5Wnob7wQ3VOFEwjXWpei3XoMJieYiQP7ppwDuLiq2FF4u8HMc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86: there's no use for -mpreferred-stack-boundary= when assembling
Message-Id: <E1vJVP2-009IdP-0N@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 11:22:12 +0000

commit 0ca7deb02da41e06422f258461509d4d26da42bd
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 09:08:53 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:08:53 2025 +0100

    x86: there's no use for -mpreferred-stack-boundary= when assembling
    
    This option is only relevant for C ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/Rules.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index ff7c7dd68a..c830cb14d4 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -7,4 +7,4 @@ else
 object_label_flags = '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$@))'
 endif
 c_flags += $(object_label_flags) $(CFLAGS_stack_boundary)
-a_flags += $(object_label_flags) $(CFLAGS_stack_boundary)
+a_flags += $(object_label_flags)
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 11:22:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 11:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161050.1489067 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJVPD-0003Yi-Jo; Thu, 13 Nov 2025 11:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161050.1489067; Thu, 13 Nov 2025 11:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJVPD-0003Ya-HF; Thu, 13 Nov 2025 11:22:23 +0000
Received: by outflank-mailman (input) for mailman id 1161050;
 Thu, 13 Nov 2025 11:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJVPC-0003YQ-8o
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 11:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVPC-0052ug-0n
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 11:22:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVPC-009IeA-0f
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 11:22:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=hpspsdRJD626xdSqG4eJqwpfIm73turwO7tBmfJoa5g=; b=6kD9Zi4Ew3gJ2mjsRIEFIdQanY
	CH7E3a0VVpItX5AHeComEVRuMaZXWEuBJ7OQKh0nFLsXwFrnI/Givu/lN6W+Bh48dR5eaeoaDBCzF
	dSPN6CH6rPscQ9mN0MgakCvZc+lYyG1lgwkdMlUwzraKq9Lynk/8fhzy9v7FFJnVBPd8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/IRQ: use LOCK-free bit setting in init_irq_data()
Message-Id: <E1vJVPC-009IeA-0f@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 11:22:22 +0000

commit a71f56be01c752bf87e2c4bf6ee08d9225d6b429
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 09:09:11 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:09:11 2025 +0100

    x86/IRQ: use LOCK-free bit setting in init_irq_data()
    
    Much like done later in the function, syscall and hypercall vectors can
    have their bits set without use of LOCKed accesses.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/irq.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index ba2f02eb0c..80f7417d21 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -450,12 +450,12 @@ int __init init_irq_data(void)
 
 #ifdef CONFIG_PV
     /* Never allocate the Linux/BSD fast-trap vector. */
-    set_bit(LEGACY_SYSCALL_VECTOR, used_vectors);
+    __set_bit(LEGACY_SYSCALL_VECTOR, used_vectors);
 #endif
 
 #ifdef CONFIG_PV32
     /* Never allocate the hypercall vector. */
-    set_bit(HYPERCALL_VECTOR, used_vectors);
+    __set_bit(HYPERCALL_VECTOR, used_vectors);
 #endif
     
     /*
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 12:00:10 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 12:00:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161104.1489114 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJVzf-0002o7-7A; Thu, 13 Nov 2025 12:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161104.1489114; Thu, 13 Nov 2025 12:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJVzf-0002ni-2u; Thu, 13 Nov 2025 12:00:03 +0000
Received: by outflank-mailman (input) for mailman id 1161104;
 Thu, 13 Nov 2025 12:00:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJVzd-0002SC-J7
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 12:00:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVzd-0053bx-1h
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:00:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJVzd-009Ne5-1Z
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:00:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=tNZ6wkOCiZZMdfvKW8CF8zXn7gVmzuWFedtaslWVEIg=; b=Ojyd4Ovlmkp2hHxIQSRMtdIhsH
	WmQC2qxVLPTNCefDfxsuYzUckYWTXcz+S4YUeOVBab7VGusrkBRXaVijuLbiSsPdUXNWDEs82HfhP
	VoSx6sEV1mc2CaSVjtI/F8YUDlszVnJa4mH3znHa6y7fllDlTLbdwcIDFa9WmgK+ytmo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] update Xen version to 4.20.2
Message-Id: <E1vJVzd-009Ne5-1Z@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 12:00:01 +0000

commit 03299bb3ec817f47a608dc6080afc32453627fb4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 13 10:51:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 10:51:41 2025 +0100

    update Xen version to 4.20.2
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 5dbb5bdecb..9fa65a7571 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    = 20
-export XEN_EXTRAVERSION ?= .2-pre$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .2$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 12:11:04 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 12:11:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161122.1489126 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJWAI-0005gm-6d; Thu, 13 Nov 2025 12:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161122.1489126; Thu, 13 Nov 2025 12:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJWAI-0005ge-3y; Thu, 13 Nov 2025 12:11:02 +0000
Received: by outflank-mailman (input) for mailman id 1161122;
 Thu, 13 Nov 2025 12:11:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJWAH-0005gY-NB
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 12:11:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJWAH-0053s6-29
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:11:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJWAH-009Omj-1f
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:11:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=T2S4H0E+toJpc2dZhYgqDRZX/lkLTX+8Tw4WP2L1+4A=; b=j+1Q3drvPY5gW8D+51xtssMenp
	Ya2ntmY3rhwnqrYu2EPadphTU1FCVbXs94ED4gIkbUy6nck/xM/aUcDYfVhmLbhpHvBUBd+abs1wa
	9wIifm+y3EOSeXwwvBn0oyjXP0+BtZkXAbtbvmo32Mq+WlWv3mgNyO4VMGpY7uYliJVk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86/ucode: Add extra rows to the entrysign model table
Message-Id: <E1vJWAH-009Omj-1f@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 12:11:01 +0000

commit 7bc8fb2f8d06cceb2ad06bb7ba5e9a827dd3db78
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 09:40:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:40:01 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table
    
    Link: https://git.kernel.org/tip/d23550efc6800841b4d1639784afaebdea946ae0
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 3907ea4ba9c9229970018e88871696a9f933faa5
    master date: 2025-11-10 16:56:03 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 6969ae734d..b9097b9f76 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -640,10 +640,12 @@ void __init amd_check_entrysign(void)
     case 0x0aa001: fixed_rev = 0x17; break;
     case 0x0aa002: fixed_rev = 0x19; break;
     case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b0081: fixed_rev = 0x12; break;
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
     case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
     default:
         printk(XENLOG_WARNING
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 12:11:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 12:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161123.1489131 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJWAS-0005jH-8Z; Thu, 13 Nov 2025 12:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161123.1489131; Thu, 13 Nov 2025 12:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJWAS-0005j9-5Z; Thu, 13 Nov 2025 12:11:12 +0000
Received: by outflank-mailman (input) for mailman id 1161123;
 Thu, 13 Nov 2025 12:11:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJWAR-0005j3-Pt
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 12:11:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJWAR-0053sD-2S
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:11:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJWAR-009OnI-2K
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:11:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=e4Kg1cuGwxobmCWXjvAG0USps81j+kK6J36u1yV5LXg=; b=2CTqgNvg+fozyY2WUEVNOkBMVx
	cZdRl2U6JfTdjKQ5mJl1affJJLyklsTj0ZE+fptvOnSnpxE7hXcrrsTsAQHmvP0HpY1yzOK7fAJEg
	03dqiThGltxffUkb9J1NWywDyNeiQtAjznM4QADrD/+jhGDcRaA1vm2oZNvwxNvG1j1c=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] doc/man: Align list of viridian default enlightenments with libxl
Message-Id: <E1vJWAR-009OnI-2K@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 12:11:11 +0000

commit 38ad2ce68a13bdbda886593a946806db5cc0b1e4
Author:     James Dingwall <james@dingwall.me.uk>
AuthorDate: Thu Nov 13 09:40:26 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:40:26 2025 +0100

    doc/man: Align list of viridian default enlightenments with libxl
    
    The stimer enlightment was removed from the defaults list in commit
    e83077a3d110 ("libxl: don't enable synthetic timers by default") but the
    corresponding docs change was not made.  Removing from docs as enabling the
    enlightenment will hang Windows 10 guests.
    
    Fixes: e83077a3d110 ("libxl: don't enable synthetic timers by default")
    Signed-off-by: James Dingwall <james@dingwall.me.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: d510f9c1430cf52204da672260a6926138a985c2
    master date: 2025-11-10 16:56:03 +0000
---
 docs/man/xl.cfg.5.pod.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ac3f88fd57..e9a0cd4a5c 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2461,7 +2461,7 @@ guests effectively allowing vCPU hotplug.
 
 This is a special value that enables the default set of groups, which
 is currently the B<base>, B<freq>, B<time_ref_count>, B<apic_assist>,
-B<crash_ctl>, B<stimer>, B<no_vp_limit> and B<cpu_hotplug> groups.
+B<crash_ctl>, B<no_vp_limit> and B<cpu_hotplug> groups.
 
 =item B<all>
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 12:11:22 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 12:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161125.1489144 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJWAc-00060c-Hb; Thu, 13 Nov 2025 12:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161125.1489144; Thu, 13 Nov 2025 12:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJWAc-00060S-Ex; Thu, 13 Nov 2025 12:11:22 +0000
Received: by outflank-mailman (input) for mailman id 1161125;
 Thu, 13 Nov 2025 12:11:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJWAb-000600-Sn
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 12:11:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJWAb-0053sa-2m
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:11:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJWAb-009Ood-2c
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 12:11:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=UfhCnfotWZPBFLjcQEJNEz3oFgHP0hDVIYCTzKUxdpE=; b=d80k35WwHzz2YB+jOQ+ydG5qwf
	kuQgN43sZyLq2iGxPPRh36c0NzOd7XabKRN++LegBSUBBEi4Eql+bt7t/8hnWExD+26v87zEul3OJ
	sKVrBg0FQurNxRWa2XDOVazM6zisluPKyDSrh6aUtPGceqd36ZEUF5MKBS6tbNwL4mlg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vJWAb-009Ood-2c@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 12:11:21 +0000

commit 3fb951af741ab2faa5a44d413fe1393cdeea05c4
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Thu Nov 13 09:40:37 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 13 09:40:37 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: c22b6dced06a74d59cc0b9770366acf7be7515fe
    master date: 2025-11-11 14:44:47 +0100
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index 88c1464816..1ea71430ed 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index fe81ed63ad..72ffd80578 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -278,7 +278,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index e459cdac0c..ae7e44bb3f 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 16:11:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 16:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161860.1489691 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJZuY-0000tq-Me; Thu, 13 Nov 2025 16:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161860.1489691; Thu, 13 Nov 2025 16:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJZuY-0000tj-K9; Thu, 13 Nov 2025 16:11:02 +0000
Received: by outflank-mailman (input) for mailman id 1161860;
 Thu, 13 Nov 2025 16:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJZuY-0000td-0t
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 16:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJZuX-0059SV-3B
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 16:11:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJZuX-009tiT-31
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 16:11:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=X5jkBPm4OioZk+Pk0Z3u79E3xkwfPA3zIvuqRNsT+r8=; b=nnVbcsKbFIVekVpMfxqeuvL3YB
	zznk5C0o6AZaSFjvxazW9Bal4O0pAVDRYtGeInrHvkwvPd/3jetwmtsFyEUw14Z0tK1BHnX2HoD3V
	y8KDTb8p1qWkmB00wJi+OrStb9C+1r29/OxMRVq2mUI4XwQW8yoaHfxgq/Rba7m+7SvE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] mktarball: Drop double-processing of the archive
Message-Id: <E1vJZuX-009tiT-31@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 16:11:01 +0000

commit 04680f6237ab5cabb237f85ccaa734a307ed9162
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 12:50:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 15:59:19 2025 +0000

    mktarball: Drop double-processing of the archive
    
    This is a partial backport of commit 63ebd0e9649e ("releases: use newer
    compression methods for tarballs"), but keeping gz as the only compression
    method.
    
    In addition to efficiency, this causes the tarball to use root/root ownership,
    rather than leak whomever produced the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 tools/misc/mktarball | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 7f9b61da43..2f574f9bf0 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -5,14 +5,6 @@
 # Takes 2 arguments, the path to the dist directory and the version
 set -ex
 
-function git_archive_into {
-    mkdir -p "$2"
-
-    git --git-dir="$1"/.git \
-	archive --format=tar HEAD | \
-	tar Cxf "$2" -
-}
-
 if [[ -z "$1" || -z "$2" ]] ; then
   echo "usage: $0 path-to-XEN_ROOT xen-version"
   exit 1
@@ -21,14 +13,15 @@ fi
 xen_root="$1"
 desc="$2"
 
-tdir="$xen_root/dist/tmp.src-tarball"
+tdir="$xen_root/dist"
 
-rm -rf $tdir
+rm -f $tdir/xen-$desc.tar*
 
 mkdir -p $tdir
 
-git_archive_into $xen_root $tdir/xen-$desc
+git --git-dir="$xen_root/.git" archive --format=tar HEAD --prefix=xen-$desc/ \
+    >"$tdir/xen-$desc.tar"
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+gzip -9k "$tdir/xen-$desc.tar"
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 17:11:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 17:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161967.1489766 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJaqd-0004ll-Gw; Thu, 13 Nov 2025 17:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161967.1489766; Thu, 13 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vJaqd-0004ld-EI; Thu, 13 Nov 2025 17:11:03 +0000
Received: by outflank-mailman (input) for mailman id 1161967;
 Thu, 13 Nov 2025 17:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJaqc-0004lX-9T
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 17:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJaqc-005AjP-0k
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:11:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJaqc-00A7GE-0a
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:11:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=iqzRPIpYpKAomVTlkSdmI8UMSeUl8Nv156d2lpIvX/g=; b=QKPB3XXaJ2UrWc9wG06/aIfNl9
	gSXuz8BX2wjzO4rtq8/Gjk1KO88XwuFiR2kkxladdEYTjeSMbvgSIUcTPHkxfZ+aoayqAUBoL5rLm
	mvYgnZwE1i5lX+WAqCKmjgNiRsg+WFKh8T0qq/WHEcu9sE5qqBswF2qQlv5pjRVwPDdA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] mktarball: Use root/root for internal ownership
Message-Id: <E1vJaqc-00A7GE-0a@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 17:11:02 +0000

commit 1f03c2fd355e2211a7e9ea8d7d89fe5c1ec6404d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 16:03:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 16:58:02 2025 +0000

    mktarball: Use root/root for internal ownership
    
    ... rather than leaking whomever created the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 tools/misc/mktarball | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 42d543073c..15a4e0bfad 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -49,6 +49,6 @@ git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc
 
 git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz --owner 0 --group 0 -C $tdir xen-$desc
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 17:11:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 17:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161968.1489770 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJaqo-0004nf-IE; Thu, 13 Nov 2025 17:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161968.1489770; Thu, 13 Nov 2025 17:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJaqo-0004nX-Fi; Thu, 13 Nov 2025 17:11:14 +0000
Received: by outflank-mailman (input) for mailman id 1161968;
 Thu, 13 Nov 2025 17:11:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJaqm-0004n5-J7
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 17:11:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJaqm-005AjT-1b
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:11:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJaqm-00A7H8-1S
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:11:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=n3hPG2PxXdbjkXtb92vk4x463rUM20owwksyklEh+Do=; b=HmfpFZS1sf73dYCKcAATlqsAQx
	8kWxswRIzbnulpQ2Odj6U8ti1ODimgyrz5flKMmb87W6VuCvL8hyw7exZicGgiSlzOaMExe6/BSGr
	S/wCFaZ11uFv7Gr5Gfw0bzvvKde9OtqttrQkLORYOrhxy2ARMC8jFGttc96EZRQJtOVk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.18] mktarball: Use root/root for internal ownership
Message-Id: <E1vJaqm-00A7H8-1S@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 17:11:12 +0000

commit 343379c94b21975f1f0c24d9c5622dd14e5c31aa
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 16:03:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 16:58:17 2025 +0000

    mktarball: Use root/root for internal ownership
    
    ... rather than leaking whomever created the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 1f03c2fd355e2211a7e9ea8d7d89fe5c1ec6404d)
---
 tools/misc/mktarball | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 42d543073c..15a4e0bfad 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -49,6 +49,6 @@ git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc
 
 git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz --owner 0 --group 0 -C $tdir xen-$desc
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.18


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 17:11:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 17:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1161969.1489774 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJaqy-0004pr-Ja; Thu, 13 Nov 2025 17:11:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1161969.1489774; Thu, 13 Nov 2025 17:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vJaqy-0004pj-Gy; Thu, 13 Nov 2025 17:11:24 +0000
Received: by outflank-mailman (input) for mailman id 1161969;
 Thu, 13 Nov 2025 17:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJaqw-0004pY-PP
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 17:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJaqw-005Ajq-2Q
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:11:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJaqw-00A7I6-2J
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:11:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=8n0y4pSueYuaR3VQVEimngRmDX1AtUaSarUgbn/aj9M=; b=bDANzhWv5TNgKmmag9Al6d4C24
	nckNlwqeRPpfhzUjvtRU9GhHHHhTot2ySTHRBZtXg+2hjG3zSEjRCwDxJXXrXhZcjeuJyMFLYyvCP
	Vm/MH9rDQ/GJE9iWrKPCJNAOkg+f0wRqS3HnKauwOCBPQvGngRs9tXdBEmMGz29hEVrI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.17] mktarball: Use root/root for internal ownership
Message-Id: <E1vJaqw-00A7I6-2J@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 17:11:22 +0000

commit 01140da4e8babe1e79d845b9117c1f9e6a057d0a
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 16:03:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 16:58:23 2025 +0000

    mktarball: Use root/root for internal ownership
    
    ... rather than leaking whomever created the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 1f03c2fd355e2211a7e9ea8d7d89fe5c1ec6404d)
---
 tools/misc/mktarball | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 42d543073c..15a4e0bfad 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -49,6 +49,6 @@ git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc
 
 git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz --owner 0 --group 0 -C $tdir xen-$desc
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.17


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 17:44:04 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 17:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1162016.1489818 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJbMY-00031P-Lb; Thu, 13 Nov 2025 17:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1162016.1489818; Thu, 13 Nov 2025 17:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJbMY-00031H-IR; Thu, 13 Nov 2025 17:44:02 +0000
Received: by outflank-mailman (input) for mailman id 1162016;
 Thu, 13 Nov 2025 17:44:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJbMX-00031B-N5
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 17:44:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJbMX-005BQW-28
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJbMX-00AB4x-1x
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=woAT68qQnHnDUgS5Y4p9e8cPefbJCVkBRtMQjPhzgE0=; b=6Z6UEVBvhGyW9vJRZ/1WEs6FC0
	LLedvp6iCideBZHRGiOg4bgcW4W6M5BSLKe/wx/xNdcvfsyTQrhJj+oAMISfU3r9Sar798BjP15/V
	bWvkaeNfMlbIspcdww00YNshJAF4amj3lWKozQ/iUUxItqtqn6MMPX4vxANJHnlaWTJA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] mktarball: Drop double-processing of the archive
Message-Id: <E1vJbMX-00AB4x-1x@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 17:44:01 +0000

commit 04680f6237ab5cabb237f85ccaa734a307ed9162
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 12:50:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 15:59:19 2025 +0000

    mktarball: Drop double-processing of the archive
    
    This is a partial backport of commit 63ebd0e9649e ("releases: use newer
    compression methods for tarballs"), but keeping gz as the only compression
    method.
    
    In addition to efficiency, this causes the tarball to use root/root ownership,
    rather than leak whomever produced the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 tools/misc/mktarball | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 7f9b61da43..2f574f9bf0 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -5,14 +5,6 @@
 # Takes 2 arguments, the path to the dist directory and the version
 set -ex
 
-function git_archive_into {
-    mkdir -p "$2"
-
-    git --git-dir="$1"/.git \
-	archive --format=tar HEAD | \
-	tar Cxf "$2" -
-}
-
 if [[ -z "$1" || -z "$2" ]] ; then
   echo "usage: $0 path-to-XEN_ROOT xen-version"
   exit 1
@@ -21,14 +13,15 @@ fi
 xen_root="$1"
 desc="$2"
 
-tdir="$xen_root/dist/tmp.src-tarball"
+tdir="$xen_root/dist"
 
-rm -rf $tdir
+rm -f $tdir/xen-$desc.tar*
 
 mkdir -p $tdir
 
-git_archive_into $xen_root $tdir/xen-$desc
+git --git-dir="$xen_root/.git" archive --format=tar HEAD --prefix=xen-$desc/ \
+    >"$tdir/xen-$desc.tar"
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+gzip -9k "$tdir/xen-$desc.tar"
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 17:44:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 17:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1162017.1489822 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJbMj-000347-OK; Thu, 13 Nov 2025 17:44:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1162017.1489822; Thu, 13 Nov 2025 17:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vJbMj-00033z-Lm; Thu, 13 Nov 2025 17:44:13 +0000
Received: by outflank-mailman (input) for mailman id 1162017;
 Thu, 13 Nov 2025 17:44:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJbMi-00033j-16
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 17:44:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJbMi-005BQz-00
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:44:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJbMh-00AB7J-2w
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 17:44:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=l42U71HUXxBO5NU1pflay4jpeE+IVSbw5oIvQepDclk=; b=ObJC/8RCCY/JlzWflPbkKvh4HT
	hTzYE7uDFsiIRrFXtboMNkfWEvp9fwVK5MYCA/2usxXu1RoM88VVny9MdD6KLrgJ+TBWvwOEyEDLL
	V+QK7ukCMp65wzOQfEErL21YSgjkIYeeMzBtjbpFsKl1JNyhx5MpQhIMbA38emlRZJ0Y=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.17] mktarball: Use root/root for internal ownership
Message-Id: <E1vJbMh-00AB7J-2w@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 17:44:11 +0000

commit 01140da4e8babe1e79d845b9117c1f9e6a057d0a
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 16:03:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 16:58:23 2025 +0000

    mktarball: Use root/root for internal ownership
    
    ... rather than leaking whomever created the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 1f03c2fd355e2211a7e9ea8d7d89fe5c1ec6404d)
---
 tools/misc/mktarball | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 42d543073c..15a4e0bfad 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -49,6 +49,6 @@ git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc
 
 git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz --owner 0 --group 0 -C $tdir xen-$desc
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.17


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 18:55:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 18:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1162083.1489866 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJcTH-0006UL-FE; Thu, 13 Nov 2025 18:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1162083.1489866; Thu, 13 Nov 2025 18: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-changelog-bounces@lists.xenproject.org>)
	id 1vJcTH-0006UD-Ci; Thu, 13 Nov 2025 18:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1162083;
 Thu, 13 Nov 2025 18:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJcTF-0006U3-Ut
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 18:55:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJcTF-005D3d-2n
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 18:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJcTF-00AHHN-2c
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 18:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=OsoK921fLPBVY2Zpwa3TYhzkxAOge5WDkXVT5Kn7Ve0=; b=Sf7pa5crkOWRA5A7SulYCemrHX
	IEmI+TWNr8+J726u/Hndr+LArNjVtA3Z8D0gJq5HKsUShKHJN/uJtxc/H3+DJF3N357/O8fohHJk6
	hXmJuIOYVSQnSeusbMjgSHyNuR0H0Mha73ImbvsEDtiuzCHhHLgta2dTreLA+oUmfGk8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.18] mktarball: Use root/root for internal ownership
Message-Id: <E1vJcTF-00AHHN-2c@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 18:55:01 +0000

commit 343379c94b21975f1f0c24d9c5622dd14e5c31aa
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 16:03:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 16:58:17 2025 +0000

    mktarball: Use root/root for internal ownership
    
    ... rather than leaking whomever created the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 1f03c2fd355e2211a7e9ea8d7d89fe5c1ec6404d)
---
 tools/misc/mktarball | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 42d543073c..15a4e0bfad 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -49,6 +49,6 @@ git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc
 
 git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz --owner 0 --group 0 -C $tdir xen-$desc
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.18


From xen-changelog-bounces@lists.xenproject.org Thu Nov 13 19:55:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Nov 2025 19:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1162106.1489880 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJdPK-0006bL-Lb; Thu, 13 Nov 2025 19:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1162106.1489880; Thu, 13 Nov 2025 19:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vJdPK-0006bD-J1; Thu, 13 Nov 2025 19:55:02 +0000
Received: by outflank-mailman (input) for mailman id 1162106;
 Thu, 13 Nov 2025 19:55:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vJdPJ-0006b7-Nf
 for xen-changelog@lists.xenproject.org; Thu, 13 Nov 2025 19:55:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJdPJ-005ENl-1v
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 19:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vJdPJ-00AMFa-1c
 for xen-changelog@lists.xenproject.org;
 Thu, 13 Nov 2025 19:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=YjDdjPGdOhYF2UHJZXAiEUT617mHbXosoLR1EYIi6Dk=; b=uuU0mBURXSuUpxwm7xAiRjtAVr
	vSBx7LqIaugSoVk3NAEwtohZ6QpdDVRWNc4QprtWSeScnFhKB7RSxEWjrnZupBOIocRGCl1PGQUD3
	+nqjv2o7qZnNlOf0IqvsY74PLEPIfmgJ0t24Hd/FB93Q5WJYXRbT0g6bVTG3p+18PZBU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] mktarball: Use root/root for internal ownership
Message-Id: <E1vJdPJ-00AMFa-1c@xenbits.xenproject.org>
Date: Thu, 13 Nov 2025 19:55:01 +0000

commit 1f03c2fd355e2211a7e9ea8d7d89fe5c1ec6404d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Nov 13 16:03:25 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 13 16:58:02 2025 +0000

    mktarball: Use root/root for internal ownership
    
    ... rather than leaking whomever created the tarball.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 tools/misc/mktarball | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index 42d543073c..15a4e0bfad 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -49,6 +49,6 @@ git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc
 
 git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
 
-GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
+GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz --owner 0 --group 0 -C $tdir xen-$desc
 
 echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Sun Nov 16 17:55:10 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Nov 2025 17:55:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1163305.1490474 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vKgxr-0008Lt-Qc; Sun, 16 Nov 2025 17:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1163305.1490474; Sun, 16 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vKgxr-0008Lk-Nf; Sun, 16 Nov 2025 17:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1163305;
 Sun, 16 Nov 2025 17:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vKgxq-0008Le-Je
 for xen-changelog@lists.xenproject.org; Sun, 16 Nov 2025 17:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgxq-00AEXX-0v
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgxq-001V11-0k
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=dsmlK6IxpYSHOm40tUlCXStdabdbB0HN3nxRxbM5VAA=; b=MFO+yjcZugSvH+suReMkrw6S7k
	ZROyz/cceu99dcxRxArhnG5mZn0bYU3ymzb8pRl3Ghm3lGA0ZB+4TPWxUY0Ak4b04cP1C61dlubCd
	a1NYk+DHKTydFWhzEfsiT74nkUaAR7VdrGisRPbotvRyNBDCAxqIvNkcwWAfC6KtPhZU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/arm: Use FDT_MAGIC from libfdt instead of local macro
Message-Id: <E1vKgxq-001V11-0k@xenbits.xenproject.org>
Date: Sun, 16 Nov 2025 17:55:02 +0000

commit c53f71b2ee16f38f009d5b5b1a1a6f310ee36fc7
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Wed Nov 12 09:50:25 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:19:02 2025 +0000

    xen/arm: Use FDT_MAGIC from libfdt instead of local macro
    
    Remove the redundant local 'DTB_MAGIC' definition and replace its usage
    with the canonical 'FDT_MAGIC' from 'libfdt'.
    
    Amends: 66edeb2e3972 (arm: copy DTB appended to zImage)
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/kernel.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 48f4b56d0c..7544fd50a2 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -40,8 +40,6 @@ struct minimal_dtb_header {
     /* There are other fields but we don't use them yet. */
 };
 
-#define DTB_MAGIC 0xd00dfeedU
-
 static void __init place_modules(struct kernel_info *info,
                                  paddr_t kernbase, paddr_t kernend)
 {
@@ -383,7 +381,7 @@ static int __init kernel_zimage32_probe(struct kernel_info *info,
     if ( addr + end - start + sizeof(dtb_hdr) <= size )
     {
         copy_from_paddr(&dtb_hdr, addr + end - start, sizeof(dtb_hdr));
-        if (be32_to_cpu(dtb_hdr.magic) == DTB_MAGIC) {
+        if (be32_to_cpu(dtb_hdr.magic) == FDT_MAGIC) {
             end += be32_to_cpu(dtb_hdr.total_size);
 
             if ( end > addr + size )
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Sun Nov 16 17:55:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Nov 2025 17:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1163306.1490478 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vKgy1-0008NK-Rw; Sun, 16 Nov 2025 17:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1163306.1490478; Sun, 16 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vKgy1-0008NC-P3; Sun, 16 Nov 2025 17:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1163306;
 Sun, 16 Nov 2025 17:55:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vKgy0-0008N0-Em
 for xen-changelog@lists.xenproject.org; Sun, 16 Nov 2025 17:55:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgy0-00AEXb-1C
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgy0-001V2s-15
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=SorJCcj2kIwNuZNjiTM/Gg+uTp5USx/dJ4YuBPvzebY=; b=hUprxEwHCwZIFuP/hRNOz4fsao
	ix2dcLujeMrEJcxhD/wX55COX1pb/au2sjLbzACmqxdRulqfrEIsWGaMIk8K2PF+fulXBIeyU9glD
	IkfTCXiADFcO6tLlPiJEqFPEv/mlywZT/DlItFqRTZIc7pv1C95GfQdVy5vtkBaYb018=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] arm/time: Use static irqaction
Message-Id: <E1vKgy0-001V2s-15@xenbits.xenproject.org>
Date: Sun, 16 Nov 2025 17:55:12 +0000

commit a7e82dab15c227f31a9a4abcb2cf3049670c5d5d
Author:     Mykyta Poturai <Mykyta_Poturai@epam.com>
AuthorDate: Wed Nov 12 10:51:46 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:22:30 2025 +0000

    arm/time: Use static irqaction
    
    When stopping a core deinit_timer_interrupt is called in non-alloc
    context, which causes xfree in release_irq to fail an assert.
    
    To fix this, switch to a statically allocated irqaction that does not
    need to be freed in release_irq.
    
    Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
    Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>
    
    v3->v4:
    * make irqactions static
    * collect RBs
    
    v2->v3:
    * no changes
    
    v1->v2:
    * use percpu actions
---
 xen/arch/arm/time.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index e74d30d258..3710eab109 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -303,9 +303,15 @@ static void check_timer_irq_cfg(unsigned int irq, const char *which)
            "WARNING: %s-timer IRQ%u is not level triggered.\n", which, irq);
 }
 
+static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_hyp);
+static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_virt);
+
 /* Set up the timer interrupt on this CPU */
 void init_timer_interrupt(void)
 {
+    struct irqaction *hyp_action = &this_cpu(irq_hyp);
+    struct irqaction *virt_action = &this_cpu(irq_virt);
+
     /* Sensible defaults */
     WRITE_SYSREG64(0, CNTVOFF_EL2);     /* No VM-specific offset */
     /* Do not let the VMs program the physical timer, only read the physical counter */
@@ -314,10 +320,17 @@ void init_timer_interrupt(void)
     WRITE_SYSREG(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
     isb();
 
-    request_irq(timer_irq[TIMER_HYP_PPI], 0, htimer_interrupt,
-                "hyptimer", NULL);
-    request_irq(timer_irq[TIMER_VIRT_PPI], 0, vtimer_interrupt,
-                   "virtimer", NULL);
+    hyp_action->name = "hyptimer";
+    hyp_action->handler = htimer_interrupt;
+    hyp_action->dev_id = NULL;
+    hyp_action->free_on_release = 0;
+    setup_irq(timer_irq[TIMER_HYP_PPI], 0, hyp_action);
+
+    virt_action->name = "virtimer";
+    virt_action->handler = vtimer_interrupt;
+    virt_action->dev_id = NULL;
+    virt_action->free_on_release = 0;
+    setup_irq(timer_irq[TIMER_VIRT_PPI], 0, virt_action);
 
     check_timer_irq_cfg(timer_irq[TIMER_HYP_PPI], "hypervisor");
     check_timer_irq_cfg(timer_irq[TIMER_VIRT_PPI], "virtual");
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Sun Nov 16 17:55:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Nov 2025 17:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1163307.1490482 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vKgyB-0008R0-TJ; Sun, 16 Nov 2025 17:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1163307.1490482; Sun, 16 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vKgyB-0008Qs-Qg; Sun, 16 Nov 2025 17:55:23 +0000
Received: by outflank-mailman (input) for mailman id 1163307;
 Sun, 16 Nov 2025 17:55:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vKgyA-0008Qj-Fy
 for xen-changelog@lists.xenproject.org; Sun, 16 Nov 2025 17:55:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgyA-00AEY4-1V
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgyA-001V5E-1N
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=dcC77trUKL8Ad7QoX8+QsS4O8LoE7KOvPA4Nqx2o6F0=; b=dbL59zkNYPTuPiKRltrwA95uSF
	Oshb4dpE7URBnpzcA4S+Q4xhXWShSgGKh4AqdXQbpnACSmc61r3eiMPKKBlKw1jPtj1GynoKHVIpg
	ywZXQLlebnCam+YMUXRhla4X63aZ34BUy/gwWywQyW5L9B+RyACyTtlcmRsnKg0d0x4c=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] arm/gic: Use static irqaction
Message-Id: <E1vKgyA-001V5E-1N@xenbits.xenproject.org>
Date: Sun, 16 Nov 2025 17:55:22 +0000

commit eec94999bf38c205f9e1b62ad05e2c8ddd2c89e5
Author:     Mykyta Poturai <Mykyta_Poturai@epam.com>
AuthorDate: Wed Nov 12 10:51:47 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:22:30 2025 +0000

    arm/gic: Use static irqaction
    
    When stopping a core cpu_gic_callback is called in non-alloc
    context, which causes xfree in release_irq to fail an assert.
    
    To fix this, switch to a statically allocated irqaction that does not
    need to be freed in release_irq.
    
    Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
    Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>
    
    v3->v4:
    * make irqactions static
    * collect RBs
    
    v2->v3:
    * no changes
    
    v1->v2:
    * use percpu actions
---
 xen/arch/arm/gic.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 260ee64cca..ee75258fc3 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -386,10 +386,17 @@ void gic_dump_info(struct vcpu *v)
     gic_hw_ops->dump_state(v);
 }
 
+static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_maintenance);
+
 void init_maintenance_interrupt(void)
 {
-    request_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance_interrupt,
-                "irq-maintenance", NULL);
+    struct irqaction *maintenance = &this_cpu(irq_maintenance);
+
+    maintenance->name = "irq-maintenance";
+    maintenance->handler = maintenance_interrupt;
+    maintenance->dev_id = NULL;
+    maintenance->free_on_release = 0;
+    setup_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance);
 }
 
 int gic_make_hwdom_dt_node(const struct domain *d,
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Sun Nov 16 17:55:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Nov 2025 17:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1163308.1490487 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vKgyL-0008TO-V1; Sun, 16 Nov 2025 17:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1163308.1490487; Sun, 16 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vKgyL-0008TG-SC; Sun, 16 Nov 2025 17:55:33 +0000
Received: by outflank-mailman (input) for mailman id 1163308;
 Sun, 16 Nov 2025 17:55:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vKgyK-0008T5-Ib
 for xen-changelog@lists.xenproject.org; Sun, 16 Nov 2025 17:55:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgyK-00AEYB-1l
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgyK-001V67-1f
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=7x3TGUKoRYD2HJUl6MofD53wMIxXQLJm8S1UfKAQcKw=; b=rShprK8dgVDcGjcP9rDphnV6jd
	SOaPMQxc/LGecXvswQz48cwY6YDi+E5r1wh0HiS9V1VhzmhdM24Ch0tdk6zAffnAGcMpCD9lUj53p
	hnKSkWhqXjMmEmLRSZIjVCQBkiYy0Wu4KmIaPlI9SZE8ujubjS11ilvjRoKdpHOYisic=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] arm/xen: zero init memory region before returning to the heap
Message-Id: <E1vKgyK-001V67-1f@xenbits.xenproject.org>
Date: Sun, 16 Nov 2025 17:55:32 +0000

commit 5baa5b9cbd072b74b057620fb19371fcf59221c6
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Fri Oct 31 16:02:11 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:25:38 2025 +0000

    arm/xen: zero init memory region before returning to the heap
    
    The current implementation of 'free_init_memory()' fills the freed '__init'
    and '__initdata' memory regions with a faulting instruction before unmapping
    and returning them to the heap. However, after unmapping, any access to this
    region will result in a page fault, making the instruction fill redundant.
    
    Replace the instruction fill with a call to 'memset()', zeroing the entire
    region before it is unmapped and returned to the allocator.
    
    Additionally, this change resolves a violation of MISRA C:2012 Rule 11.3
    (cast between pointer to object type and pointer to a different object type),
    caused by performing a cast from a 'char *' to a 'uint32_t *' pointer to
    write instructions directly into memory, which is not compliant with MISRA
    guidelines.
    
    No functional changes.
    
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/mmu/setup.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index eb8ed19ca1..9b874f8ab2 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -479,9 +479,6 @@ void free_init_memory(void)
 {
     paddr_t pa = virt_to_maddr(__init_begin);
     unsigned long len = __init_end - __init_begin;
-    uint32_t insn;
-    unsigned int i, nr = len / sizeof(insn);
-    uint32_t *p;
     int rc;
 
     rc = modify_xen_mappings((unsigned long)__init_begin,
@@ -495,15 +492,8 @@ void free_init_memory(void)
      */
     invalidate_icache_local();
 
-#ifdef CONFIG_ARM_32
-    /* udf instruction i.e (see A8.8.247 in ARM DDI 0406C.c) */
-    insn = 0xe7f000f0;
-#else
-    insn = AARCH64_BREAK_FAULT;
-#endif
-    p = (uint32_t *)__init_begin;
-    for ( i = 0; i < nr; i++ )
-        *(p + i) = insn;
+    /* Zeroing the memory before returning it */
+    memset(__init_begin, 0, len);
 
     rc = destroy_xen_mappings((unsigned long)__init_begin,
                               (unsigned long)__init_end);
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Sun Nov 16 17:55:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Nov 2025 17:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1163309.1490489 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vKgyV-0008VJ-WF; Sun, 16 Nov 2025 17:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1163309.1490489; Sun, 16 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vKgyV-0008VB-TX; Sun, 16 Nov 2025 17:55:43 +0000
Received: by outflank-mailman (input) for mailman id 1163309;
 Sun, 16 Nov 2025 17:55:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vKgyU-0008V3-M1
 for xen-changelog@lists.xenproject.org; Sun, 16 Nov 2025 17:55:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgyU-00AEYK-24
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgyU-001V6T-1v
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=qW+fHxlKvRL94yMKsCrmnnasmjv2udbrn6rZWIX44HQ=; b=ydD1gFxmnCkdqn+gVnYoRb3dAx
	CRVjF/5RR/kSB+dXTxHtDlkeL35jNwcTTWTAqr2WitklwLsBH5uvxvgWb+mVOvfFyCeCFjUWiGWN4
	qZvswz6GyfjnifKhNu0C+kv3Ff7b0FRS96OihVeZ49XMosQaJ64VC07VkG80CjGegkTo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] dom0less: Remove redundant magic check in 'check_partial_fdt()'
Message-Id: <E1vKgyU-001V6T-1v@xenbits.xenproject.org>
Date: Sun, 16 Nov 2025 17:55:42 +0000

commit b27eedee70657e54fc05d29502415e1eb3ac3661
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Mon Nov 10 10:59:29 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:26:37 2025 +0000

    dom0less: Remove redundant magic check in 'check_partial_fdt()'
    
    The function 'check_partial_fdt()' performs an explicit check for the FDT
    magic number (FDT_MAGIC) before calling 'fdt_check_header(). This check is
    redundant, because 'fdt_check_header()' includes checking the magic number.
    
    Remove the redundant check to simplify the code and rely on the library
    function to perform header validation.
    
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/common/device-tree/dom0less-build.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
index 9fd004c42a..2600350a3c 100644
--- a/xen/common/device-tree/dom0less-build.c
+++ b/xen/common/device-tree/dom0less-build.c
@@ -359,12 +359,6 @@ static int __init check_partial_fdt(void *pfdt, size_t size)
 {
     int res;
 
-    if ( fdt_magic(pfdt) != FDT_MAGIC )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
-        return -EINVAL;
-    }
-
     res = fdt_check_header(pfdt);
     if ( res )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Sun Nov 16 17:55:54 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Nov 2025 17:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1163310.1490493 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vKgyg-00005y-0u; Sun, 16 Nov 2025 17:55:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1163310.1490493; Sun, 16 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vKgyf-00005q-Un; Sun, 16 Nov 2025 17:55:53 +0000
Received: by outflank-mailman (input) for mailman id 1163310;
 Sun, 16 Nov 2025 17:55:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vKgye-00005f-OQ
 for xen-changelog@lists.xenproject.org; Sun, 16 Nov 2025 17:55:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgye-00AEYO-2L
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vKgye-001V7g-2F
 for xen-changelog@lists.xenproject.org;
 Sun, 16 Nov 2025 17:55:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=FpxfFftauJ2hVnUG9yr6Ga7nWMcV/+5locqafS8nDr4=; b=yap5cDTNMxF+TfKRVLvT3msJT8
	Xdke9VxSd72s6bgpVzjLSk7kLZLyXEYMGT9t4AhnEO6eGehTHL6VOp0X12NM2qzZolYpk1Q64ksmr
	IEpK5awDfAFOCjxjCfsUQtkifmwcvCbw+VkGO6/XXBSqDOacIarFMPQLeYYy0rFnqwdM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] arm/efi: address MISRA C Rule 11.3
Message-Id: <E1vKgye-001V7g-2F@xenbits.xenproject.org>
Date: Sun, 16 Nov 2025 17:55:52 +0000

commit 6c9b894a586cebf9b5497da574ff3c92a265603d
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Mon Oct 27 21:12:03 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:28:26 2025 +0000

    arm/efi: address MISRA C Rule 11.3
    
    MISRA C Rule 11.3 prohibits casting between pointer-to-object types that
    are different types. The original code used a macro 'NextMemoryDescriptor()'
    that performed a non-compliant cast from 'UINT8*' to 'EFI_MEMORY_DESCRIPTOR*'.
    
    Change 'efi_process_memory_map_bootinfo()' function parameter from
    'EFI_MEMORY_DESCRIPTOR *' to 'void *' for the memory map parameter. Replace
    usage of 'NextMemoryDescriptor()' macro with compliant pointer arithmetic
    on 'void *', followed by a single compliant cast to 'EFI_MEMORY_DESCRIPTOR *'.
    
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/efi/efi-boot.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 7844b9529e..ea59de47e7 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -191,15 +191,16 @@ static bool __init meminfo_add_bank(struct membanks *mem,
     return true;
 }
 
-static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *map,
+static EFI_STATUS __init efi_process_memory_map_bootinfo(void *map,
                                                 UINTN mmap_size,
                                                 UINTN desc_size)
 {
     int Index;
-    EFI_MEMORY_DESCRIPTOR *desc_ptr = map;
 
     for ( Index = 0; Index < (mmap_size / desc_size); Index++ )
     {
+        EFI_MEMORY_DESCRIPTOR *desc_ptr = map + desc_size * Index;
+
         if ( !(desc_ptr->Attribute & EFI_MEMORY_RUNTIME) &&
              (desc_ptr->Attribute & EFI_MEMORY_WB) &&
              (desc_ptr->Type == EfiConventionalMemory ||
@@ -227,7 +228,6 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
             }
         }
 #endif
-        desc_ptr = NextMemoryDescriptor(desc_ptr, desc_size);
     }
 
     return EFI_SUCCESS;
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 14:55:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 14:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164157.1491145 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL0dE-0004nC-4M; Mon, 17 Nov 2025 14:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164157.1491145; Mon, 17 Nov 2025 14:55:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL0dE-0004n4-1l; Mon, 17 Nov 2025 14:55:04 +0000
Received: by outflank-mailman (input) for mailman id 1164157;
 Mon, 17 Nov 2025 14:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL0dC-0004my-PS
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 14:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL0dC-00BsT7-1G
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 14:55:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL0dC-004U21-17
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 14:55:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=U7HlgrlX/YstORLYfYl644Z11Hgok9vRylg+bUQ+Ftw=; b=GU1hhNVXDJfH5BbE8QPDDCxGkH
	7QIQby3Qf0BM0Zz5dhRmPPE/gHv+OZgYejVIkHG/fvQdlOtLzrr9jRTasl/b5Tw4SPE2OZBgu/nAU
	nffRQTjhTLS3S9xe3mBK4GRzhEQi2irXGYt8PUDX+i3FMqJXxu2UfKI5EAPv+2VrbrP4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vL0dC-004U21-17@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 14:55:02 +0000

commit 07e57af2b4715a9d088781b06c4f97c7d9f25b19
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 14 14:28:22 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 17 14:46:40 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 550b8c1e57..4a7573c885 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -659,6 +659,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 15:55:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 15:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164172.1491159 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL1ZH-00051X-H8; Mon, 17 Nov 2025 15:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164172.1491159; Mon, 17 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vL1ZH-00051O-EO; Mon, 17 Nov 2025 15:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1164172;
 Mon, 17 Nov 2025 15:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL1ZG-00051I-UE
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 15:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1ZG-00BtZF-1T
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1ZG-004fZp-1A
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ZOboM9MYd+58MABe5BUtJNslJNaS4kUclDSasXlBAZI=; b=NHzTwAJsOjKGLT88wFFMZEAz+R
	xj18YIeWDiPefCVgyJxJnmjtEmPbKeBHhJTEYCv1xiavKYRUbOBlFp8qHVGIGkL+hY2P5FjymztRt
	DcHb9bDvga9L77Zmk00yrJuKpvocsR8XkohfJK1flaOH5/Voa67KAOCZj7K0SY2zl48A=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/arm: Use FDT_MAGIC from libfdt instead of local macro
Message-Id: <E1vL1ZG-004fZp-1A@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 15:55:02 +0000

commit c53f71b2ee16f38f009d5b5b1a1a6f310ee36fc7
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Wed Nov 12 09:50:25 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:19:02 2025 +0000

    xen/arm: Use FDT_MAGIC from libfdt instead of local macro
    
    Remove the redundant local 'DTB_MAGIC' definition and replace its usage
    with the canonical 'FDT_MAGIC' from 'libfdt'.
    
    Amends: 66edeb2e3972 (arm: copy DTB appended to zImage)
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/kernel.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 48f4b56d0c..7544fd50a2 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -40,8 +40,6 @@ struct minimal_dtb_header {
     /* There are other fields but we don't use them yet. */
 };
 
-#define DTB_MAGIC 0xd00dfeedU
-
 static void __init place_modules(struct kernel_info *info,
                                  paddr_t kernbase, paddr_t kernend)
 {
@@ -383,7 +381,7 @@ static int __init kernel_zimage32_probe(struct kernel_info *info,
     if ( addr + end - start + sizeof(dtb_hdr) <= size )
     {
         copy_from_paddr(&dtb_hdr, addr + end - start, sizeof(dtb_hdr));
-        if (be32_to_cpu(dtb_hdr.magic) == DTB_MAGIC) {
+        if (be32_to_cpu(dtb_hdr.magic) == FDT_MAGIC) {
             end += be32_to_cpu(dtb_hdr.total_size);
 
             if ( end > addr + size )
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 15:55:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 15:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164173.1491162 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL1ZR-00053E-I9; Mon, 17 Nov 2025 15:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164173.1491162; Mon, 17 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vL1ZR-000536-Fh; Mon, 17 Nov 2025 15:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1164173;
 Mon, 17 Nov 2025 15:55:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL1ZQ-00052y-Iv
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 15:55:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1ZQ-00BtZK-1l
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1ZQ-004fbo-1d
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=0lesxEcDVx5GoDa3rDqg5nL1dw8HgdBuauXo33nMTEQ=; b=FQsY2Kj69zq3tyjnzldtr5t5li
	pzKopKlYptMbptCoGRsuaT6wDOVakEEDVXDU7SCd9DlQmu/lnwupjBqxAdhfUZO8w4oiGhxUOL0U2
	Kg+libtuXSdZQEpUTU025pNMvaICCDxdinjPMJG4qDvyEuDZg9fdifbe4B9dS1EO4OSQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] arm/time: Use static irqaction
Message-Id: <E1vL1ZQ-004fbo-1d@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 15:55:12 +0000

commit a7e82dab15c227f31a9a4abcb2cf3049670c5d5d
Author:     Mykyta Poturai <Mykyta_Poturai@epam.com>
AuthorDate: Wed Nov 12 10:51:46 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:22:30 2025 +0000

    arm/time: Use static irqaction
    
    When stopping a core deinit_timer_interrupt is called in non-alloc
    context, which causes xfree in release_irq to fail an assert.
    
    To fix this, switch to a statically allocated irqaction that does not
    need to be freed in release_irq.
    
    Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
    Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>
    
    v3->v4:
    * make irqactions static
    * collect RBs
    
    v2->v3:
    * no changes
    
    v1->v2:
    * use percpu actions
---
 xen/arch/arm/time.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index e74d30d258..3710eab109 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -303,9 +303,15 @@ static void check_timer_irq_cfg(unsigned int irq, const char *which)
            "WARNING: %s-timer IRQ%u is not level triggered.\n", which, irq);
 }
 
+static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_hyp);
+static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_virt);
+
 /* Set up the timer interrupt on this CPU */
 void init_timer_interrupt(void)
 {
+    struct irqaction *hyp_action = &this_cpu(irq_hyp);
+    struct irqaction *virt_action = &this_cpu(irq_virt);
+
     /* Sensible defaults */
     WRITE_SYSREG64(0, CNTVOFF_EL2);     /* No VM-specific offset */
     /* Do not let the VMs program the physical timer, only read the physical counter */
@@ -314,10 +320,17 @@ void init_timer_interrupt(void)
     WRITE_SYSREG(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
     isb();
 
-    request_irq(timer_irq[TIMER_HYP_PPI], 0, htimer_interrupt,
-                "hyptimer", NULL);
-    request_irq(timer_irq[TIMER_VIRT_PPI], 0, vtimer_interrupt,
-                   "virtimer", NULL);
+    hyp_action->name = "hyptimer";
+    hyp_action->handler = htimer_interrupt;
+    hyp_action->dev_id = NULL;
+    hyp_action->free_on_release = 0;
+    setup_irq(timer_irq[TIMER_HYP_PPI], 0, hyp_action);
+
+    virt_action->name = "virtimer";
+    virt_action->handler = vtimer_interrupt;
+    virt_action->dev_id = NULL;
+    virt_action->free_on_release = 0;
+    setup_irq(timer_irq[TIMER_VIRT_PPI], 0, virt_action);
 
     check_timer_irq_cfg(timer_irq[TIMER_HYP_PPI], "hypervisor");
     check_timer_irq_cfg(timer_irq[TIMER_VIRT_PPI], "virtual");
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 15:55:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 15:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164174.1491167 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL1Zb-00057R-Jx; Mon, 17 Nov 2025 15:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164174.1491167; Mon, 17 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vL1Zb-00057H-H5; Mon, 17 Nov 2025 15:55:23 +0000
Received: by outflank-mailman (input) for mailman id 1164174;
 Mon, 17 Nov 2025 15:55:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL1Za-000573-La
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 15:55:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1Za-00BtZW-23
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1Za-004fdA-1v
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=JHOuCu/U6frXkIKsGvwqWxYEYlFM6C2mzUmmHfHr6nQ=; b=x8UB7gHlFEwaeagpvty/ArVtzP
	O1c62okyPo2Mi8KGqVXuodUDynM3h+OmLDO9U8KX8zZmZVmXXXNqnqsuG82ITEhl/lhj65sn+bJQ7
	YuBekDC041R9jHhBmFWNNORs3B2ybSRyw4dZS3QDejir1D985sJ/A4IF4G7QQh5TUcf4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] arm/gic: Use static irqaction
Message-Id: <E1vL1Za-004fdA-1v@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 15:55:22 +0000

commit eec94999bf38c205f9e1b62ad05e2c8ddd2c89e5
Author:     Mykyta Poturai <Mykyta_Poturai@epam.com>
AuthorDate: Wed Nov 12 10:51:47 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:22:30 2025 +0000

    arm/gic: Use static irqaction
    
    When stopping a core cpu_gic_callback is called in non-alloc
    context, which causes xfree in release_irq to fail an assert.
    
    To fix this, switch to a statically allocated irqaction that does not
    need to be freed in release_irq.
    
    Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
    Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>
    
    v3->v4:
    * make irqactions static
    * collect RBs
    
    v2->v3:
    * no changes
    
    v1->v2:
    * use percpu actions
---
 xen/arch/arm/gic.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 260ee64cca..ee75258fc3 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -386,10 +386,17 @@ void gic_dump_info(struct vcpu *v)
     gic_hw_ops->dump_state(v);
 }
 
+static DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_maintenance);
+
 void init_maintenance_interrupt(void)
 {
-    request_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance_interrupt,
-                "irq-maintenance", NULL);
+    struct irqaction *maintenance = &this_cpu(irq_maintenance);
+
+    maintenance->name = "irq-maintenance";
+    maintenance->handler = maintenance_interrupt;
+    maintenance->dev_id = NULL;
+    maintenance->free_on_release = 0;
+    setup_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance);
 }
 
 int gic_make_hwdom_dt_node(const struct domain *d,
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 15:55:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 15:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164175.1491172 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL1Zl-00059d-La; Mon, 17 Nov 2025 15:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164175.1491172; Mon, 17 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vL1Zl-00059T-IQ; Mon, 17 Nov 2025 15:55:33 +0000
Received: by outflank-mailman (input) for mailman id 1164175;
 Mon, 17 Nov 2025 15:55:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL1Zk-00059G-Pv
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 15:55:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1Zk-00BtZb-2S
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1Zk-004feI-2E
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=DuONil4hyT1JmlF7Z0E1DuiWbhNWjPAtX6ZROLTBIWk=; b=pneEi++DihudfCXXAdQoE5lNtj
	jiAO0jDaqkTrIQPkdbRxEJUR996hQOsXftKvrNx+k29Ml07fB1KK0puazzgaqsuHmi/B+Li6fBJzN
	0e7fyoCIPCVAQnl3kzRc3yIbOlz0d0i8R3WFyymON1j2P+WcZcifN5j77GiFT5N3QGTQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] arm/xen: zero init memory region before returning to the heap
Message-Id: <E1vL1Zk-004feI-2E@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 15:55:32 +0000

commit 5baa5b9cbd072b74b057620fb19371fcf59221c6
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Fri Oct 31 16:02:11 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:25:38 2025 +0000

    arm/xen: zero init memory region before returning to the heap
    
    The current implementation of 'free_init_memory()' fills the freed '__init'
    and '__initdata' memory regions with a faulting instruction before unmapping
    and returning them to the heap. However, after unmapping, any access to this
    region will result in a page fault, making the instruction fill redundant.
    
    Replace the instruction fill with a call to 'memset()', zeroing the entire
    region before it is unmapped and returned to the allocator.
    
    Additionally, this change resolves a violation of MISRA C:2012 Rule 11.3
    (cast between pointer to object type and pointer to a different object type),
    caused by performing a cast from a 'char *' to a 'uint32_t *' pointer to
    write instructions directly into memory, which is not compliant with MISRA
    guidelines.
    
    No functional changes.
    
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/mmu/setup.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index eb8ed19ca1..9b874f8ab2 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -479,9 +479,6 @@ void free_init_memory(void)
 {
     paddr_t pa = virt_to_maddr(__init_begin);
     unsigned long len = __init_end - __init_begin;
-    uint32_t insn;
-    unsigned int i, nr = len / sizeof(insn);
-    uint32_t *p;
     int rc;
 
     rc = modify_xen_mappings((unsigned long)__init_begin,
@@ -495,15 +492,8 @@ void free_init_memory(void)
      */
     invalidate_icache_local();
 
-#ifdef CONFIG_ARM_32
-    /* udf instruction i.e (see A8.8.247 in ARM DDI 0406C.c) */
-    insn = 0xe7f000f0;
-#else
-    insn = AARCH64_BREAK_FAULT;
-#endif
-    p = (uint32_t *)__init_begin;
-    for ( i = 0; i < nr; i++ )
-        *(p + i) = insn;
+    /* Zeroing the memory before returning it */
+    memset(__init_begin, 0, len);
 
     rc = destroy_xen_mappings((unsigned long)__init_begin,
                               (unsigned long)__init_end);
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 15:55:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 15:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164176.1491175 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL1Zv-0005Bd-Mg; Mon, 17 Nov 2025 15:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164176.1491175; Mon, 17 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vL1Zv-0005BV-Jl; Mon, 17 Nov 2025 15:55:43 +0000
Received: by outflank-mailman (input) for mailman id 1164176;
 Mon, 17 Nov 2025 15:55:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL1Zu-0005BL-SX
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 15:55:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1Zu-00BtZv-2j
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1Zu-004ffO-2d
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=AylyqR0OxCukSW3CjNsNvWaPWmABgZiIsAMygVdh5UE=; b=f/u8GYK0nwU8JPDaMVtGXc0A2m
	eW57exw+zE6Mzr/3kme6G4bL3SQeuhVzAX7H4q++wtqmppiVXzvIlMoSItiefJOzf7Y+CmvJppZdr
	DYdxJk+NztJz5I4/1o9rXxbOquz6pPxyefNVGM3JS8XIo/fYqqLEOPsoiwmqLoYrB7B8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] dom0less: Remove redundant magic check in 'check_partial_fdt()'
Message-Id: <E1vL1Zu-004ffO-2d@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 15:55:42 +0000

commit b27eedee70657e54fc05d29502415e1eb3ac3661
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Mon Nov 10 10:59:29 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:26:37 2025 +0000

    dom0less: Remove redundant magic check in 'check_partial_fdt()'
    
    The function 'check_partial_fdt()' performs an explicit check for the FDT
    magic number (FDT_MAGIC) before calling 'fdt_check_header(). This check is
    redundant, because 'fdt_check_header()' includes checking the magic number.
    
    Remove the redundant check to simplify the code and rely on the library
    function to perform header validation.
    
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/common/device-tree/dom0less-build.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
index 9fd004c42a..2600350a3c 100644
--- a/xen/common/device-tree/dom0less-build.c
+++ b/xen/common/device-tree/dom0less-build.c
@@ -359,12 +359,6 @@ static int __init check_partial_fdt(void *pfdt, size_t size)
 {
     int res;
 
-    if ( fdt_magic(pfdt) != FDT_MAGIC )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
-        return -EINVAL;
-    }
-
     res = fdt_check_header(pfdt);
     if ( res )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 15:55:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 15:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164177.1491178 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL1a5-0005Dr-Nn; Mon, 17 Nov 2025 15:55:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164177.1491178; Mon, 17 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vL1a5-0005Dj-L8; Mon, 17 Nov 2025 15:55:53 +0000
Received: by outflank-mailman (input) for mailman id 1164177;
 Mon, 17 Nov 2025 15:55:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL1a4-0005Dd-Vp
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 15:55:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1a4-00BtZz-32
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1a4-004fhJ-2u
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:55:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=w9ijVLkzR/YyF61hAJqQXhbxkHi8WRb+4oJqjGiLtGo=; b=cpTAMSlx3QmCNVfSX1bS73esqo
	wTs4pcJ3C+wPAyxs/uHR0JYmDeTy6sKGFTjzpgzQCB3A9Gmtc2lLhSmJSpAlRNC6BjaMgKe/+erYK
	RmNuvzj7xstQ3nX+ZGYlxB3FZ++dWKdY795+OWVzF/VvuGB14PQu1x4iMHfBbSV0HPQg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] arm/efi: address MISRA C Rule 11.3
Message-Id: <E1vL1a4-004fhJ-2u@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 15:55:52 +0000

commit 6c9b894a586cebf9b5497da574ff3c92a265603d
Author:     Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
AuthorDate: Mon Oct 27 21:12:03 2025 +0000
Commit:     Julien Grall <julien@xen.org>
CommitDate: Sun Nov 16 12:28:26 2025 +0000

    arm/efi: address MISRA C Rule 11.3
    
    MISRA C Rule 11.3 prohibits casting between pointer-to-object types that
    are different types. The original code used a macro 'NextMemoryDescriptor()'
    that performed a non-compliant cast from 'UINT8*' to 'EFI_MEMORY_DESCRIPTOR*'.
    
    Change 'efi_process_memory_map_bootinfo()' function parameter from
    'EFI_MEMORY_DESCRIPTOR *' to 'void *' for the memory map parameter. Replace
    usage of 'NextMemoryDescriptor()' macro with compliant pointer arithmetic
    on 'void *', followed by a single compliant cast to 'EFI_MEMORY_DESCRIPTOR *'.
    
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/efi/efi-boot.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 7844b9529e..ea59de47e7 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -191,15 +191,16 @@ static bool __init meminfo_add_bank(struct membanks *mem,
     return true;
 }
 
-static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *map,
+static EFI_STATUS __init efi_process_memory_map_bootinfo(void *map,
                                                 UINTN mmap_size,
                                                 UINTN desc_size)
 {
     int Index;
-    EFI_MEMORY_DESCRIPTOR *desc_ptr = map;
 
     for ( Index = 0; Index < (mmap_size / desc_size); Index++ )
     {
+        EFI_MEMORY_DESCRIPTOR *desc_ptr = map + desc_size * Index;
+
         if ( !(desc_ptr->Attribute & EFI_MEMORY_RUNTIME) &&
              (desc_ptr->Attribute & EFI_MEMORY_WB) &&
              (desc_ptr->Type == EfiConventionalMemory ||
@@ -227,7 +228,6 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
             }
         }
 #endif
-        desc_ptr = NextMemoryDescriptor(desc_ptr, desc_size);
     }
 
     return EFI_SUCCESS;
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 15:56:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 15:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164178.1491185 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL1aF-0005GU-QX; Mon, 17 Nov 2025 15:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164178.1491185; Mon, 17 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vL1aF-0005GJ-Mn; Mon, 17 Nov 2025 15:56:03 +0000
Received: by outflank-mailman (input) for mailman id 1164178;
 Mon, 17 Nov 2025 15:56:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL1aF-0005GB-1t
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 15:56:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1aF-00BtaE-05
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:56:03 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL1aE-004fjm-3D
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 15:56:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=cR/w61xyL1tLu34YLSqSImSVfnzHs9cLgZVMbSDhPt0=; b=ybOND+VgXbrmJORULxwFft+ZUt
	samQ12qZKtXCLJgj0fWFqq/GM0SE2Ru1n3gAH9wPew0vCHGpW/BOwzUZY4i/tbUlAsytLJkdxzhEK
	w8XFUZ2kuQk63MXYqgn0QauC5Jl1Wv25eugLljOhnWP+ToC6vVdjs/rUQRp9ht1/pvUM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vL1aE-004fjm-3D@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 15:56:02 +0000

commit 07e57af2b4715a9d088781b06c4f97c7d9f25b19
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 14 14:28:22 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 17 14:46:40 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 550b8c1e57..4a7573c885 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -659,6 +659,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 17:00:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 17:00:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164230.1491227 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL2aB-0006tQ-3t; Mon, 17 Nov 2025 17:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164230.1491227; Mon, 17 Nov 2025 17:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL2aB-0006sn-0t; Mon, 17 Nov 2025 17:00:03 +0000
Received: by outflank-mailman (input) for mailman id 1164230;
 Mon, 17 Nov 2025 17:00:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL2aA-0006hh-Bg
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 17:00:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL2aA-00BvOk-0l
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 17:00:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL2aA-004xFS-0d
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 17:00:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=TaDpfDU3KaO2Tww20XOQ0qMykJj60Pf9myK3ZFYKtdA=; b=QdvY+MrBstuz53znolULdw6PeK
	G4IGH5iCDl7Pfaw3fcTiZ1463THoIb1snc7t3MfBeUlFjJizRdZBbTQA+haYBBOBOAgu9hnJ5Xqaq
	nKx9Jn05ATp2DY8NZA4KR6+R4BX+yoSNLIpZZESRC6IMctDJNpMY7etccJE3LzR6rhp0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vL2aA-004xFS-0d@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 17:00:02 +0000

commit 71f0e5f2ea64d280b492241fc8a66a4414f16318
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 14 14:28:22 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 17 16:56:10 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    (cherry picked from commit 07e57af2b4715a9d088781b06c4f97c7d9f25b19)
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 550b8c1e57..4a7573c885 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -659,6 +659,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Mon Nov 17 18:11:11 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Nov 2025 18:11:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1164233.1491231 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL3gs-0007Fr-Un; Mon, 17 Nov 2025 18:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1164233.1491231; Mon, 17 Nov 2025 18:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vL3gs-0007Fj-S7; Mon, 17 Nov 2025 18:11:02 +0000
Received: by outflank-mailman (input) for mailman id 1164233;
 Mon, 17 Nov 2025 18:11:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vL3gr-0007Fd-Ta
 for xen-changelog@lists.xenproject.org; Mon, 17 Nov 2025 18:11:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL3gr-00BwkZ-24
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 18:11:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vL3gr-0056Dr-1v
 for xen-changelog@lists.xenproject.org;
 Mon, 17 Nov 2025 18:11:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=9E5EPZEB2ZEzikh/cfoxeYvRVFO4DtkAbxaEk1cEERk=; b=Rv7zViAGkIfclwOFI7Fs3MWVLC
	gwl6DqChwSvC4OAL4l866x5gKRmVOKx8jpMTmkDTdGZAXMYdwMMGr01l7r/O/TDcKyzw98FweaivJ
	iE6gpb9yp4Sr32T/KH+Q4jCtMFMxnomywiGfoJytv3TdnbPl5eKoOUOn1EypjSHYWhpY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vL3gr-0056Dr-1v@xenbits.xenproject.org>
Date: Mon, 17 Nov 2025 18:11:01 +0000

commit 71f0e5f2ea64d280b492241fc8a66a4414f16318
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 14 14:28:22 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 17 16:56:10 2025 +0000

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    (cherry picked from commit 07e57af2b4715a9d088781b06c4f97c7d9f25b19)
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 550b8c1e57..4a7573c885 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -659,6 +659,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 17:55:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 17:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165259.1492036 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLPuw-00018f-Vu; Tue, 18 Nov 2025 17:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165259.1492036; Tue, 18 Nov 2025 17:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLPuw-00018X-Sl; Tue, 18 Nov 2025 17:55:02 +0000
Received: by outflank-mailman (input) for mailman id 1165259;
 Tue, 18 Nov 2025 17:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLPuw-00018P-6B
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 17:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLPuw-00DcXr-0J
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 17:55:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLPuw-008FC1-0B
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 17:55:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=yDkAWsKA6wCxyUMs4cGILKika3aJg/67Od1U+uFwRGc=; b=DTOpJmYDgpVmDU/B9vys5JYHzX
	xvOXWoGdNlR4HMCCTJ4Tfh/npmwZzoLzo3o3GI6qB4WVSdLQvswUKWZQE0VPujcrU5wHh/yK48XYA
	49N13tQ7rBmUGO801M9orPXyB80mQubm528LCaDyuAnLHrxSK/CWhgSchh0tpkRvLjfg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] CHANGELOG.md: Set release date for 4.21
Message-Id: <E1vLPuw-008FC1-0B@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 17:55:02 +0000

commit f5535728b66cf177cdfb55b85328a86d21b4c522
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:45:34 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 17:51:13 2025 +0000

    CHANGELOG.md: Set release date for 4.21
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
 CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c9932a2af0..adaad5ee89 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,7 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
 ### Removed
 
-## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+## [4.21.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.21.0) - 2025-11-19
 
 ### Changed
  - The minimum toolchain requirements have increased for some architectures:
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 18:44:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 18:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165274.1492048 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQgN-0000Ob-GN; Tue, 18 Nov 2025 18:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165274.1492048; Tue, 18 Nov 2025 18:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQgN-0000OT-De; Tue, 18 Nov 2025 18:44:03 +0000
Received: by outflank-mailman (input) for mailman id 1165274;
 Tue, 18 Nov 2025 18:44:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLQgM-0000OK-6Z
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 18:44:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQgL-00Dda8-2Y
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 18:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQgL-008Ja7-2R
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 18:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=AmiHO6M6blQb9nIIyZTGQyLjV8kVgcQfOmiI9gcrSXk=; b=XsHq9RZEUlzmcnLyloxS5YK+LR
	ApWXgQBvW50E3xeXLrGDtHyClnwB5N14n3epYeKHx7zIe5uIvEHTq9ALqHG5YaXdpR/19viZeTb3n
	yjvc3nMHQQX/MePqflFhKm58n1AeXlknrQhfG2J4LCTQHBBycqfQ5eAXiILsff9Rmojo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] CHANGELOG.md: Set release date for 4.21
Message-Id: <E1vLQgL-008Ja7-2R@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 18:44:01 +0000

commit f5535728b66cf177cdfb55b85328a86d21b4c522
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:45:34 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 17:51:13 2025 +0000

    CHANGELOG.md: Set release date for 4.21
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
 CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c9932a2af0..adaad5ee89 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,7 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
 ### Removed
 
-## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+## [4.21.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.21.0) - 2025-11-19
 
 ### Changed
  - The minimum toolchain requirements have increased for some architectures:
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 19:00:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 19:00:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165287.1492064 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQvq-0002tZ-QL; Tue, 18 Nov 2025 19:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165287.1492064; Tue, 18 Nov 2025 19:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQvq-0002tB-NK; Tue, 18 Nov 2025 19:00:02 +0000
Received: by outflank-mailman (input) for mailman id 1165287;
 Tue, 18 Nov 2025 19:00:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLQvp-0002ei-QZ
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 19:00:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQvp-00Ddum-20
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQvp-008Klr-1n
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=wLX5MvzMuz8y6u8ive4DGynUrYG3oVPaJ2wHXhmNgEU=; b=cn6RuRVOORz8/8aO87MAVRi5ie
	ph9Iu4F+lr2ckz6BJryY4U3BApFWxFJcNcBIqlWbrmvoyzCrhhebughdfVBMMVeRb1zTCLYAwrG34
	XM0EWsXQJS2VpcOMzrMpoqfGCx9GYv3EDwvzpBL+Dxv2uuEusOg7ClMocrHVWgTUWjg0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] CHANGELOG.md: Set release date for 4.21
Message-Id: <E1vLQvp-008Klr-1n@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 19:00:01 +0000

commit 5cc09cd0345511c31bec8fdd17c91ebf55873a03
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:45:34 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    CHANGELOG.md: Set release date for 4.21
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
    (cherry picked from commit f5535728b66cf177cdfb55b85328a86d21b4c522)
---
 CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 83c9c43c3e..572f985685 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ Notable changes to Xen will be documented in this file.
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
-## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+## [4.21.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.21.0) - 2025-11-19
 
 ### Changed
  - The minimum toolchain requirements have increased for some architectures:
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 19:00:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 19:00:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165288.1492067 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQw0-0003Xm-Re; Tue, 18 Nov 2025 19:00:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165288.1492067; Tue, 18 Nov 2025 19:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQw0-0003Xe-On; Tue, 18 Nov 2025 19:00:12 +0000
Received: by outflank-mailman (input) for mailman id 1165288;
 Tue, 18 Nov 2025 19:00:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLQvz-0003XU-OR
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 19:00:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQvz-00Ddus-2K
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQvz-008KnP-2B
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=diVIlwUZe7ZGGy3JKoqkd3fbBcoU/3BYSVD4nOmH07s=; b=2gu6hVUa7RCyLTI25UlMVjlXLA
	Y3j4DJjgP/Q3HVzNkQsK4WMQGZR/WJdduD8rvuVPhy/aS8slxe16aQHUAP+JwRQYOWNRDJh6/jxGR
	JgKFVcjJaBmC1uyLUXEXViv5xO3Zq8qH9U7mnF5QLyvkthQiFzGQkJbZFSzxYjI0uT+Y=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] SUPPORT.md: Define support lifetime
Message-Id: <E1vLQvz-008KnP-2B@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 19:00:11 +0000

commit 9c5c0730a9f484731cf9a219d91886ede9b520ad
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:49:15 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    SUPPORT.md: Define support lifetime
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 SUPPORT.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index 491f9ecd1b..3099225c77 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,13 +9,13 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.21-rc
-    Initial-Release: n/a
-    Supported-Until: TBD
-    Security-Support-Until: Unreleased - not yet security-supported
+    Xen-Version: 4.21
+    Initial-Release: 2025-11-19
+    Supported-Until: 2027-05-19
+    Security-Support-Until: 2028-11-19
 
 Release Notes
-: <a href="https://wiki.xenproject.org/wiki/Xen_Project_X.YY_Release_Notes">RN</a>
+: <a href="https://wiki.xenproject.org/wiki/Xen_Project_4.21_Release_Notes">RN</a>
 
 # Feature Support
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 19:00:22 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 19:00:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165289.1492071 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQwA-0003bu-Sp; Tue, 18 Nov 2025 19:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165289.1492071; Tue, 18 Nov 2025 19:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQwA-0003bm-Q9; Tue, 18 Nov 2025 19:00:22 +0000
Received: by outflank-mailman (input) for mailman id 1165289;
 Tue, 18 Nov 2025 19:00:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLQw9-0003bY-Rn
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 19:00:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQw9-00Ddv3-2e
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQw9-008Kpk-2V
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=I9/CcexoGPmHqeMWVm6W/qtn3wnhHEBuD3OhR9tVpHw=; b=Z0Ii78RfzW/wi8ONcaNgLuh3pd
	v5D+IQfJtYuPe4ORRsUQMQN5qyYqG901kZBB/JZ/hi9UZ6tFdiBAT27Clx9g8C/0/63uGruxmmpOs
	s3eTps4BS/DnpxBvJ0SXilbAtJ+oWlByGEyBbYSw6yg4MuiYmCy08hBlvtXTMvUvXpGM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] Config.mk Bump tags to final
Message-Id: <E1vLQw9-008Kpk-2V@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 19:00:21 +0000

commit 7fba925b03586ef5f44be68d61c345b95e69ef59
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:51:27 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    Config.mk Bump tags to final
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 Config.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 89c7524a3e..4699d76eb1 100644
--- a/Config.mk
+++ b/Config.mk
@@ -205,10 +205,10 @@ 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_REVISION ?= qemu-xen-4.21.0
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
-MINIOS_UPSTREAM_REVISION ?= 6732fd42d8eb8d0af9f5eb54aca17f4c250213a8
+MINIOS_UPSTREAM_REVISION ?= xen-RELEASE-4.21.0
 
 SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
 SEABIOS_UPSTREAM_REVISION ?= rel-1.16.3
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 19:00:32 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 19:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165290.1492075 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLQwK-0003eb-U6; Tue, 18 Nov 2025 19:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165290.1492075; Tue, 18 Nov 2025 19: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-changelog-bounces@lists.xenproject.org>)
	id 1vLQwK-0003eT-RT; Tue, 18 Nov 2025 19:00:32 +0000
Received: by outflank-mailman (input) for mailman id 1165290;
 Tue, 18 Nov 2025 19:00:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLQwJ-0003eH-UY
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 19:00:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQwJ-00Ddv7-2x
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLQwJ-008Kqo-2o
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 19:00:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=S/6+KoYbcM/ItWroks7fLufEGMBqqRCwUc2AaHMTvHc=; b=6vKnxh5DvDe0sZ9Z7UQwVtuVVK
	hKYWin+vZ1hfqboSuk6KHW++TuMj/X7TiFFTV8vZOBgp9rARJ6djASdRD+aA43U+djJRiQL+jxa7j
	tv08ZHQaieBEu0oy1RqAEWuUl4RrUKXaKtC6u5TBBaGtNAyg914pQ5mF430WnWlfWCY0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] Update to Xen 4.21
Message-Id: <E1vLQwJ-008Kqo-2o@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 19:00:31 +0000

commit 06af9ef22996cecc2024a2e6523cec77a655581e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:52:32 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    Update to Xen 4.21
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 README       | 12 ++++++------
 xen/Makefile |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/README b/README
index 53a4d5c2ae..55f3aa043f 100644
--- a/README
+++ b/README
@@ -1,11 +1,11 @@
-############################################################
+###################################
  __  __            _  _    ____  _
- \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
-  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
-  /  \  __/ | | | |__   _| / __/| |__| | | (__
- /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
+ \ \/ /___ _ __   | || |  |___ \/ |
+  \  // _ \ '_ \  | || |_   __) | |
+  /  \  __/ | | | |__   _| / __/| |
+ /_/\_\___|_| |_|    |_|(_)_____|_|
 
-############################################################
+###################################
 
 https://www.xen.org/
 
diff --git a/xen/Makefile b/xen/Makefile
index ddcee8835c..37ca2e657e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= .0-rc3$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .0$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 20:00:09 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 20:00:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165344.1492119 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLRrv-0005DQ-0L; Tue, 18 Nov 2025 20:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165344.1492119; Tue, 18 Nov 2025 20:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLRru-0005Cy-Ts; Tue, 18 Nov 2025 20:00:02 +0000
Received: by outflank-mailman (input) for mailman id 1165344;
 Tue, 18 Nov 2025 20:00:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLRrt-0004wY-Qp
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 20:00:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRrt-00Df5k-26
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRrt-008QLo-1o
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=jSSOBOaeIJODrKYf82rAzzGE7ovtx1Uq43m8Ul4nPcY=; b=hvRKKD5ySA4hhIpAFPB/f5S6RW
	RSpNXdhzvWrv8grp4WPr1uCHEQLxwNeCFwSzZxb+ZUQCQTsr3Q3RJwgntd/XkeUqxs/lOlhYs48ID
	t8KN413aFy7Xs0736PUEMIV5CyBMb4EqkAdNcAU6HX0J87XalFDOfiJnlS7JvyrVdq8c=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] CHANGELOG.md: Set release date for 4.21
Message-Id: <E1vLRrt-008QLo-1o@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 20:00:01 +0000

commit 5cc09cd0345511c31bec8fdd17c91ebf55873a03
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:45:34 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    CHANGELOG.md: Set release date for 4.21
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
    (cherry picked from commit f5535728b66cf177cdfb55b85328a86d21b4c522)
---
 CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 83c9c43c3e..572f985685 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ Notable changes to Xen will be documented in this file.
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
-## [4.21.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+## [4.21.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.21.0) - 2025-11-19
 
 ### Changed
  - The minimum toolchain requirements have increased for some architectures:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 20:00:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 20:00:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165345.1492123 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLRs5-0005zo-1b; Tue, 18 Nov 2025 20:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165345.1492123; Tue, 18 Nov 2025 20:00:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLRs4-0005zg-VG; Tue, 18 Nov 2025 20:00:12 +0000
Received: by outflank-mailman (input) for mailman id 1165345;
 Tue, 18 Nov 2025 20:00:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLRs3-0005zW-Op
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 20:00:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRs3-00Df8L-2O
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRs3-008QNC-2H
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=k4wpIbF0BDDy/77QtDMgVE8w59Tm/8QLwd7zThST3bU=; b=yYroEbZesDcAHBNgXXMArUq4dP
	Uu7SJP19GB5iHcELEQlFsNQqxtTIItXa5+I2vTq/ZNBDVcR0pN1Nvzdnkn5FcXY5vPZ0LhG2u+Q8c
	cB7asA3sp+Mza6DnrjAVUMPFSJIcoA5tnLNB5GyqKS7r+9hZfGrNkuVgL1htdtlzgnWc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] SUPPORT.md: Define support lifetime
Message-Id: <E1vLRs3-008QNC-2H@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 20:00:11 +0000

commit 9c5c0730a9f484731cf9a219d91886ede9b520ad
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:49:15 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    SUPPORT.md: Define support lifetime
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 SUPPORT.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index 491f9ecd1b..3099225c77 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,13 +9,13 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.21-rc
-    Initial-Release: n/a
-    Supported-Until: TBD
-    Security-Support-Until: Unreleased - not yet security-supported
+    Xen-Version: 4.21
+    Initial-Release: 2025-11-19
+    Supported-Until: 2027-05-19
+    Security-Support-Until: 2028-11-19
 
 Release Notes
-: <a href="https://wiki.xenproject.org/wiki/Xen_Project_X.YY_Release_Notes">RN</a>
+: <a href="https://wiki.xenproject.org/wiki/Xen_Project_4.21_Release_Notes">RN</a>
 
 # Feature Support
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 20:00:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 20:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165346.1492128 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLRsF-00063w-3u; Tue, 18 Nov 2025 20:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165346.1492128; Tue, 18 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vLRsF-00063o-0N; Tue, 18 Nov 2025 20:00:23 +0000
Received: by outflank-mailman (input) for mailman id 1165346;
 Tue, 18 Nov 2025 20:00:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLRsD-00063Z-SB
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 20:00:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRsD-00Df8V-2g
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRsD-008QOV-2Y
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=tv/g+uCN+0258FYJvchYz+2/S74n2IcR9H+EqZG/Tew=; b=pwNmQuRXGpRE+G1SNmO5uJSyMB
	Wl5yKmy0r/JNUtsxV7Zv6qMIvgCP8UNOZTkttl8c6M729kfk4hrExun6plWIYouUnA0TirkfLSH04
	95WfSOB9O81p8Dw4Cn2lMj+C//s4U/6IdbWTheTwavoRxB1UFFxBO9Z4OkKKS/K+BHO4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] Config.mk Bump tags to final
Message-Id: <E1vLRsD-008QOV-2Y@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 20:00:21 +0000

commit 7fba925b03586ef5f44be68d61c345b95e69ef59
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:51:27 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    Config.mk Bump tags to final
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 Config.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 89c7524a3e..4699d76eb1 100644
--- a/Config.mk
+++ b/Config.mk
@@ -205,10 +205,10 @@ 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_REVISION ?= qemu-xen-4.21.0
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
-MINIOS_UPSTREAM_REVISION ?= 6732fd42d8eb8d0af9f5eb54aca17f4c250213a8
+MINIOS_UPSTREAM_REVISION ?= xen-RELEASE-4.21.0
 
 SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
 SEABIOS_UPSTREAM_REVISION ?= rel-1.16.3
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 18 20:00:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Nov 2025 20:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165347.1492131 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLRsP-00066c-4T; Tue, 18 Nov 2025 20:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165347.1492131; Tue, 18 Nov 2025 20: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-changelog-bounces@lists.xenproject.org>)
	id 1vLRsP-00066V-1m; Tue, 18 Nov 2025 20:00:33 +0000
Received: by outflank-mailman (input) for mailman id 1165347;
 Tue, 18 Nov 2025 20:00:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLRsO-000666-0w
 for xen-changelog@lists.xenproject.org; Tue, 18 Nov 2025 20:00:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRsN-00Df8Z-31
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLRsN-008QP9-2r
 for xen-changelog@lists.xenproject.org;
 Tue, 18 Nov 2025 20:00:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=SKeNqFjMLH5xbL4rDaEt9MvLS8+O26J9hOYekHwD0lM=; b=CHl11rYT0tgsGKaKlOKQhMIrjI
	CcoeAibbi1S5/oHgJ1k1+yIalLXItNra3YdF4d0DfydSE/qgc4ZfgY88r0i8FEppwxsasAamdTXSw
	iOPL3xhMPnyAQq+wm7lvcmQbOxwtLvJGfr98N1BLQq1fe3pOeYqYbVGq5XYmg0Y9fSYs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] Update to Xen 4.21
Message-Id: <E1vLRsN-008QP9-2r@xenbits.xenproject.org>
Date: Tue, 18 Nov 2025 20:00:31 +0000

commit 06af9ef22996cecc2024a2e6523cec77a655581e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 18 16:52:32 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Nov 18 18:02:13 2025 +0000

    Update to Xen 4.21
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 README       | 12 ++++++------
 xen/Makefile |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/README b/README
index 53a4d5c2ae..55f3aa043f 100644
--- a/README
+++ b/README
@@ -1,11 +1,11 @@
-############################################################
+###################################
  __  __            _  _    ____  _
- \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
-  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
-  /  \  __/ | | | |__   _| / __/| |__| | | (__
- /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
+ \ \/ /___ _ __   | || |  |___ \/ |
+  \  // _ \ '_ \  | || |_   __) | |
+  /  \  __/ | | | |__   _| / __/| |
+ /_/\_\___|_| |_|    |_|(_)_____|_|
 
-############################################################
+###################################
 
 https://www.xen.org/
 
diff --git a/xen/Makefile b/xen/Makefile
index ddcee8835c..37ca2e657e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= .0-rc3$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .0$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 10:22:10 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 10:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165701.1492377 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfK6-0005tw-VG; Wed, 19 Nov 2025 10:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165701.1492377; Wed, 19 Nov 2025 10:22:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfK6-0005to-Sk; Wed, 19 Nov 2025 10:22:02 +0000
Received: by outflank-mailman (input) for mailman id 1165701;
 Wed, 19 Nov 2025 10:22:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLfK5-0005ti-TL
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 10:22:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfK5-00F8gb-2a
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfK5-009muY-2Q
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ftcv4vHARyO5fYBEzYT+rIC/kdlpsJYGyVRNJmNKW1U=; b=Szm5wQhfnBKKiAr5J5xtO9ddzJ
	z9/gmw5tz/OJYqP3ZcOcZm+xbMAZnmEKIPgonmgOhGCTYi/N7eP+kN2fdMQbt88wSHv+mSRLtn2yO
	g9EvEv+3+P8YVcE4s3wbSQHh6xESq/jyTAjenhpPQn1dVBZH0cmvAhxFBqQ4htflwgtA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86emul: replace custom handling for SHLD/SHRD
Message-Id: <E1vLfK5-009muY-2Q@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 10:22:01 +0000

commit 4faf96d35c9a089ae5981efa97921e93ae5599ad
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 19 10:10:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:10:01 2025 +0100

    x86emul: replace custom handling for SHLD/SHRD
    
    Use an existing macro instead of open-coding the operation and flags
    handling, just like we already do in x86_emul_rmw(). While possibly
    yielding slightly larger compiled code, it's easier to maintain this
    way.
    
    Note that the setting of dst.orig_val was already redundant with that
    done ahead of the main switch() (where DST_MEM is handled), the latest
    as of 4e59f578cb75 ("x86emul: simplify SHLD/SHRD handling").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 29 +++++++----------------------
 1 file changed, 7 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 2aedd4d155..d830aea430 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -5108,7 +5108,7 @@ x86_emulate(
     case X86EMUL_OPC(0x0f, 0xa5): /* shld %%cl,r,r/m */
     case X86EMUL_OPC(0x0f, 0xac): /* shrd imm8,r,r/m */
     case X86EMUL_OPC(0x0f, 0xad): /* shrd %%cl,r,r/m */ {
-        uint8_t shift, width = dst.bytes << 3;
+        uint8_t shift;
 
         generate_exception_if(lock_prefix, X86_EXC_UD);
 
@@ -5125,28 +5125,13 @@ x86_emulate(
         {
             ea.orig_val = shift;
             state->rmw = b & 8 ? rmw_shrd : rmw_shld;
-            break;
         }
-
-        if ( (shift &= width - 1) == 0 )
-            break;
-        dst.orig_val = dst.val;
-        dst.val = (b & 8) ?
-                  /* shrd */
-                  ((dst.orig_val >> shift) |
-                   truncate_word(src.val << (width - shift), dst.bytes)) :
-                  /* shld */
-                  (truncate_word(dst.orig_val << shift, dst.bytes) |
-                   (src.val >> (width - shift)));
-        _regs.eflags &= ~(X86_EFLAGS_OF | X86_EFLAGS_SF | X86_EFLAGS_ZF |
-                          X86_EFLAGS_PF | X86_EFLAGS_CF);
-        if ( (dst.orig_val >> ((b & 8) ? (shift - 1) : (width - shift))) & 1 )
-            _regs.eflags |= X86_EFLAGS_CF;
-        if ( ((dst.val ^ dst.orig_val) >> (width - 1)) & 1 )
-            _regs.eflags |= X86_EFLAGS_OF;
-        _regs.eflags |= ((dst.val >> (width - 1)) & 1) ? X86_EFLAGS_SF : 0;
-        _regs.eflags |= (dst.val == 0) ? X86_EFLAGS_ZF : 0;
-        _regs.eflags |= even_parity(dst.val) ? X86_EFLAGS_PF : 0;
+        else if ( b & 8 )
+            _emulate_2op_SrcV_nobyte("shrd", src.val, &dst.val, dst.bytes,
+                                     _regs.eflags, "c" (shift));
+        else
+            _emulate_2op_SrcV_nobyte("shld", src.val, &dst.val, dst.bytes,
+                                     _regs.eflags, "c" (shift));
         break;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 10:22:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 10:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165702.1492381 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfKH-0005vM-0n; Wed, 19 Nov 2025 10:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165702.1492381; Wed, 19 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vLfKG-0005vE-U7; Wed, 19 Nov 2025 10:22:12 +0000
Received: by outflank-mailman (input) for mailman id 1165702;
 Wed, 19 Nov 2025 10:22:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLfKF-0005v4-UE
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 10:22:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKF-00F8gf-2t
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKF-009mvM-2m
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=IqARVs3cTB/XfW9QrTkWy7W/kzP6uY+WqHtiazQvs5s=; b=3WEHOkZtOBlfXbP6YkF52iSMhN
	5p77zNlcr+Jv2Zc4MOvqSIk4DMmnAbf/f5kJZjJPdYqhsdOChBLOO7h+z6s/C4zneU7QYNjY1lcuH
	Rk8dZjI5MNGeJRQ8vOUjdMQEuKKfUfcxQfBEUrmRkj5FFbjOp+oG1PAuvbTP0axrwc0s=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/hvm: revise "cpu_has_vmx" usage for !CONFIG_INTEL_VMX case
Message-Id: <E1vLfKF-009mvM-2m@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 10:22:11 +0000

commit 092cec0885f407a679f84ad7b30134578ecc481b
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Wed Nov 19 10:11:35 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:11:35 2025 +0100

    x86/hvm: revise "cpu_has_vmx" usage for !CONFIG_INTEL_VMX case
    
    Since commit b99227347230 ("x86: Fix AMD_SVM and INTEL_VMX dependency") the
    HVM Intel VT-x support can be disabled, but it still keeps VMX
    code partially built-in. Particularly in HVM code there are two places:
    
    1) hvm/dom0_build.c
     dom0_construct_pvh()->pvh_populate_p2m()
        ...
        if ( cpu_has_vmx && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
        {
            ...
            [unreachable for !cpu_has_vmx case]
            rc = pvh_setup_vmx_realmode_helpers(d);
    
    pvh_setup_vmx_realmode_helpers() allocates memory and configures
     HVM_PARAM_VM86_TSS_SIZED
     HVM_PARAM_IDENT_PT
    
    2) hvm/hvm.c
     hvm_set_param()
        ...
        case HVM_PARAM_IDENT_PT:
    
            if ( !paging_mode_hap(d) || !cpu_has_vmx )
            {
                d->arch.hvm.params[index] = value;
                break;
            }
            [unreachable for !cpu_has_vmx case]
            ...
    
    Hence HVM_PARAM_IDENT_PT/HVM_PARAM_VM86_TSS_SIZED are used only by VMX code
    above code become unreachable in !cpu_has_vmx case and can be optimazed
    when !CONFIG_INTEL_VMX.
    
    Replace "cpu_has_vmx" with using_vmx() to account !CONFIG_INTEL_VMX and allow
    compiler DCE to optimize code.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/dom0_build.c | 2 +-
 xen/arch/x86/hvm/hvm.c        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 5551f90448..5ac2cf8394 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -473,7 +473,7 @@ static int __init pvh_populate_p2m(struct domain *d)
         }
     }
 
-    if ( cpu_has_vmx && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
+    if ( using_vmx() && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
     {
         /*
          * Since Dom0 cannot be migrated, we will only setup the
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0c60faa39d..f1035fc9f6 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4299,7 +4299,7 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
          * Only actually required for VT-x lacking unrestricted_guest
          * capabilities.  Short circuit the pause if possible.
          */
-        if ( !paging_mode_hap(d) || !cpu_has_vmx )
+        if ( !paging_mode_hap(d) || !using_vmx() )
         {
             d->arch.hvm.params[index] = value;
             break;
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 10:22:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 10:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165703.1492385 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfKR-0005xi-26; Wed, 19 Nov 2025 10:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165703.1492385; Wed, 19 Nov 2025 10:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfKQ-0005xY-VP; Wed, 19 Nov 2025 10:22:22 +0000
Received: by outflank-mailman (input) for mailman id 1165703;
 Wed, 19 Nov 2025 10:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLfKQ-0005xJ-1A
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 10:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKP-00F8h2-3B
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKP-009mvq-35
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=G93tvGsjJiFYdZh5L3cSEB+HOqSTxZVhsU6h7q7YvG8=; b=ibiZI4eeMASqLf83xUPwaSjA8b
	vT2TLkIW8VM22wtmiqAdgYkqeo6YP5vVDJkOEoNVpYzxxsfl8qIVOB1o2fiMeedOL8FI8JDUvfZJq
	uwZsN21MYx+pi/7cezQhY3kpkG4VIHh3PydEuG1z3LVvYv+lj28U6VClwhJvebr2Nz4g=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/mem_sharing: wrap hvm_copy_context_and_params() with CONFIG_MEM_SHARING
Message-Id: <E1vLfKP-009mvq-35@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 10:22:21 +0000

commit 77733db60d33de27d3ecf7fbb1ef99108991d736
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Wed Nov 19 10:11:54 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:11:54 2025 +0100

    xen/mem_sharing: wrap hvm_copy_context_and_params() with CONFIG_MEM_SHARING
    
    The only reference of hvm_copy_context_and_params() is in
    arch/x86/mm/mem_sharing.c, so it shall be wrapped with CONFIG_MEM_SHARING.
    Otherwise it will become unreachable when MEM_SHARING=n, and hence violating
    Misra rule 2.1.
    
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Reviewed-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f1035fc9f6..0ff242d4a0 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -5458,6 +5458,7 @@ void hvm_set_segment_register(struct vcpu *v, enum x86_segment seg,
     alternative_vcall(hvm_funcs.set_segment_register, v, seg, reg);
 }
 
+#ifdef CONFIG_MEM_SHARING
 int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
 {
     struct hvm_domain_context c = { .size = hvm_save_size(src) };
@@ -5489,6 +5490,7 @@ int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
 
     return rc;
 }
+#endif /* CONFIG_MEM_SHARING */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 10:22:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 10:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165705.1492399 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfKb-0006EX-97; Wed, 19 Nov 2025 10:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165705.1492399; Wed, 19 Nov 2025 10:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfKb-0006EP-6T; Wed, 19 Nov 2025 10:22:33 +0000
Received: by outflank-mailman (input) for mailman id 1165705;
 Wed, 19 Nov 2025 10:22:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLfKa-0006Dr-4f
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 10:22:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKa-00F8h6-0I
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKa-009mx3-09
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=wppCK3WdpBEwjkG9fUq1OYK8d2hjsfrum36MsD8UVHU=; b=Cc8s22WVjbB+6YjB5UfDy2aJ7J
	BO9ILldpOz1lNsMV67bQVLu2uEpjaVOi4Cy/DoRuX43CnCeZlKgefgjeJDZrXuX/R8tTr22Z+CoWS
	klLf2eiagyYul5u3dF8/EWrJN3cihAI/GrkQj14xapAy12o24G+/+ylL1IvPHb0fIY/I=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/sched: remove vcpu_set_soft_affinity()
Message-Id: <E1vLfKa-009mx3-09@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 10:22:32 +0000

commit e3af60df4d0737aa98e9891410438d27f22b33ec
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Wed Nov 19 10:12:14 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:12:14 2025 +0100

    xen/sched: remove vcpu_set_soft_affinity()
    
    Helper vcpu_set_soft_affinity() only has a single caller, so it is of little
    value to keep it as a helper and could easily be expanded at the sole call
    site.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/core.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 2ab4313517..ec2448cfa1 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1402,11 +1402,6 @@ int vcpu_set_hard_affinity(struct vcpu *v, const cpumask_t *affinity)
     return vcpu_set_affinity(v, affinity, v->sched_unit->cpu_hard_affinity);
 }
 
-static int vcpu_set_soft_affinity(struct vcpu *v, const cpumask_t *affinity)
-{
-    return vcpu_set_affinity(v, affinity, v->sched_unit->cpu_soft_affinity);
-}
-
 /* Block the currently-executing domain until a pertinent event occurs. */
 void vcpu_block(void)
 {
@@ -1762,8 +1757,9 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
         {
             ret = xenctl_bitmap_to_bitmap(cpumask_bits(new_affinity),
                                           &vcpuaff->cpumap_soft, nr_cpu_ids);
-            if ( !ret)
-                ret = vcpu_set_soft_affinity(v, new_affinity);
+            if ( !ret )
+                ret = vcpu_set_affinity(v, new_affinity,
+                                        v->sched_unit->cpu_soft_affinity);
             if ( ret )
             {
                 /*
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 10:22:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 10:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165708.1492403 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfKl-0006KW-AW; Wed, 19 Nov 2025 10:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165708.1492403; Wed, 19 Nov 2025 10:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vLfKl-0006KO-7m; Wed, 19 Nov 2025 10:22:43 +0000
Received: by outflank-mailman (input) for mailman id 1165708;
 Wed, 19 Nov 2025 10:22:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLfKk-0006K8-7a
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 10:22:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKk-00F8hE-0e
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKk-009mxw-0T
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=MDxj1lmurqJru5scZoHjKmvrRiGBlOS9xMoGFkPZnWQ=; b=i72ydyVky5s173z121mPEnQ5Kp
	TqnkyTjT1odx7cPMVqUhdCinGZAxq5oFLtlzHZ/i9p2owWyzfuaelWSWBwC2vsU3z30U9pd3ijjtl
	rJtU4tFv63wS2ljP28X0V9NhC+Z2wbdNLAp6+H7KK3YvfZ0BrN95OrOG+AdW8oxbV/pg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] vtd: Remove IO_xAPIC_route_entry macro
Message-Id: <E1vLfKk-009mxw-0T@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 10:22:42 +0000

commit fb5e13b6937e6d40c0c90019bba10b9fdc78a497
Author:     Teddy Astie <teddy.astie@vates.tech>
AuthorDate: Wed Nov 19 10:12:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:12:41 2025 +0100

    vtd: Remove IO_xAPIC_route_entry macro
    
    This macro was introduced to abstract between IO-APIC and IO-SAPIC (ia64),
    now that ia64 isn't supported anymore, this macro now only refers to IO-APIC.
    
    Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/drivers/passthrough/vtd/intremap.c | 10 +++++-----
 xen/drivers/passthrough/vtd/vtd.h      |  3 ---
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 7726ee618a..116c2e75ae 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -268,7 +268,7 @@ static unsigned int alloc_remap_entry(struct vtd_iommu *iommu, unsigned int nr)
 }
 
 static int remap_entry_to_ioapic_rte(
-    struct vtd_iommu *iommu, int index, struct IO_xAPIC_route_entry *old_rte)
+    struct vtd_iommu *iommu, int index, struct IO_APIC_route_entry *old_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     unsigned long flags;
@@ -316,8 +316,8 @@ static int remap_entry_to_ioapic_rte(
 }
 
 static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
-    int apic, unsigned int ioapic_pin, struct IO_xAPIC_route_entry *old_rte,
-    struct IO_xAPIC_route_entry new_rte)
+    int apic, unsigned int ioapic_pin, struct IO_APIC_route_entry *old_rte,
+    struct IO_APIC_route_entry new_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     struct iremap_entry new_ire;
@@ -398,7 +398,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 {
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
-    struct IO_xAPIC_route_entry old_rte = { };
+    struct IO_APIC_route_entry old_rte = {};
     int rte_upper = (reg & 1) ? 1 : 0;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
@@ -420,7 +420,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 void cf_check io_apic_write_remap_rte(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
-    struct IO_xAPIC_route_entry old_rte = {}, new_rte;
+    struct IO_APIC_route_entry old_rte = {}, new_rte;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
     int rc;
 
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index b95124517b..f0286b40c3 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -31,9 +31,6 @@
 #define MAP_ERROR_RECOVERY    (1u << 2)
 #define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
-/* Allow for both IOAPIC and IOSAPIC. */
-#define IO_xAPIC_route_entry IO_APIC_route_entry
-
 struct IO_APIC_route_remap_entry {
     union {
         u64 val;
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 10:22:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 10:22:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165713.1492407 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfKv-0006TV-C7; Wed, 19 Nov 2025 10:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165713.1492407; Wed, 19 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vLfKv-0006TM-99; Wed, 19 Nov 2025 10:22:53 +0000
Received: by outflank-mailman (input) for mailman id 1165713;
 Wed, 19 Nov 2025 10:22:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLfKu-0006Sz-BJ
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 10:22:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKu-00F8hI-12
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfKu-009myc-0p
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:22:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=LrB7YEtQyzX6BYpMSLHUt++JV//2IRGPlVp8G/F0hyo=; b=OZ04Y+7t0EE7mwfUKJnCWXOtVn
	ccZbQ1eKjvpSof2L0WJeIfSnS7V+nX9mRCHCrwkWHMJmgktA60f0FkCJV78A9jEIGp/bunlyG9nzH
	Rg5gAS6BNu+le1Rby3ojeEG0sBhrEtKHVRRHtko8L+J9NiwNMi2pZmsev+oawBG8y1P8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/ioapic: Don't open-code 32-bits rte reads
Message-Id: <E1vLfKu-009myc-0p@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 10:22:52 +0000

commit dc6f5458e93b76b769d79d735aa1dfee73ddd9a6
Author:     Teddy Astie <teddy.astie@vates.tech>
AuthorDate: Wed Nov 19 10:13:22 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:13:22 2025 +0100

    x86/ioapic: Don't open-code 32-bits rte reads
    
    There are many places where we use interesting ways of reading 32-bits
    components of the RTE. Introduce and use low and high components directly
    to the rte structure instead.
    
    Also take the opportunity to simplify "x & 1 ? 1 : 0".
    
    Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/include/asm/io_apic.h     |  1 +
 xen/arch/x86/io_apic.c                 | 29 +++++++++++------------------
 xen/drivers/passthrough/vtd/intremap.c |  9 +++------
 3 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
index 4680dce9e1..0e85f2a860 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -122,6 +122,7 @@ struct IO_APIC_route_entry {
             } dest;
         };
         uint64_t raw;
+        struct { uint32_t low, high; };
     };
 };
 
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index d20ab2aa98..46c2a43dac 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -254,28 +254,23 @@ nomem:
     return NULL;
 }
 
-union entry_union {
-    struct { u32 w1, w2; };
-    struct IO_APIC_route_entry entry;
-};
-
 struct IO_APIC_route_entry __ioapic_read_entry(
     unsigned int apic, unsigned int pin, bool raw)
 {
-    union entry_union eu;
+    struct IO_APIC_route_entry entry;
 
     if ( raw || !iommu_intremap )
     {
-        eu.w1 = __io_apic_read(apic, 0x10 + 2 * pin);
-        eu.w2 = __io_apic_read(apic, 0x11 + 2 * pin);
+        entry.low  = __io_apic_read(apic, 0x10 + 2 * pin);
+        entry.high = __io_apic_read(apic, 0x11 + 2 * pin);
     }
     else
     {
-        eu.w1 = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
-        eu.w2 = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
+        entry.low  = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
+        entry.high = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
     }
 
-    return eu.entry;
+    return entry;
 }
 
 static struct IO_APIC_route_entry ioapic_read_entry(
@@ -294,12 +289,10 @@ void __ioapic_write_entry(
     unsigned int apic, unsigned int pin, bool raw,
     struct IO_APIC_route_entry e)
 {
-    union entry_union eu = { .entry = e };
-
     if ( raw || !iommu_intremap )
     {
-        __io_apic_write(apic, 0x11 + 2 * pin, eu.w2);
-        __io_apic_write(apic, 0x10 + 2 * pin, eu.w1);
+        __io_apic_write(apic, 0x11 + 2 * pin, e.high);
+        __io_apic_write(apic, 0x10 + 2 * pin, e.low);
         /*
          * Might be called before io_apic_pin_eoi is allocated.  Entry will be
          * initialized to the RTE value once the cache is allocated.
@@ -2218,7 +2211,7 @@ int ioapic_guest_read(unsigned long physbase, unsigned int reg, u32 *pval)
     dprintk(XENLOG_INFO, "IO-APIC: apic=%d, pin=%d, irq=%d\n" \
             XENLOG_INFO "IO-APIC: new_entry=%08x\n"           \
             XENLOG_INFO "IO-APIC: " f "\n",                   \
-            apic, pin, irq, *(u32 *)&rte, ##a )
+            apic, pin, irq, rte.low, ##a )
 
 int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
 {
@@ -2237,7 +2230,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
     pin = (reg - 0x10) >> 1;
 
     /* Write first half from guest; second half is target info. */
-    *(u32 *)&rte = val;
+    rte.low = val;
 
     /*
      * What about weird destination types?
@@ -2288,7 +2281,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
         ret = io_apic_read(apic, 0x10 + 2 * pin);
         spin_unlock_irqrestore(&ioapic_lock, flags);
         rte.vector = desc->arch.vector;
-        if ( *(u32*)&rte != ret )
+        if ( rte.low != ret )
             WARN_BOGUS_WRITE("old_entry=%08x pirq=%d\n" XENLOG_INFO
                              "IO-APIC: Attempt to modify IO-APIC pin for in-use IRQ!",
                              ret, pirq);
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 116c2e75ae..afa8eb3756 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -399,7 +399,7 @@ unsigned int cf_check io_apic_read_remap_rte(
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
     struct IO_APIC_route_entry old_rte = {};
-    int rte_upper = (reg & 1) ? 1 : 0;
+    bool rte_upper = reg & 1;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
     if ( !iommu->intremap.num ||
@@ -410,11 +410,8 @@ unsigned int cf_check io_apic_read_remap_rte(
 
     if ( remap_entry_to_ioapic_rte(iommu, index, &old_rte) )
         return __io_apic_read(apic, reg);
-
-    if ( rte_upper )
-        return (*(((u32 *)&old_rte) + 1));
-    else
-        return (*(((u32 *)&old_rte) + 0));
+    
+    return rte_upper ? old_rte.high : old_rte.low;
 }
 
 void cf_check io_apic_write_remap_rte(
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 10:23:04 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 10:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165716.1492411 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLfL6-0006Yi-Dl; Wed, 19 Nov 2025 10:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165716.1492411; Wed, 19 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vLfL6-0006Ya-Ae; Wed, 19 Nov 2025 10:23:04 +0000
Received: by outflank-mailman (input) for mailman id 1165716;
 Wed, 19 Nov 2025 10:23:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLfL4-0006Wx-Ea
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 10:23:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfL4-00F8hd-1M
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:23:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLfL4-009mzJ-1G
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 10:23:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=KQv4Di58/A3PBUq116NnlAxk96PIpXl1ZB2Kyxi/ILs=; b=e6Q/lW9B0nqDwtqnYWa5FET0Ct
	8ucYS7042ED1gJblEUb4QCgBWtMbr6RJ8UV4qx7ft7Vm+iB7B+HwIi6Q0S77NjYw8ibJYvnl2GKDz
	KNwQwFgXKJe9sGkfRqhgVWJYeQQnGRuicI0zL9GRH9/oApoht3nz91RIPXRvOPMOE7CE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] domain: adjust soft-reset arch dependency
Message-Id: <E1vLfL4-009mzJ-1G@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 10:23:02 +0000

commit dedbb0e212f068bf7bb1f19e50e1cf105aa18828
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 19 10:14:13 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:14:13 2025 +0100

    domain: adjust soft-reset arch dependency
    
    Arm's arch_domain_soft_reset() returning -ENOSYS is quite unhelpful: This
    way a domain will be crashed if a tool stack mistakenly invokes
    XEN_DOMCTL_soft_reset on it. Instead the tool stack should be told of its
    mistake.
    
    Introduce HAS_SOFT_RESET, implied only by x86. "imply" rather than
    "select" such that HAS_SOFT_RESET can later gain a dependency on
    MGMT_HYPERCALLS. That way HAS_SOFT_RESET will go off when
    MGMT_HYPERCALLS is off.
    
    Check the new setting early in domctl handling, and compile out the thus
    dead (when HAS_SOFT_RESET=n) domain_soft_reset() as well as its dedicated
    helpers.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Julien GralL <jgrall@amazon.com>
    Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/domain.c    | 5 -----
 xen/arch/ppc/stubs.c     | 5 -----
 xen/arch/riscv/stubs.c   | 5 -----
 xen/arch/x86/Kconfig     | 1 +
 xen/arch/x86/domain.c    | 2 ++
 xen/common/Kconfig       | 3 +++
 xen/common/argo.c        | 2 ++
 xen/common/domain.c      | 2 ++
 xen/common/domctl.c      | 6 ++++++
 xen/common/grant_table.c | 2 ++
 10 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index e36719bce4..ab78444335 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -875,11 +875,6 @@ void arch_domain_unpause(struct domain *d)
 {
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    return -ENOSYS;
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     p2m_domain_creation_finished(d);
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index bdaf474c5c..75ebcae5e2 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -214,11 +214,6 @@ void arch_domain_unpause(struct domain *d)
     BUG_ON("unimplemented");
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 1a8c86cd8d..340ed3cd6c 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -188,11 +188,6 @@ void arch_domain_unpause(struct domain *d)
     BUG_ON("unimplemented");
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 3f0f3a0f3a..c808c989fc 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
+	imply HAS_SOFT_RESET
 	select HAS_UBSAN
 	select HAS_VMAP
 	select HAS_VPCI if HVM
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 19fd86ce88..66b7412b87 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1030,6 +1030,7 @@ void arch_domain_unpause(struct domain *d)
         viridian_time_domain_thaw(d);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 int arch_domain_soft_reset(struct domain *d)
 {
     struct page_info *page = virt_to_page(d->shared_info), *new_page;
@@ -1131,6 +1132,7 @@ int arch_domain_soft_reset(struct domain *d)
 
     return ret;
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 void arch_domain_creation_finished(struct domain *d)
 {
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 53f681bbb2..401d5046f6 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -155,6 +155,9 @@ config HAS_PMAP
 config HAS_SCHED_GRANULARITY
 	bool
 
+config HAS_SOFT_RESET
+	bool
+
 config HAS_STACK_PROTECTOR
 	bool
 
diff --git a/xen/common/argo.c b/xen/common/argo.c
index cbe8911a43..029a82825b 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -2351,6 +2351,7 @@ argo_destroy(struct domain *d)
     write_unlock(&L1_global_argo_rwlock);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 void
 argo_soft_reset(struct domain *d)
 {
@@ -2374,3 +2375,4 @@ argo_soft_reset(struct domain *d)
 
     write_unlock(&L1_global_argo_rwlock);
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 775c339285..3b6e9471c4 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1687,6 +1687,7 @@ void domain_unpause_except_self(struct domain *d)
         domain_unpause(d);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 int domain_soft_reset(struct domain *d, bool resuming)
 {
     struct vcpu *v;
@@ -1724,6 +1725,7 @@ int domain_soft_reset(struct domain *d, bool resuming)
 
     return rc;
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 int vcpu_reset(struct vcpu *v)
 {
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 954d790226..29a7726d32 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -466,6 +466,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 
     case XEN_DOMCTL_soft_reset:
     case XEN_DOMCTL_soft_reset_cont:
+        if ( !IS_ENABLED(CONFIG_HAS_SOFT_RESET) )
+        {
+            ret = -EOPNOTSUPP;
+            break;
+        }
+
         if ( d == current->domain ) /* no domain_pause() */
         {
             ret = -EINVAL;
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index cf131c43a1..592384514b 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -3962,6 +3962,7 @@ int gnttab_release_mappings(struct domain *d)
     return 0;
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 void grant_table_warn_active_grants(struct domain *d)
 {
     struct grant_table *gt = d->grant_table;
@@ -4006,6 +4007,7 @@ void grant_table_warn_active_grants(struct domain *d)
 
 #undef WARN_GRANT_MAX
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 void
 grant_table_destroy(
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 12:22:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 12:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165938.1492575 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCF-0006Hb-J1; Wed, 19 Nov 2025 12:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165938.1492575; Wed, 19 Nov 2025 12:22:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCF-0006HT-GM; Wed, 19 Nov 2025 12:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1165938;
 Wed, 19 Nov 2025 12:22:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLhCE-0006HN-9z
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 12:22:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCE-00FBCF-0K
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCE-009zyI-0A
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=v4mGC5VeQhxOIyGJGR4EWfn5KEAoOM4mokCq8Wd5fnI=; b=na7/8nkii0MwSuz5DAiM8yiIcV
	M3rT3RBimY4On2JdRH++MLbhJ0RJF6PrrcOOGDCPcgx1WOJXcGbA4vrjmvuR3nw82tgF7Q+9IDKoS
	m9j7xaZQCHM75FCDLT/XVLgdlUEjJiSMoISg4afKjTdBfTyvBy21liz78+Rq+FlJpfxY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86emul: replace custom handling for SHLD/SHRD
Message-Id: <E1vLhCE-009zyI-0A@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 12:22:02 +0000

commit 4faf96d35c9a089ae5981efa97921e93ae5599ad
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 19 10:10:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:10:01 2025 +0100

    x86emul: replace custom handling for SHLD/SHRD
    
    Use an existing macro instead of open-coding the operation and flags
    handling, just like we already do in x86_emul_rmw(). While possibly
    yielding slightly larger compiled code, it's easier to maintain this
    way.
    
    Note that the setting of dst.orig_val was already redundant with that
    done ahead of the main switch() (where DST_MEM is handled), the latest
    as of 4e59f578cb75 ("x86emul: simplify SHLD/SHRD handling").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 29 +++++++----------------------
 1 file changed, 7 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 2aedd4d155..d830aea430 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -5108,7 +5108,7 @@ x86_emulate(
     case X86EMUL_OPC(0x0f, 0xa5): /* shld %%cl,r,r/m */
     case X86EMUL_OPC(0x0f, 0xac): /* shrd imm8,r,r/m */
     case X86EMUL_OPC(0x0f, 0xad): /* shrd %%cl,r,r/m */ {
-        uint8_t shift, width = dst.bytes << 3;
+        uint8_t shift;
 
         generate_exception_if(lock_prefix, X86_EXC_UD);
 
@@ -5125,28 +5125,13 @@ x86_emulate(
         {
             ea.orig_val = shift;
             state->rmw = b & 8 ? rmw_shrd : rmw_shld;
-            break;
         }
-
-        if ( (shift &= width - 1) == 0 )
-            break;
-        dst.orig_val = dst.val;
-        dst.val = (b & 8) ?
-                  /* shrd */
-                  ((dst.orig_val >> shift) |
-                   truncate_word(src.val << (width - shift), dst.bytes)) :
-                  /* shld */
-                  (truncate_word(dst.orig_val << shift, dst.bytes) |
-                   (src.val >> (width - shift)));
-        _regs.eflags &= ~(X86_EFLAGS_OF | X86_EFLAGS_SF | X86_EFLAGS_ZF |
-                          X86_EFLAGS_PF | X86_EFLAGS_CF);
-        if ( (dst.orig_val >> ((b & 8) ? (shift - 1) : (width - shift))) & 1 )
-            _regs.eflags |= X86_EFLAGS_CF;
-        if ( ((dst.val ^ dst.orig_val) >> (width - 1)) & 1 )
-            _regs.eflags |= X86_EFLAGS_OF;
-        _regs.eflags |= ((dst.val >> (width - 1)) & 1) ? X86_EFLAGS_SF : 0;
-        _regs.eflags |= (dst.val == 0) ? X86_EFLAGS_ZF : 0;
-        _regs.eflags |= even_parity(dst.val) ? X86_EFLAGS_PF : 0;
+        else if ( b & 8 )
+            _emulate_2op_SrcV_nobyte("shrd", src.val, &dst.val, dst.bytes,
+                                     _regs.eflags, "c" (shift));
+        else
+            _emulate_2op_SrcV_nobyte("shld", src.val, &dst.val, dst.bytes,
+                                     _regs.eflags, "c" (shift));
         break;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 12:22:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 12:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165939.1492579 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCP-0006JM-KS; Wed, 19 Nov 2025 12:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165939.1492579; Wed, 19 Nov 2025 12:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vLhCP-0006JE-Hk; Wed, 19 Nov 2025 12:22:13 +0000
Received: by outflank-mailman (input) for mailman id 1165939;
 Wed, 19 Nov 2025 12:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLhCO-0006J3-8C
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 12:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCO-00FBCM-0j
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCO-009zz1-0W
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=MouK2KDta9FGpUWtimAJeedD8duUiXhZuN7ITmUcLKg=; b=UBjmJ0qppsTLTWhpmuNWhDU8rq
	Zhifa0DUMn0mM+iILO95xNEuAAcnp78dVXfZt6J67AwNAIwOs6vsB3chkpDP3110NI5mZHfV64CsG
	ewjvbtSe8IP6lXy32XZINnpIU9QZv7ufD17XZef1Q7kxbVbFk3vIfpUJqBItH8IWDrlQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/hvm: revise "cpu_has_vmx" usage for !CONFIG_INTEL_VMX case
Message-Id: <E1vLhCO-009zz1-0W@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 12:22:12 +0000

commit 092cec0885f407a679f84ad7b30134578ecc481b
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Wed Nov 19 10:11:35 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:11:35 2025 +0100

    x86/hvm: revise "cpu_has_vmx" usage for !CONFIG_INTEL_VMX case
    
    Since commit b99227347230 ("x86: Fix AMD_SVM and INTEL_VMX dependency") the
    HVM Intel VT-x support can be disabled, but it still keeps VMX
    code partially built-in. Particularly in HVM code there are two places:
    
    1) hvm/dom0_build.c
     dom0_construct_pvh()->pvh_populate_p2m()
        ...
        if ( cpu_has_vmx && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
        {
            ...
            [unreachable for !cpu_has_vmx case]
            rc = pvh_setup_vmx_realmode_helpers(d);
    
    pvh_setup_vmx_realmode_helpers() allocates memory and configures
     HVM_PARAM_VM86_TSS_SIZED
     HVM_PARAM_IDENT_PT
    
    2) hvm/hvm.c
     hvm_set_param()
        ...
        case HVM_PARAM_IDENT_PT:
    
            if ( !paging_mode_hap(d) || !cpu_has_vmx )
            {
                d->arch.hvm.params[index] = value;
                break;
            }
            [unreachable for !cpu_has_vmx case]
            ...
    
    Hence HVM_PARAM_IDENT_PT/HVM_PARAM_VM86_TSS_SIZED are used only by VMX code
    above code become unreachable in !cpu_has_vmx case and can be optimazed
    when !CONFIG_INTEL_VMX.
    
    Replace "cpu_has_vmx" with using_vmx() to account !CONFIG_INTEL_VMX and allow
    compiler DCE to optimize code.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/dom0_build.c | 2 +-
 xen/arch/x86/hvm/hvm.c        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 5551f90448..5ac2cf8394 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -473,7 +473,7 @@ static int __init pvh_populate_p2m(struct domain *d)
         }
     }
 
-    if ( cpu_has_vmx && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
+    if ( using_vmx() && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
     {
         /*
          * Since Dom0 cannot be migrated, we will only setup the
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0c60faa39d..f1035fc9f6 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4299,7 +4299,7 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
          * Only actually required for VT-x lacking unrestricted_guest
          * capabilities.  Short circuit the pause if possible.
          */
-        if ( !paging_mode_hap(d) || !cpu_has_vmx )
+        if ( !paging_mode_hap(d) || !using_vmx() )
         {
             d->arch.hvm.params[index] = value;
             break;
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 12:22:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 12:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165940.1492583 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCZ-0006Lg-Le; Wed, 19 Nov 2025 12:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165940.1492583; Wed, 19 Nov 2025 12:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCZ-0006LY-J4; Wed, 19 Nov 2025 12:22:23 +0000
Received: by outflank-mailman (input) for mailman id 1165940;
 Wed, 19 Nov 2025 12:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLhCY-0006LS-BI
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 12:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCY-00FBCl-12
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCY-00A00B-0v
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Ix0WaF3bDyNGuypYgIX5T2XOUF2vHdBXKVysY6+661Y=; b=cpefbND3vmb6nwRywhsdgBZMKw
	TwvmC83YflqAs9nTg1gF5gr3YEkoF98zi/Pp4Opi+2283umxYVHIQtftUJVLK1AnNEQZMt7Wzrwh8
	oDoZdQgt2x9nUiAnfnqlXgb7rLpDPypE75Y8/ORj9EL3c6raUOipqA6Jfu+R9xihet30=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/mem_sharing: wrap hvm_copy_context_and_params() with CONFIG_MEM_SHARING
Message-Id: <E1vLhCY-00A00B-0v@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 12:22:22 +0000

commit 77733db60d33de27d3ecf7fbb1ef99108991d736
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Wed Nov 19 10:11:54 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:11:54 2025 +0100

    xen/mem_sharing: wrap hvm_copy_context_and_params() with CONFIG_MEM_SHARING
    
    The only reference of hvm_copy_context_and_params() is in
    arch/x86/mm/mem_sharing.c, so it shall be wrapped with CONFIG_MEM_SHARING.
    Otherwise it will become unreachable when MEM_SHARING=n, and hence violating
    Misra rule 2.1.
    
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Reviewed-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f1035fc9f6..0ff242d4a0 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -5458,6 +5458,7 @@ void hvm_set_segment_register(struct vcpu *v, enum x86_segment seg,
     alternative_vcall(hvm_funcs.set_segment_register, v, seg, reg);
 }
 
+#ifdef CONFIG_MEM_SHARING
 int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
 {
     struct hvm_domain_context c = { .size = hvm_save_size(src) };
@@ -5489,6 +5490,7 @@ int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
 
     return rc;
 }
+#endif /* CONFIG_MEM_SHARING */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 12:22:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 12:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165941.1492587 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCj-0006O6-Mv; Wed, 19 Nov 2025 12:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165941.1492587; Wed, 19 Nov 2025 12:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCj-0006Ny-KM; Wed, 19 Nov 2025 12:22:33 +0000
Received: by outflank-mailman (input) for mailman id 1165941;
 Wed, 19 Nov 2025 12:22:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLhCi-0006Nq-EN
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 12:22:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCi-00FBCr-1L
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCi-00A01f-1D
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=sfitbpu/dm4LCKPX2ZCprZpY3OeaZiegUBsoTolFHFc=; b=vizM9bnowll2hhR7fM3Xd5qfav
	KW0YfKCTaBlMhOxqORb7sBU9BIXD6Ip0cYyjRnseU8aYbaop5AC0b9kJvB0q5dUQDZu0FQBx6jdtE
	DQ5Ay4+xEEZj2i8mNkOxUnLvqDwv18F+ZzucWbMJ0kqIOhvpZcLlODVy+sq/XkEdQcs8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/sched: remove vcpu_set_soft_affinity()
Message-Id: <E1vLhCi-00A01f-1D@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 12:22:32 +0000

commit e3af60df4d0737aa98e9891410438d27f22b33ec
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Wed Nov 19 10:12:14 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:12:14 2025 +0100

    xen/sched: remove vcpu_set_soft_affinity()
    
    Helper vcpu_set_soft_affinity() only has a single caller, so it is of little
    value to keep it as a helper and could easily be expanded at the sole call
    site.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/core.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 2ab4313517..ec2448cfa1 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1402,11 +1402,6 @@ int vcpu_set_hard_affinity(struct vcpu *v, const cpumask_t *affinity)
     return vcpu_set_affinity(v, affinity, v->sched_unit->cpu_hard_affinity);
 }
 
-static int vcpu_set_soft_affinity(struct vcpu *v, const cpumask_t *affinity)
-{
-    return vcpu_set_affinity(v, affinity, v->sched_unit->cpu_soft_affinity);
-}
-
 /* Block the currently-executing domain until a pertinent event occurs. */
 void vcpu_block(void)
 {
@@ -1762,8 +1757,9 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
         {
             ret = xenctl_bitmap_to_bitmap(cpumask_bits(new_affinity),
                                           &vcpuaff->cpumap_soft, nr_cpu_ids);
-            if ( !ret)
-                ret = vcpu_set_soft_affinity(v, new_affinity);
+            if ( !ret )
+                ret = vcpu_set_affinity(v, new_affinity,
+                                        v->sched_unit->cpu_soft_affinity);
             if ( ret )
             {
                 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 12:22:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 12:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165942.1492591 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhCt-0006QT-OG; Wed, 19 Nov 2025 12:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165942.1492591; Wed, 19 Nov 2025 12:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vLhCt-0006QL-Lg; Wed, 19 Nov 2025 12:22:43 +0000
Received: by outflank-mailman (input) for mailman id 1165942;
 Wed, 19 Nov 2025 12:22:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLhCs-0006Pw-HD
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 12:22:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCs-00FBD6-1c
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhCs-00A03B-1V
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=tYxPp+o4kJmZLy3C+CA+uBJnAm3o3ETLb07qB9NA91A=; b=wsskLwnpWDTw6GX8gGMZgGpkXX
	6XlFY8qxQdo3vIky1mUFxmFbKDhaqC0fajjCtTI8GMddIVApVciMlg7gU2nkQ8wyL61oGiN6NXLV3
	HcjUJCPHebWZZC6BsFS2cNJUY0/pgIOBfBVb6n+briMNgIVutp0mDFRRjnyUZKONyXhs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] vtd: Remove IO_xAPIC_route_entry macro
Message-Id: <E1vLhCs-00A03B-1V@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 12:22:42 +0000

commit fb5e13b6937e6d40c0c90019bba10b9fdc78a497
Author:     Teddy Astie <teddy.astie@vates.tech>
AuthorDate: Wed Nov 19 10:12:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:12:41 2025 +0100

    vtd: Remove IO_xAPIC_route_entry macro
    
    This macro was introduced to abstract between IO-APIC and IO-SAPIC (ia64),
    now that ia64 isn't supported anymore, this macro now only refers to IO-APIC.
    
    Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/drivers/passthrough/vtd/intremap.c | 10 +++++-----
 xen/drivers/passthrough/vtd/vtd.h      |  3 ---
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 7726ee618a..116c2e75ae 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -268,7 +268,7 @@ static unsigned int alloc_remap_entry(struct vtd_iommu *iommu, unsigned int nr)
 }
 
 static int remap_entry_to_ioapic_rte(
-    struct vtd_iommu *iommu, int index, struct IO_xAPIC_route_entry *old_rte)
+    struct vtd_iommu *iommu, int index, struct IO_APIC_route_entry *old_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     unsigned long flags;
@@ -316,8 +316,8 @@ static int remap_entry_to_ioapic_rte(
 }
 
 static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
-    int apic, unsigned int ioapic_pin, struct IO_xAPIC_route_entry *old_rte,
-    struct IO_xAPIC_route_entry new_rte)
+    int apic, unsigned int ioapic_pin, struct IO_APIC_route_entry *old_rte,
+    struct IO_APIC_route_entry new_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     struct iremap_entry new_ire;
@@ -398,7 +398,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 {
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
-    struct IO_xAPIC_route_entry old_rte = { };
+    struct IO_APIC_route_entry old_rte = {};
     int rte_upper = (reg & 1) ? 1 : 0;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
@@ -420,7 +420,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 void cf_check io_apic_write_remap_rte(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
-    struct IO_xAPIC_route_entry old_rte = {}, new_rte;
+    struct IO_APIC_route_entry old_rte = {}, new_rte;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
     int rc;
 
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index b95124517b..f0286b40c3 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -31,9 +31,6 @@
 #define MAP_ERROR_RECOVERY    (1u << 2)
 #define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
-/* Allow for both IOAPIC and IOSAPIC. */
-#define IO_xAPIC_route_entry IO_APIC_route_entry
-
 struct IO_APIC_route_remap_entry {
     union {
         u64 val;
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 12:22:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 12:22:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165943.1492594 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhD3-0006SY-Pc; Wed, 19 Nov 2025 12:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165943.1492594; Wed, 19 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vLhD3-0006SR-Mz; Wed, 19 Nov 2025 12:22:53 +0000
Received: by outflank-mailman (input) for mailman id 1165943;
 Wed, 19 Nov 2025 12:22:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLhD2-0006SJ-K8
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 12:22:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhD2-00FBDC-1v
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhD2-00A04z-1o
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:22:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=DM84SsrujXQlCEejdtbN3ROZNjV0A9hOTe3FHVNvTpA=; b=M48ZsYXsBPWB9XQKs+Fm2FEXNY
	7nLXH5kI73d2Cq18pENKggkuW7qE7w2Qqw/csVLEQ9TCu3ICuS/nOy7L4wqV8/C8sf8hkmpg1/Lkp
	q3SlWnRXPai8DxY5XOajTxNsH8h7Ag5xJY87leCb+os57mIcYtQ7lxAGImJjUIml9qNc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/ioapic: Don't open-code 32-bits rte reads
Message-Id: <E1vLhD2-00A04z-1o@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 12:22:52 +0000

commit dc6f5458e93b76b769d79d735aa1dfee73ddd9a6
Author:     Teddy Astie <teddy.astie@vates.tech>
AuthorDate: Wed Nov 19 10:13:22 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:13:22 2025 +0100

    x86/ioapic: Don't open-code 32-bits rte reads
    
    There are many places where we use interesting ways of reading 32-bits
    components of the RTE. Introduce and use low and high components directly
    to the rte structure instead.
    
    Also take the opportunity to simplify "x & 1 ? 1 : 0".
    
    Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/include/asm/io_apic.h     |  1 +
 xen/arch/x86/io_apic.c                 | 29 +++++++++++------------------
 xen/drivers/passthrough/vtd/intremap.c |  9 +++------
 3 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
index 4680dce9e1..0e85f2a860 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -122,6 +122,7 @@ struct IO_APIC_route_entry {
             } dest;
         };
         uint64_t raw;
+        struct { uint32_t low, high; };
     };
 };
 
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index d20ab2aa98..46c2a43dac 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -254,28 +254,23 @@ nomem:
     return NULL;
 }
 
-union entry_union {
-    struct { u32 w1, w2; };
-    struct IO_APIC_route_entry entry;
-};
-
 struct IO_APIC_route_entry __ioapic_read_entry(
     unsigned int apic, unsigned int pin, bool raw)
 {
-    union entry_union eu;
+    struct IO_APIC_route_entry entry;
 
     if ( raw || !iommu_intremap )
     {
-        eu.w1 = __io_apic_read(apic, 0x10 + 2 * pin);
-        eu.w2 = __io_apic_read(apic, 0x11 + 2 * pin);
+        entry.low  = __io_apic_read(apic, 0x10 + 2 * pin);
+        entry.high = __io_apic_read(apic, 0x11 + 2 * pin);
     }
     else
     {
-        eu.w1 = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
-        eu.w2 = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
+        entry.low  = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
+        entry.high = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
     }
 
-    return eu.entry;
+    return entry;
 }
 
 static struct IO_APIC_route_entry ioapic_read_entry(
@@ -294,12 +289,10 @@ void __ioapic_write_entry(
     unsigned int apic, unsigned int pin, bool raw,
     struct IO_APIC_route_entry e)
 {
-    union entry_union eu = { .entry = e };
-
     if ( raw || !iommu_intremap )
     {
-        __io_apic_write(apic, 0x11 + 2 * pin, eu.w2);
-        __io_apic_write(apic, 0x10 + 2 * pin, eu.w1);
+        __io_apic_write(apic, 0x11 + 2 * pin, e.high);
+        __io_apic_write(apic, 0x10 + 2 * pin, e.low);
         /*
          * Might be called before io_apic_pin_eoi is allocated.  Entry will be
          * initialized to the RTE value once the cache is allocated.
@@ -2218,7 +2211,7 @@ int ioapic_guest_read(unsigned long physbase, unsigned int reg, u32 *pval)
     dprintk(XENLOG_INFO, "IO-APIC: apic=%d, pin=%d, irq=%d\n" \
             XENLOG_INFO "IO-APIC: new_entry=%08x\n"           \
             XENLOG_INFO "IO-APIC: " f "\n",                   \
-            apic, pin, irq, *(u32 *)&rte, ##a )
+            apic, pin, irq, rte.low, ##a )
 
 int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
 {
@@ -2237,7 +2230,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
     pin = (reg - 0x10) >> 1;
 
     /* Write first half from guest; second half is target info. */
-    *(u32 *)&rte = val;
+    rte.low = val;
 
     /*
      * What about weird destination types?
@@ -2288,7 +2281,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
         ret = io_apic_read(apic, 0x10 + 2 * pin);
         spin_unlock_irqrestore(&ioapic_lock, flags);
         rte.vector = desc->arch.vector;
-        if ( *(u32*)&rte != ret )
+        if ( rte.low != ret )
             WARN_BOGUS_WRITE("old_entry=%08x pirq=%d\n" XENLOG_INFO
                              "IO-APIC: Attempt to modify IO-APIC pin for in-use IRQ!",
                              ret, pirq);
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 116c2e75ae..afa8eb3756 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -399,7 +399,7 @@ unsigned int cf_check io_apic_read_remap_rte(
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
     struct IO_APIC_route_entry old_rte = {};
-    int rte_upper = (reg & 1) ? 1 : 0;
+    bool rte_upper = reg & 1;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
     if ( !iommu->intremap.num ||
@@ -410,11 +410,8 @@ unsigned int cf_check io_apic_read_remap_rte(
 
     if ( remap_entry_to_ioapic_rte(iommu, index, &old_rte) )
         return __io_apic_read(apic, reg);
-
-    if ( rte_upper )
-        return (*(((u32 *)&old_rte) + 1));
-    else
-        return (*(((u32 *)&old_rte) + 0));
+    
+    return rte_upper ? old_rte.high : old_rte.low;
 }
 
 void cf_check io_apic_write_remap_rte(
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 19 12:23:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Nov 2025 12:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1165944.1492598 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vLhDD-0006Uy-RV; Wed, 19 Nov 2025 12:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1165944.1492598; Wed, 19 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vLhDD-0006Uq-ON; Wed, 19 Nov 2025 12:23:03 +0000
Received: by outflank-mailman (input) for mailman id 1165944;
 Wed, 19 Nov 2025 12:23:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vLhDC-0006Ui-NX
 for xen-changelog@lists.xenproject.org; Wed, 19 Nov 2025 12:23:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhDC-00FBDZ-2G
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:23:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vLhDC-00A05r-29
 for xen-changelog@lists.xenproject.org;
 Wed, 19 Nov 2025 12:23:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=sVTNYABYiGe5yE4ZBhb6x1T9USQaEQTq/G3RYoZRrwA=; b=hQfoCRCNUyeDdWsTB2bs+mhusB
	ZKhwNjypvWuvbEG+wHhY6DSTm3WQjDbXPuT+RpofwePeyHolN7hc0MVHR164NRT9uqWhMQ6+e4h+q
	Iv9yuwtV4n7vPnx2JayV1vXUTB7p2QG+sZmcG68t7twf4xANPhh05IWZJscFHtGCmQsM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] domain: adjust soft-reset arch dependency
Message-Id: <E1vLhDC-00A05r-29@xenbits.xenproject.org>
Date: Wed, 19 Nov 2025 12:23:02 +0000

commit dedbb0e212f068bf7bb1f19e50e1cf105aa18828
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 19 10:14:13 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 19 10:14:13 2025 +0100

    domain: adjust soft-reset arch dependency
    
    Arm's arch_domain_soft_reset() returning -ENOSYS is quite unhelpful: This
    way a domain will be crashed if a tool stack mistakenly invokes
    XEN_DOMCTL_soft_reset on it. Instead the tool stack should be told of its
    mistake.
    
    Introduce HAS_SOFT_RESET, implied only by x86. "imply" rather than
    "select" such that HAS_SOFT_RESET can later gain a dependency on
    MGMT_HYPERCALLS. That way HAS_SOFT_RESET will go off when
    MGMT_HYPERCALLS is off.
    
    Check the new setting early in domctl handling, and compile out the thus
    dead (when HAS_SOFT_RESET=n) domain_soft_reset() as well as its dedicated
    helpers.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Julien GralL <jgrall@amazon.com>
    Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/domain.c    | 5 -----
 xen/arch/ppc/stubs.c     | 5 -----
 xen/arch/riscv/stubs.c   | 5 -----
 xen/arch/x86/Kconfig     | 1 +
 xen/arch/x86/domain.c    | 2 ++
 xen/common/Kconfig       | 3 +++
 xen/common/argo.c        | 2 ++
 xen/common/domain.c      | 2 ++
 xen/common/domctl.c      | 6 ++++++
 xen/common/grant_table.c | 2 ++
 10 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index e36719bce4..ab78444335 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -875,11 +875,6 @@ void arch_domain_unpause(struct domain *d)
 {
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    return -ENOSYS;
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     p2m_domain_creation_finished(d);
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index bdaf474c5c..75ebcae5e2 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -214,11 +214,6 @@ void arch_domain_unpause(struct domain *d)
     BUG_ON("unimplemented");
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 1a8c86cd8d..340ed3cd6c 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -188,11 +188,6 @@ void arch_domain_unpause(struct domain *d)
     BUG_ON("unimplemented");
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 3f0f3a0f3a..c808c989fc 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
+	imply HAS_SOFT_RESET
 	select HAS_UBSAN
 	select HAS_VMAP
 	select HAS_VPCI if HVM
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 19fd86ce88..66b7412b87 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1030,6 +1030,7 @@ void arch_domain_unpause(struct domain *d)
         viridian_time_domain_thaw(d);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 int arch_domain_soft_reset(struct domain *d)
 {
     struct page_info *page = virt_to_page(d->shared_info), *new_page;
@@ -1131,6 +1132,7 @@ int arch_domain_soft_reset(struct domain *d)
 
     return ret;
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 void arch_domain_creation_finished(struct domain *d)
 {
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 53f681bbb2..401d5046f6 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -155,6 +155,9 @@ config HAS_PMAP
 config HAS_SCHED_GRANULARITY
 	bool
 
+config HAS_SOFT_RESET
+	bool
+
 config HAS_STACK_PROTECTOR
 	bool
 
diff --git a/xen/common/argo.c b/xen/common/argo.c
index cbe8911a43..029a82825b 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -2351,6 +2351,7 @@ argo_destroy(struct domain *d)
     write_unlock(&L1_global_argo_rwlock);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 void
 argo_soft_reset(struct domain *d)
 {
@@ -2374,3 +2375,4 @@ argo_soft_reset(struct domain *d)
 
     write_unlock(&L1_global_argo_rwlock);
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 775c339285..3b6e9471c4 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1687,6 +1687,7 @@ void domain_unpause_except_self(struct domain *d)
         domain_unpause(d);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 int domain_soft_reset(struct domain *d, bool resuming)
 {
     struct vcpu *v;
@@ -1724,6 +1725,7 @@ int domain_soft_reset(struct domain *d, bool resuming)
 
     return rc;
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 int vcpu_reset(struct vcpu *v)
 {
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 954d790226..29a7726d32 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -466,6 +466,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 
     case XEN_DOMCTL_soft_reset:
     case XEN_DOMCTL_soft_reset_cont:
+        if ( !IS_ENABLED(CONFIG_HAS_SOFT_RESET) )
+        {
+            ret = -EOPNOTSUPP;
+            break;
+        }
+
         if ( d == current->domain ) /* no domain_pause() */
         {
             ret = -EINVAL;
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index cf131c43a1..592384514b 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -3962,6 +3962,7 @@ int gnttab_release_mappings(struct domain *d)
     return 0;
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 void grant_table_warn_active_grants(struct domain *d)
 {
     struct grant_table *gt = d->grant_table;
@@ -4006,6 +4007,7 @@ void grant_table_warn_active_grants(struct domain *d)
 
 #undef WARN_GRANT_MAX
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 void
 grant_table_destroy(
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:44:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:44:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167081.1493437 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM351-0000d5-U4; Thu, 20 Nov 2025 11:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167081.1493437; Thu, 20 Nov 2025 11:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM351-0000cx-QR; Thu, 20 Nov 2025 11:44:03 +0000
Received: by outflank-mailman (input) for mailman id 1167081;
 Thu, 20 Nov 2025 11:44:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM350-0000ci-Ka
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:44:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM350-00Gq8e-1E
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM350-00CTVg-14
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=RXJ4e7AP1zxbKCL/ndAajdxoTIGw42bNPtk/R0sZ+vw=; b=vZ2AHrdAoYy3LvtbghewhCHxUT
	ftEHFLtRtRYnW2yXC2q2T+REetJYjJ6dPsywPObvzIrldABf7iGLJepS0oL5FUgVqaHPDgcjYchfU
	Saogsim3ZWV8YK8CN/DNQfzqidSAfGBeadaupyFGhZNvyUbuxEKxXmyQ6PlNKwwkxYnA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/hvm: move hvm_shadow_handle_cd() to vmx code
Message-Id: <E1vM350-00CTVg-14@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:44:02 +0000

commit cb04b0fa5a08a5053668305e382a557a012c3116
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:22:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:22:08 2025 +0100

    x86/hvm: move hvm_shadow_handle_cd() to vmx code
    
    Functions:
     hvm_shadow_handle_cd()
     hvm_set_uc_mode()
     domain_exit_uc_mode()
    are used only by Intel VMX code, so move them to VMX code.
    
    While here:
    - drop hvm_ prefixes
    - minor format change and constification in domain_exit_uc_mode()
    - s/(0/1)/(false/true) for bool types
    - use "struct domain *" as parameter in set_uc_mode()
    - use "struct domain *d" as local var in shadow_handle_cd()
    
    No functional changes.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c                 | 58 -------------------------------
 xen/arch/x86/hvm/vmx/vmx.c             | 63 +++++++++++++++++++++++++++++++++-
 xen/arch/x86/include/asm/hvm/support.h |  2 --
 3 files changed, 62 insertions(+), 61 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0ff242d4a0..11c739cadb 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2168,30 +2168,6 @@ int hvm_set_efer(uint64_t value)
     return X86EMUL_OKAY;
 }
 
-/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
-static bool domain_exit_uc_mode(struct vcpu *v)
-{
-    struct domain *d = v->domain;
-    struct vcpu *vs;
-
-    for_each_vcpu ( d, vs )
-    {
-        if ( (vs == v) || !vs->is_initialised )
-            continue;
-        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
-             mtrr_pat_not_equal(vs, v) )
-            return 0;
-    }
-
-    return 1;
-}
-
-static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
-{
-    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
-    shadow_blow_tables_per_domain(v->domain);
-}
-
 int hvm_mov_to_cr(unsigned int cr, unsigned int gpr)
 {
     struct vcpu *curr = current;
@@ -2273,40 +2249,6 @@ int hvm_mov_from_cr(unsigned int cr, unsigned int gpr)
     return X86EMUL_UNHANDLEABLE;
 }
 
-void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
-{
-    if ( value & X86_CR0_CD )
-    {
-        /* Entering no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
-
-        if ( !v->domain->arch.hvm.is_in_uc_mode )
-        {
-            domain_pause_nosync(v->domain);
-
-            /* Flush physical caches. */
-            flush_all(FLUSH_CACHE_EVICT);
-            hvm_set_uc_mode(v, 1);
-
-            domain_unpause(v->domain);
-        }
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
-    }
-    else if ( !(value & X86_CR0_CD) &&
-              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
-    {
-        /* Exit from no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
-
-        if ( domain_exit_uc_mode(v) )
-            hvm_set_uc_mode(v, 0);
-
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
-    }
-}
-
 static void hvm_update_cr(struct vcpu *v, unsigned int cr, unsigned long value)
 {
     v->arch.hvm.guest_cr[cr] = value;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e2b5077654..7d4cf997d7 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -44,6 +44,7 @@
 #include <asm/processor.h>
 #include <asm/prot-key.h>
 #include <asm/regs.h>
+#include <asm/shadow.h>
 #include <asm/spec_ctrl.h>
 #include <asm/stubs.h>
 #include <asm/x86_emulate.h>
@@ -1445,6 +1446,66 @@ static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
     return 1;
 }
 
+/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
+static bool domain_exit_uc_mode(const struct vcpu *v)
+{
+    const struct domain *d = v->domain;
+    const struct vcpu *vs;
+
+    for_each_vcpu(d, vs)
+    {
+        if ( (vs == v) || !vs->is_initialised )
+            continue;
+        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
+             mtrr_pat_not_equal(vs, v) )
+            return false;
+    }
+
+    return true;
+}
+
+static void set_uc_mode(struct domain *d, bool is_in_uc_mode)
+{
+    d->arch.hvm.is_in_uc_mode = is_in_uc_mode;
+    shadow_blow_tables_per_domain(d);
+}
+
+static void shadow_handle_cd(struct vcpu *v, unsigned long value)
+{
+    struct domain *d = v->domain;
+
+    if ( value & X86_CR0_CD )
+    {
+        /* Entering no fill cache mode. */
+        spin_lock(&d->arch.hvm.uc_lock);
+        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
+
+        if ( !d->arch.hvm.is_in_uc_mode )
+        {
+            domain_pause_nosync(d);
+
+            /* Flush physical caches. */
+            flush_all(FLUSH_CACHE_EVICT);
+            set_uc_mode(d, true);
+
+            domain_unpause(d);
+        }
+        spin_unlock(&d->arch.hvm.uc_lock);
+    }
+    else if ( !(value & X86_CR0_CD) &&
+              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+    {
+        /* Exit from no fill cache mode. */
+        spin_lock(&d->arch.hvm.uc_lock);
+        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
+
+        if ( domain_exit_uc_mode(v) )
+            set_uc_mode(d, false);
+
+        spin_unlock(&d->arch.hvm.uc_lock);
+    }
+}
+
 static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
 {
     if ( !paging_mode_hap(v->domain) )
@@ -1454,7 +1515,7 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
          * set guest memory type as UC via IA32_PAT. Xen drop all shadows
          * so that any new ones would be created on demand.
          */
-        hvm_shadow_handle_cd(v, value);
+        shadow_handle_cd(v, value);
     }
     else
     {
diff --git a/xen/arch/x86/include/asm/hvm/support.h b/xen/arch/x86/include/asm/hvm/support.h
index 2a7ba36af0..9e9fa62955 100644
--- a/xen/arch/x86/include/asm/hvm/support.h
+++ b/xen/arch/x86/include/asm/hvm/support.h
@@ -119,8 +119,6 @@ void hvm_rdtsc_intercept(struct cpu_user_regs *regs);
 
 int __must_check hvm_handle_xsetbv(u32 index, u64 new_bv);
 
-void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value);
-
 /*
  * These functions all return X86EMUL return codes.  For hvm_set_*(), the
  * caller is responsible for injecting #GP[0] if X86EMUL_EXCEPTION is
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:44:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167082.1493439 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35A-0000f7-UZ; Thu, 20 Nov 2025 11:44:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167082.1493439; Thu, 20 Nov 2025 11:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35A-0000ez-Ro; Thu, 20 Nov 2025 11:44:12 +0000
Received: by outflank-mailman (input) for mailman id 1167082;
 Thu, 20 Nov 2025 11:44:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM35A-0000er-GX
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:44:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35A-00Gq8q-1Y
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35A-00CTXX-1R
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=cjNxzC/TXUhgerDZtOLCrIO9S3HW37WfuW3HhYLHtJg=; b=nN+x8IoBKItHrOJ0+LEfLRtvta
	DzfPuLLiGau/KX8F1s4Ji/VSmclnjAbq6T3/n0i8Q3P6xP0KCBo9O8rnl4BtLU5G8oMBP9uYOONoC
	tB+bPslbWgFo8IolGFBJLd2DF7h1s1yJQbxPkAL8hjFf5buD6t5CS80oqcqcyDWd1uJw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/vmx: account for SHADOW_PAGING when use hvm_shadow_handle_cd()
Message-Id: <E1vM35A-00CTXX-1R@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:44:12 +0000

commit 0545f53aa9c20086419334ded217650c316a5ef8
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:22:42 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:22:42 2025 +0100

    x86/vmx: account for SHADOW_PAGING when use hvm_shadow_handle_cd()
    
    The shadow_handle_cd() can be used only with SHADOW_PAGING=y, so guard
    shadow_handle_cd() call with paging_mode_shadow() which accounts for
    SHADOW_PAGING state.
    
    bloat-o-meter
     add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-290 (-290)
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7d4cf997d7..67b67442b4 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1508,7 +1508,7 @@ static void shadow_handle_cd(struct vcpu *v, unsigned long value)
 
 static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
 {
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
     {
         /*
          * For shadow, 'load IA32_PAT' VM-entry control is 0, so it cannot
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:44:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:44:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167083.1493443 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35L-0000hm-Vv; Thu, 20 Nov 2025 11:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167083.1493443; Thu, 20 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vM35L-0000hc-TG; Thu, 20 Nov 2025 11:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1167083;
 Thu, 20 Nov 2025 11:44:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM35K-0000hR-KN
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:44:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35K-00Gq94-1w
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35K-00CTZd-1n
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=X8NmRHBxIhjqKox6ZhFhTL+HB+3kaklrczvFGxhhbdM=; b=dYsyIRdDsG9jgB17UdoTF6oh0R
	01wo4X7Gnwj9v3npMnIi9gvOoMJ3rjolFRMLrLI/Jz85cvEs+z4J8ruTv1feQBv0HpH+e/Hxxt826
	6LVlTqHnDYO9LH3o9oUKaGbU/gdVQ3J9+7Z997Re8N1ulmY9pY4pIWQ5NHDjWPj+Lpwc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/vmx: refactor cache disable mode data
Message-Id: <E1vM35K-00CTZd-1n@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:44:22 +0000

commit 9569b05e9b54946dcda22f2a33872e098d79e71b
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:23:26 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:23:26 2025 +0100

    x86/vmx: refactor cache disable mode data
    
    The Cache Disable mode data is used only by VMX code, so move it from
    common HVM structures into VMX specific structures:
    - move "uc_lock", "is_in_uc_mode" fields from struct hvm_domain to struct
    vmx_domain;
    - move "cache_mode" field from struct hvm_vcpu to struct vmx_vcpu.
    
    Hence, the "in_uc_mode" field is used directly in mm/shadow/multi.c
    _sh_propagate(), introduce the hvm_is_in_uc_mode() macro to avoid direct
    access to this field and account for INTEL_VMX configuration.
    
    While here:
    - rename "is_in_uc_mode" to "in_uc_mode"
    - s/NORMAL_CACHE_MODE/CACHE_MODE_NORMAL
    - s/NO_FILL_CACHE_MODE/CACHE_MODE_NO_FILL
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c                  |  1 -
 xen/arch/x86/hvm/vmx/vmx.c              | 30 ++++++++++++++++--------------
 xen/arch/x86/include/asm/hvm/domain.h   |  6 ------
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 +++
 xen/arch/x86/include/asm/hvm/vcpu.h     |  3 ---
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 13 +++++++++++++
 xen/arch/x86/include/asm/mtrr.h         |  3 ---
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 8 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 11c739cadb..7b9fc3ac16 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -608,7 +608,6 @@ int hvm_domain_initialise(struct domain *d,
     }
 
     spin_lock_init(&d->arch.hvm.irq_lock);
-    spin_lock_init(&d->arch.hvm.uc_lock);
     spin_lock_init(&d->arch.hvm.write_map.lock);
     rwlock_init(&d->arch.hvm.mmcfg_lock);
     INIT_LIST_HEAD(&d->arch.hvm.write_map.list);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 67b67442b4..4ce213284f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -590,6 +590,8 @@ static int cf_check vmx_domain_initialise(struct domain *d)
      */
     d->arch.hvm.vmx.exec_sp = is_hardware_domain(d) || opt_ept_exec_sp;
 
+    spin_lock_init(&d->arch.hvm.vmx.uc_lock);
+
     if ( (rc = vmx_alloc_vlapic_mapping(d)) != 0 )
         return rc;
 
@@ -1425,7 +1427,7 @@ static void cf_check vmx_set_segment_register(
 static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
-         unlikely(v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+         unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
     vmx_vmcs_enter(v);
@@ -1437,7 +1439,7 @@ static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
-         unlikely(v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+         unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
     vmx_vmcs_enter(v);
@@ -1456,7 +1458,7 @@ static bool domain_exit_uc_mode(const struct vcpu *v)
     {
         if ( (vs == v) || !vs->is_initialised )
             continue;
-        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
+        if ( (vs->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) ||
              mtrr_pat_not_equal(vs, v) )
             return false;
     }
@@ -1466,7 +1468,7 @@ static bool domain_exit_uc_mode(const struct vcpu *v)
 
 static void set_uc_mode(struct domain *d, bool is_in_uc_mode)
 {
-    d->arch.hvm.is_in_uc_mode = is_in_uc_mode;
+    d->arch.hvm.vmx.in_uc_mode = is_in_uc_mode;
     shadow_blow_tables_per_domain(d);
 }
 
@@ -1477,10 +1479,10 @@ static void shadow_handle_cd(struct vcpu *v, unsigned long value)
     if ( value & X86_CR0_CD )
     {
         /* Entering no fill cache mode. */
-        spin_lock(&d->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
+        spin_lock(&d->arch.hvm.vmx.uc_lock);
+        v->arch.hvm.vmx.cache_mode = CACHE_MODE_NO_FILL;
 
-        if ( !d->arch.hvm.is_in_uc_mode )
+        if ( !d->arch.hvm.vmx.in_uc_mode )
         {
             domain_pause_nosync(d);
 
@@ -1490,19 +1492,19 @@ static void shadow_handle_cd(struct vcpu *v, unsigned long value)
 
             domain_unpause(d);
         }
-        spin_unlock(&d->arch.hvm.uc_lock);
+        spin_unlock(&d->arch.hvm.vmx.uc_lock);
     }
     else if ( !(value & X86_CR0_CD) &&
-              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+              (v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
     {
         /* Exit from no fill cache mode. */
-        spin_lock(&d->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
+        spin_lock(&d->arch.hvm.vmx.uc_lock);
+        v->arch.hvm.vmx.cache_mode = CACHE_MODE_NORMAL;
 
         if ( domain_exit_uc_mode(v) )
             set_uc_mode(d, false);
 
-        spin_unlock(&d->arch.hvm.uc_lock);
+        spin_unlock(&d->arch.hvm.vmx.uc_lock);
     }
 }
 
@@ -1543,11 +1545,11 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
 
             wbinvd();               /* flush possibly polluted cache */
             hvm_asid_flush_vcpu(v); /* invalidate memory type cached in TLB */
-            v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
+            v->arch.hvm.vmx.cache_mode = CACHE_MODE_NO_FILL;
         }
         else
         {
-            v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
+            v->arch.hvm.vmx.cache_mode = CACHE_MODE_NORMAL;
             vmx_set_guest_pat(v, *pat);
             if ( !is_iommu_enabled(v->domain) || iommu_snoop )
                 vmx_clear_msr_intercept(v, MSR_IA32_CR_PAT, VMX_MSR_RW);
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 333501d5f2..94d19730b2 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -97,12 +97,6 @@ struct hvm_domain {
     /* VRAM dirty support.  Protect with the domain paging lock. */
     struct sh_dirty_vram *dirty_vram;
 
-    /* If one of vcpus of this domain is in no_fill_mode or
-     * mtrr/pat between vcpus is not the same, set is_in_uc_mode
-     */
-    spinlock_t             uc_lock;
-    bool                   is_in_uc_mode;
-
     bool                   is_s3_suspended;
 
     /* Compatibility setting for a bug in x2APIC LDR */
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 838ad5b59e..56ad63dc57 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -392,6 +392,9 @@ static inline bool using_svm(void)
     return IS_ENABLED(CONFIG_AMD_SVM) && cpu_has_svm;
 }
 
+#define hvm_is_in_uc_mode(d) \
+    (using_vmx() && (d)->arch.hvm.vmx.in_uc_mode)
+
 #ifdef CONFIG_HVM
 
 #define hvm_get_guest_tsc(v) hvm_get_guest_tsc_fixed(v, 0)
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
index 924af890c5..3cf7a71fd3 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -168,9 +168,6 @@ struct hvm_vcpu {
 
     u8                  evtchn_upcall_vector;
 
-    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
-    u8                  cache_mode;
-
     struct hvm_vcpu_io  hvm_io;
 
     /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index ecd9138930..8ff7c8045f 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -46,6 +46,7 @@ struct ept_data {
 
 #define _VMX_DOMAIN_PML_ENABLED    0
 #define VMX_DOMAIN_PML_ENABLED     (1ul << _VMX_DOMAIN_PML_ENABLED)
+
 struct vmx_domain {
     mfn_t apic_access_mfn;
     /* VMX_DOMAIN_* */
@@ -56,6 +57,13 @@ struct vmx_domain {
      * around CVE-2018-12207 as appropriate.
      */
     bool exec_sp;
+    /*
+     * If one of vcpus of this domain is in no_fill_mode or
+     * mtrr/pat between vcpus is not the same, set in_uc_mode.
+     * Protected by uc_lock.
+     */
+    bool in_uc_mode;
+    spinlock_t uc_lock;
 };
 
 /*
@@ -156,6 +164,11 @@ struct vmx_vcpu {
 
     uint8_t              lbr_flags;
 
+    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
+    uint8_t              cache_mode;
+#define CACHE_MODE_NORMAL  0
+#define CACHE_MODE_NO_FILL 2
+
     /* Bitmask of segments that we can't safely use in virtual 8086 mode */
     uint16_t             vm86_segment_mask;
     /* Shadow CS, SS, DS, ES, FS, GS, TR while in virtual 8086 mode */
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 25d442659d..3a5b4f5b6e 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -7,9 +7,6 @@
 #define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
 #define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
-#define NORMAL_CACHE_MODE          0
-#define NO_FILL_CACHE_MODE         2
-
 #define INVALID_MEM_TYPE X86_NUM_MT
 
 /* In the Intel processor's MTRR interface, the MTRR type is always held in
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 7be9c180ec..03be61e225 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -559,7 +559,7 @@ _sh_propagate(struct vcpu *v,
         if ( !mmio_mfn &&
              (type = hvm_get_mem_pinned_cacheattr(d, target_gfn, 0)) >= 0 )
             sflags |= pat_type_2_pte_flags(type);
-        else if ( d->arch.hvm.is_in_uc_mode )
+        else if ( hvm_is_in_uc_mode(d) )
             sflags |= pat_type_2_pte_flags(X86_MT_UC);
         else
             if ( iomem_access_permitted(d, mfn_x(target_mfn), mfn_x(target_mfn)) )
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:44:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167084.1493446 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35W-0000kc-0w; Thu, 20 Nov 2025 11:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167084.1493446; Thu, 20 Nov 2025 11:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35V-0000kV-Ug; Thu, 20 Nov 2025 11:44:33 +0000
Received: by outflank-mailman (input) for mailman id 1167084;
 Thu, 20 Nov 2025 11:44:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM35U-0000kJ-N8
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:44:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35U-00Gq9K-2D
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35U-00CTau-27
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=6A+N2BM4Es7Dknj4UXvsG/mdYTil7XStFM8tFF3Mvi0=; b=1rXRbM56/tFevzWA1SfEqG3xJw
	lSCY9gw9XlwOmPSFICIo0+Pub1ChsM546wVLeFQtlRhr1jFQWdVBdXWBDXoJvJYm9lqcLsZzZoUjp
	PKVUFl1GX+2+1ogwlwyuK/s8TBwFYBu6uLBp7Xep5NTWST8fySBzDfq7XyChx1TliwO4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86: Conditionalise PV-only fallback branches on CONFIG_PV
Message-Id: <E1vM35U-00CTau-27@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:44:32 +0000

commit d6d76a493984307c3d4b6ff7742448761f711e1a
Author:     Alejandro Vallejo <alejandro.garciavallejo@amd.com>
AuthorDate: Thu Nov 20 11:23:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:23:56 2025 +0100

    x86: Conditionalise PV-only fallback branches on CONFIG_PV
    
    A couple of branches rely on PV being the "else" branch, making it
    be compiled even when PV support is not itself compiled-in.
    
    Add a explicit conditional on CONFIG_PV in those cases to remove the
    code in !CONFIG_PV builds.
    
    Not a functional change.
    
    Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
    Reviewed-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpuid.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index b63a82dd38..5decfad8cd 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -297,6 +297,8 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
             if ( v->arch.hvm.guest_cr[4] & X86_CR4_OSXSAVE )
                 res->c |= cpufeat_mask(X86_FEATURE_OSXSAVE);
         }
+        else if ( !IS_ENABLED(CONFIG_PV) )
+            ASSERT_UNREACHABLE();
         else /* PV domain */
         {
             regs = guest_cpu_user_regs();
@@ -509,6 +511,8 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
             if ( !hap_enabled(d) && !hvm_pae_enabled(v) )
                 res->d &= ~cpufeat_mask(X86_FEATURE_PSE36);
         }
+        else if ( !IS_ENABLED(CONFIG_PV) )
+            ASSERT_UNREACHABLE();
         else /* PV domain */
         {
             /*
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:44:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:44:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167085.1493451 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35g-0000mp-39; Thu, 20 Nov 2025 11:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167085.1493451; Thu, 20 Nov 2025 11:44:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35g-0000mh-05; Thu, 20 Nov 2025 11:44:44 +0000
Received: by outflank-mailman (input) for mailman id 1167085;
 Thu, 20 Nov 2025 11:44:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM35e-0000mX-Q4
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:44:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35e-00Gq9r-2W
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35e-00CTd8-2P
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=zdznoAPzrSRIPKpUNkRmR4BtWiyeWd15jRSOgzqu9f8=; b=v5Glot8wNM8R1DROVM8lpQ47O6
	yRDZI1DsV47ZCmVIyzMm40RvfRnBNr0KMqyJP5/qrVeL/Pd4lFcWgGZpnf2f5N2dcMFPm2zAkPdKj
	beJpEj+P3gAXb207V6UO/HnGxUU+z4cyobGWabuXG4H75QWGPsQRszxOw6UScHU5CpFI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86: Remove stubs from asm/pv/domain.h
Message-Id: <E1vM35e-00CTd8-2P@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:44:42 +0000

commit 503b362a56c1202b4c3e9c9ee7c65c7abe5bc650
Author:     Alejandro Vallejo <alejandro.garciavallejo@amd.com>
AuthorDate: Thu Nov 20 11:24:20 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:24:20 2025 +0100

    x86: Remove stubs from asm/pv/domain.h
    
    They are unnecessary. The only two cases with link-time failures are
    fallback else branches that can just as well be adjusted with explicit
    IS_ENABLED(CONFIG_PV). HVM has no equivalent stubs and there's no reason
    to keep the asymmetry.
    
    No functional change.
    
    Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/domain.c                | 15 +++++++++++----
 xen/arch/x86/include/asm/pv/domain.h | 25 -------------------------
 2 files changed, 11 insertions(+), 29 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 66b7412b87..3a21e035f4 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -571,15 +571,20 @@ int arch_vcpu_create(struct vcpu *v)
 
     if ( is_hvm_domain(d) )
         rc = hvm_vcpu_initialise(v);
-    else if ( !is_idle_domain(d) )
-        rc = pv_vcpu_initialise(v);
-    else
+    else if ( is_idle_domain(d) )
     {
         /* Idle domain */
         v->arch.cr3 = __pa(idle_pg_table);
         rc = 0;
         v->arch.msrs = ZERO_BLOCK_PTR; /* Catch stray misuses */
     }
+    else if ( IS_ENABLED(CONFIG_PV) )
+        rc = pv_vcpu_initialise(v);
+    else
+    {
+        ASSERT_UNREACHABLE();
+        rc = -EOPNOTSUPP;
+    }
 
     if ( rc )
         goto fail;
@@ -614,8 +619,10 @@ void arch_vcpu_destroy(struct vcpu *v)
 
     if ( is_hvm_vcpu(v) )
         hvm_vcpu_destroy(v);
-    else
+    else if ( IS_ENABLED(CONFIG_PV) )
         pv_vcpu_destroy(v);
+    else
+        ASSERT_UNREACHABLE();
 }
 
 int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
diff --git a/xen/arch/x86/include/asm/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
index 75a6b9e5c7..582d004051 100644
--- a/xen/arch/x86/include/asm/pv/domain.h
+++ b/xen/arch/x86/include/asm/pv/domain.h
@@ -54,8 +54,6 @@ static inline unsigned long get_pcid_bits(const struct vcpu *v, bool is_xpti)
 #endif
 }
 
-#ifdef CONFIG_PV
-
 void pv_vcpu_destroy(struct vcpu *v);
 int pv_vcpu_initialise(struct vcpu *v);
 void pv_domain_destroy(struct domain *d);
@@ -84,29 +82,6 @@ void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val);
 
 bool xpti_pcid_enabled(void);
 
-#else  /* !CONFIG_PV */
-
-#include <xen/errno.h>
-
-static inline void pv_vcpu_destroy(struct vcpu *v) {}
-static inline int pv_vcpu_initialise(struct vcpu *v) { return -EOPNOTSUPP; }
-static inline void pv_domain_destroy(struct domain *d) {}
-static inline int pv_domain_initialise(struct domain *d) { return -EOPNOTSUPP; }
-
-static inline unsigned long pv_make_cr4(const struct vcpu *v) { return ~0UL; }
-
-static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
-{
-    ASSERT_UNREACHABLE();
-    return 0;
-}
-static inline void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
-{
-    ASSERT_UNREACHABLE();
-}
-
-#endif	/* CONFIG_PV */
-
 void cf_check paravirt_ctxt_switch_from(struct vcpu *v);
 void cf_check paravirt_ctxt_switch_to(struct vcpu *v);
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:44:54 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167087.1493455 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM35q-0000qL-5Z; Thu, 20 Nov 2025 11:44:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167087.1493455; Thu, 20 Nov 2025 11:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vM35q-0000qD-32; Thu, 20 Nov 2025 11:44:54 +0000
Received: by outflank-mailman (input) for mailman id 1167087;
 Thu, 20 Nov 2025 11:44:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM35o-0000q3-TF
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:44:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35o-00GqA0-2m
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35o-00CTec-2h
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:44:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=EvnH46GfjO+h4n1eNI4CTLH/uMEAi8SpCd7HJq8BZ3c=; b=IpnFPUS41WTLHG48iWF2rqIuK2
	3EQdrrU3fttuIzZRl+0zMw2a9mIBs3tqwdof1YuOz0ZOO6VaNcO1zD9m5GCgfjbUCyMm4MYDbwdon
	Th7jY1iJ0UXfKzlxbUqciKHZbkRQiShe/goZnRFj46QW5KNOG8F4t4KUoG9Qnba1uWZE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/svm: limit the scope of "rc"
Message-Id: <E1vM35o-00CTec-2h@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:44:52 +0000

commit e7b6d3c976b31f6c06eb86a33a687c236b1ea02b
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Thu Nov 20 11:24:37 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:24:37 2025 +0100

    xen/svm: limit the scope of "rc"
    
    To make codes less fragile, we limit the scope of "rc" through adding several
    instances in relatively narrow scopes. We also fixes wrong indentation.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/hvm/svm/svm.c | 34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index b54f9d9af5..5b2b56edf8 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2551,7 +2551,7 @@ void asmlinkage svm_vmexit_handler(void)
     uint64_t exit_reason;
     struct vcpu *v = current;
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
-    int insn_len, rc;
+    int insn_len;
     vintr_t intr;
     bool vcpu_guestmode = false;
     struct vlapic *vlapic = vcpu_vlapic(v);
@@ -2705,6 +2705,7 @@ void asmlinkage svm_vmexit_handler(void)
         if ( !v->domain->debugger_attached )
         {
             unsigned int trap_type;
+            int rc;
 
             if ( likely(exit_reason != VMEXIT_ICEBP) )
             {
@@ -2748,16 +2749,14 @@ void asmlinkage svm_vmexit_handler(void)
         }
         else
         {
-           rc = hvm_monitor_debug(regs->rip,
-                                  HVM_MONITOR_SOFTWARE_BREAKPOINT,
-                                  X86_ET_SW_EXC,
-                                  insn_len, 0);
-           if ( rc < 0 )
-               goto unexpected_exit_type;
-           if ( !rc )
-               hvm_inject_exception(X86_EXC_BP,
-                                    X86_ET_SW_EXC,
-                                    insn_len, X86_EVENT_NO_EC);
+            int rc = hvm_monitor_debug(regs->rip,
+                                       HVM_MONITOR_SOFTWARE_BREAKPOINT,
+                                       X86_ET_SW_EXC, insn_len, 0);
+            if ( rc < 0 )
+                goto unexpected_exit_type;
+            if ( !rc )
+                hvm_inject_exception(X86_EXC_BP, X86_ET_SW_EXC,
+                                     insn_len, X86_EVENT_NO_EC);
         }
         break;
 
@@ -2768,6 +2767,7 @@ void asmlinkage svm_vmexit_handler(void)
     case VMEXIT_EXCEPTION_PF:
     {
         unsigned long va = vmcb->ei.exc.cr2;
+        int rc;
 
         regs->error_code = vmcb->ei.exc.ec;
         HVM_DBG_LOG(DBG_LEVEL_VMMU,
@@ -2882,6 +2882,9 @@ void asmlinkage svm_vmexit_handler(void)
         break;
 
     case VMEXIT_CPUID:
+    {
+        int rc;
+
         if ( (insn_len = svm_get_insn_len(v, INSTR_CPUID)) == 0 )
             break;
 
@@ -2892,12 +2895,16 @@ void asmlinkage svm_vmexit_handler(void)
         if ( !rc )
             __update_guest_eip(regs, insn_len);
         break;
+    }
 
     case VMEXIT_HLT:
         svm_vmexit_do_hlt(vmcb, regs);
         break;
 
     case VMEXIT_IOIO:
+    {
+        int rc;
+
         rc = hvm_monitor_io(vmcb->ei.io.port,
                             vmcb->ei.io.bytes,
                             vmcb->ei.io.in,
@@ -2917,6 +2924,7 @@ void asmlinkage svm_vmexit_handler(void)
         else if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
             hvm_inject_hw_exception(X86_EXC_GP, 0);
         break;
+    }
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
     case VMEXIT_CR0_WRITE ... VMEXIT_CR15_WRITE:
@@ -3008,6 +3016,9 @@ void asmlinkage svm_vmexit_handler(void)
         break;
 
     case VMEXIT_NPF:
+    {
+        int rc;
+
         if ( cpu_has_svm_decode )
             v->arch.hvm.svm.cached_insn_len = vmcb->guest_ins_len & 0xf;
         rc = vmcb->ei.npf.ec & PFEC_page_present
@@ -3021,6 +3032,7 @@ void asmlinkage svm_vmexit_handler(void)
                          v, rc, vmcb->ei.npf.gpa, vmcb->ei.npf.ec);
         v->arch.hvm.svm.cached_insn_len = 0;
         break;
+    }
 
     case VMEXIT_IRET:
     {
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:45:04 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167088.1493459 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM360-0000so-7B; Thu, 20 Nov 2025 11:45:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167088.1493459; Thu, 20 Nov 2025 11:45:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM360-0000sg-4T; Thu, 20 Nov 2025 11:45:04 +0000
Received: by outflank-mailman (input) for mailman id 1167088;
 Thu, 20 Nov 2025 11:45:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM35z-0000sW-0j
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:45:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35y-00GqAV-3B
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:45:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM35y-00CTg5-32
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:45:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=EqfP2vzTfcU+0COAjFyz0bb23D2JVH68nsO6bA3dNqM=; b=AQsZnvJmiUqWBKKSbvI04E0jWn
	HYwpqwkIUK/MDqBfpR66guKA2vx9SNrW4DU6YUYvQI0v5MD50/+qUEcAsncf2TdyuPOcKCzEQEOF6
	c1GV/g5t1jwZOi8vV2wA8WWkuDmdJbVMZ3CnMbTVhIIoPwekxp+w7OKxcNHZEA1Kajzw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/paging: replace !paging_mode_hap() with paging_mode_shadow()
Message-Id: <E1vM35y-00CTg5-32@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:45:02 +0000

commit dcca45531f708cec1207fa4a309ab10802edec83
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:25:27 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:25:27 2025 +0100

    x86/paging: replace !paging_mode_hap() with paging_mode_shadow()
    
    Now Xen, for HVM/PVH, supports only two paging modes: HAP and SHADOW, so
    !paging_mode_hap() is actually means paging_mode_shadow().
    
    For an abstract, future case of there being a 3rd paging mode it is also
    better to explicitly mention checked paging mode (SHADOW) instead of using
    negative check of another paging mode (HAP).
    
    Hence, s/!paging_mode_hap()/paging_mode_shadow() which also allows DCE drop
    unused code when SHADOW_PAGING=n.
    The !paging_mode_hap() in hap.c not changed as HAP is checking for itself
    to be enabled.
    
    Inspired by [1].
    
    [1] https://patchwork.kernel.org/project/xen-devel/patch/20251111200958.3576341-3-grygorii_strashko@epam.com/
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/mcheck/vmce.c   |  2 +-
 xen/arch/x86/hvm/domain.c        |  2 +-
 xen/arch/x86/hvm/hvm.c           | 10 +++++-----
 xen/arch/x86/hvm/svm/nestedsvm.c |  2 +-
 xen/arch/x86/hvm/svm/svm.c       |  8 ++++----
 xen/arch/x86/hvm/vmx/vmcs.c      |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c       |  4 ++--
 xen/arch/x86/mm/p2m-ept.c        |  2 +-
 8 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/vmce.c b/xen/arch/x86/cpu/mcheck/vmce.c
index 5abdf4cb5f..1a7e92506a 100644
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -525,7 +525,7 @@ int unmmap_broken_page(struct domain *d, mfn_t mfn, unsigned long gfn)
     if ( !mfn_valid(mfn) )
         return -EINVAL;
 
-    if ( !is_hvm_domain(d) || !paging_mode_hap(d) )
+    if ( !is_hvm_domain(d) || paging_mode_shadow(d) )
         return -EOPNOTSUPP;
 
     rc = -1;
diff --git a/xen/arch/x86/hvm/domain.c b/xen/arch/x86/hvm/domain.c
index 048f29ae49..37092f31f3 100644
--- a/xen/arch/x86/hvm/domain.c
+++ b/xen/arch/x86/hvm/domain.c
@@ -287,7 +287,7 @@ int arch_set_info_hvm_guest(struct vcpu *v, const struct vcpu_hvm_context *ctx)
     hvm_update_guest_cr(v, 4);
     hvm_update_guest_efer(v);
 
-    if ( hvm_paging_enabled(v) && !paging_mode_hap(v->domain) )
+    if ( hvm_paging_enabled(v) && paging_mode_shadow(v->domain) )
     {
         /* Shadow-mode CR3 change. Check PDBR and update refcounts. */
         struct page_info *page = get_page_from_gfn(v->domain,
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 7b9fc3ac16..4a8e339f97 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2317,7 +2317,7 @@ int hvm_set_cr0(unsigned long value, bool may_defer)
             hvm_update_guest_efer(v);
         }
 
-        if ( !paging_mode_hap(d) )
+        if ( paging_mode_shadow(d) )
         {
             /* The guest CR3 must be pointing to the guest physical. */
             gfn = v->arch.hvm.guest_cr[3] >> PAGE_SHIFT;
@@ -2368,7 +2368,7 @@ int hvm_set_cr0(unsigned long value, bool may_defer)
             hvm_update_guest_efer(v);
         }
 
-        if ( !paging_mode_hap(d) )
+        if ( paging_mode_shadow(d) )
         {
             put_page(pagetable_get_page(v->arch.guest_table));
             v->arch.guest_table = pagetable_null();
@@ -2422,7 +2422,7 @@ int hvm_set_cr3(unsigned long value, bool noflush, bool may_defer)
         }
     }
 
-    if ( hvm_paging_enabled(curr) && !paging_mode_hap(currd) &&
+    if ( hvm_paging_enabled(curr) && paging_mode_shadow(currd) &&
          ((value ^ curr->arch.hvm.guest_cr[3]) >> PAGE_SHIFT) )
     {
         /* Shadow-mode CR3 change. Check PDBR and update refcounts. */
@@ -3966,7 +3966,7 @@ void hvm_vcpu_reset_state(struct vcpu *v, uint16_t cs, uint16_t ip)
     if ( v->is_initialised )
         goto out;
 
-    if ( !paging_mode_hap(d) )
+    if ( paging_mode_shadow(d) )
     {
         if ( v->arch.hvm.guest_cr[0] & X86_CR0_PG )
             put_page(pagetable_get_page(v->arch.guest_table));
@@ -4240,7 +4240,7 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
          * Only actually required for VT-x lacking unrestricted_guest
          * capabilities.  Short circuit the pause if possible.
          */
-        if ( !paging_mode_hap(d) || !using_vmx() )
+        if ( paging_mode_shadow(d) || !using_vmx() )
         {
             d->arch.hvm.params[index] = value;
             break;
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index dc2b6a4253..1813692ffb 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -1341,7 +1341,7 @@ nestedsvm_check_intercepts(struct vcpu *v, struct cpu_user_regs *regs,
             /* l2 guest intercepts #PF unnecessarily */
             return NESTEDHVM_VMEXIT_INJECT;
         }
-        if ( !paging_mode_hap(v->domain) )
+        if ( paging_mode_shadow(v->domain) )
             /* host shadow paging + guest shadow paging */
             return NESTEDHVM_VMEXIT_HOST;
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 5b2b56edf8..2d7c598ffe 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -171,7 +171,7 @@ static void cf_check svm_update_guest_cr(
         }
 
         value = v->arch.hvm.guest_cr[0] | hw_cr0_mask;
-        if ( !paging_mode_hap(v->domain) )
+        if ( paging_mode_shadow(v->domain) )
             value |= X86_CR0_PG | X86_CR0_WP;
         vmcb_set_cr0(vmcb, value);
         break;
@@ -440,7 +440,7 @@ static int svm_vmcb_restore(struct vcpu *v, struct hvm_hw_cpu *c)
         }
     }
 
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
     {
         if ( c->cr0 & X86_CR0_PG )
         {
@@ -762,7 +762,7 @@ static int cf_check svm_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
 
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
         return 0;
 
     vmcb_set_g_pat(vmcb, gpat);
@@ -773,7 +773,7 @@ static int cf_check svm_get_guest_pat(struct vcpu *v, u64 *gpat)
 {
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
 
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
         return 0;
 
     *gpat = vmcb_get_g_pat(vmcb);
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index cd5ac8a5f0..d610988bf9 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -135,7 +135,7 @@ static int cf_check parse_ept_param_runtime(const char *s)
     for_each_domain ( d )
     {
         /* PV, or HVM Shadow domain?  Not applicable. */
-        if ( !paging_mode_hap(d) )
+        if ( paging_mode_shadow(d) )
             continue;
 
         /* Hardware domain? Not applicable. */
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4ce213284f..6b407226c4 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1426,7 +1426,7 @@ static void cf_check vmx_set_segment_register(
 
 static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 {
-    if ( !paging_mode_hap(v->domain) ||
+    if ( paging_mode_shadow(v->domain) ||
          unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
@@ -1438,7 +1438,7 @@ static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 
 static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
 {
-    if ( !paging_mode_hap(v->domain) ||
+    if ( paging_mode_shadow(v->domain) ||
          unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index b854a08b4c..ce4ef632ae 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1270,7 +1270,7 @@ void ept_sync_domain(struct p2m_domain *p2m)
     struct domain *d = p2m->domain;
 
     /* Only if using EPT and this domain has some VCPUs to dirty. */
-    if ( !paging_mode_hap(d) || !d->vcpu || !d->vcpu[0] )
+    if ( paging_mode_shadow(d) || !d->vcpu || !d->vcpu[0] )
         return;
 
     ept_sync_domain_prepare(p2m);
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:45:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:45:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167089.1493463 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM36A-0000vB-8o; Thu, 20 Nov 2025 11:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167089.1493463; Thu, 20 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vM36A-0000v3-5v; Thu, 20 Nov 2025 11:45:14 +0000
Received: by outflank-mailman (input) for mailman id 1167089;
 Thu, 20 Nov 2025 11:45:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM369-0000uv-3S
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:45:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM369-00GqAa-0F
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:45:13 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM369-00CTgi-09
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:45:13 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=V3ZGW5edD8ShRUF4LgTQzsh36ou/M/8A/qTZYiOBvVQ=; b=dfvagqiYySOaMiwO6HCz1vfK87
	hpCFDoJZrd+fkcPjkGOA+39/Qv8WX7SAiwHglYOeYXwBf7FO1ks70zJDgi0+p+YFPKjPa9pIaREH7
	7TwLLRqMM7tBhJESNS+oVzZ1Olt0QaAikJjIH3e6rbh/NuaVvYAXM8tuSKeFPiywjt58=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/cpu-policy: move invocation of recalculate_misc()
Message-Id: <E1vM369-00CTgi-09@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:45:13 +0000

commit f6894fdfa83359d0686a41aee5c2a8ba7b2878b4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 20 11:26:25 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:26:25 2025 +0100

    x86/cpu-policy: move invocation of recalculate_misc()
    
    The function is about guest exposure of features / leaves. There's no need
    for it to be applied on the host policy. In fact doing so gets in the way
    of using the host policy in certain places.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/cpu-policy.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 42dccdce52..0a7ef15f72 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -383,7 +383,6 @@ static void __init calculate_host_policy(void)
 
     x86_cpu_featureset_to_policy(boot_cpu_data.x86_capability, p);
     recalculate_xstate(p);
-    recalculate_misc(p);
 
     /* When vPMU is disabled, drop it from the host policy. */
     if ( vpmu_mode == XENPMU_MODE_OFF )
@@ -634,6 +633,7 @@ static void __init calculate_pv_max_policy(void)
     unsigned int i;
 
     *p = host_cpu_policy;
+    recalculate_misc(p);
 
     guest_common_max_leaves(p);
 
@@ -736,6 +736,7 @@ static void __init calculate_hvm_max_policy(void)
     const uint32_t *mask;
 
     *p = host_cpu_policy;
+    recalculate_misc(p);
 
     guest_common_max_leaves(p);
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 11:45:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 11:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167090.1493466 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM36K-0000z2-9k; Thu, 20 Nov 2025 11:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167090.1493466; Thu, 20 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vM36K-0000yv-7G; Thu, 20 Nov 2025 11:45:24 +0000
Received: by outflank-mailman (input) for mailman id 1167090;
 Thu, 20 Nov 2025 11:45:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM36J-0000yj-6b
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 11:45:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM36J-00GqAt-0Z
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:45:23 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM36J-00CThO-0Q
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 11:45:23 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=WojEts78SJiVpm/2cq9ntPbOmbL029eUPd/RQdiNTPA=; b=L02lNZJNs2RyhYDr+E2B6EwXDo
	fV8/4PFiQOMLBa8jhiwd9Jxh/kw6OJcJfYSJ/44IKJt7paM62gPrHVtHK09xObxodiJses0117C+w
	FJ7pZRcL25NUXFyNmqf9ruk6D0yZr2eQeGhDaM+tdMv72NjmIRbs27l0TStGTFQ4NJXQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/include: de-assemblify cpuid.h
Message-Id: <E1vM36J-00CThO-0Q@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 11:45:23 +0000

commit d07f4e6ef2872c737a4cfbb530995667d6493806
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 20 11:26:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:26:56 2025 +0100

    x86/include: de-assemblify cpuid.h
    
    There's nothing in that header which assembly files would need. Arrange
    for cpufeatureset.h to be included directly by cpufeature.h in that case,
    allowing respective guarding to be dropped.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/include/asm/cpufeature.h | 4 ++++
 xen/arch/x86/include/asm/cpuid.h      | 2 --
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index b6cf0c8dfc..0b764b9fb9 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -10,7 +10,11 @@
 #include <xen/const.h>
 #include <xen/macros.h>
 
+#ifndef __ASSEMBLY__
 #include <asm/cpuid.h>
+#else
+#include <asm/cpufeatureset.h>
+#endif
 
 #define cpufeat_word(idx)	((idx) / 32)
 #define cpufeat_bit(idx)	((idx) % 32)
diff --git a/xen/arch/x86/include/asm/cpuid.h b/xen/arch/x86/include/asm/cpuid.h
index b32ba0bbfe..f1b9e37a42 100644
--- a/xen/arch/x86/include/asm/cpuid.h
+++ b/xen/arch/x86/include/asm/cpuid.h
@@ -3,7 +3,6 @@
 
 #include <asm/cpufeatureset.h>
 
-#ifndef __ASSEMBLY__
 #include <xen/types.h>
 #include <xen/kernel.h>
 #include <xen/percpu.h>
@@ -50,7 +49,6 @@ struct cpuid_leaf;
 void guest_cpuid(const struct vcpu *v, uint32_t leaf,
                  uint32_t subleaf, struct cpuid_leaf *res);
 
-#endif /* __ASSEMBLY__ */
 #endif /* !__X86_CPUID_H__ */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:33:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167254.1493581 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3qR-0006QR-C5; Thu, 20 Nov 2025 12:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167254.1493581; Thu, 20 Nov 2025 12:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vM3qR-0006QJ-9T; Thu, 20 Nov 2025 12:33:03 +0000
Received: by outflank-mailman (input) for mailman id 1167254;
 Thu, 20 Nov 2025 12:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3qQ-0006P0-2y
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qP-00GrPJ-2x
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qP-00CYfP-2q
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=2uHqSHUsZdHmfAlMbxRHTNzovw2rBc7g1rSKWEU045o=; b=IgX1jaZlrZ2AsBO3vt04JZYd5F
	LCorf4SEY51KHhL0P6I31VJhTx6lNDGnVdm7YBEyGzt/mMwG/FDDIGg1BtqeShKVZjcBA59dhl3gO
	plgrjodXZy0uUSMkLY7PPR0KCKETiuPIkVeZ+4/FDE/Gu/b4yZ7187n6DcCrDLXEDGuU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/hvm: move hvm_shadow_handle_cd() to vmx code
Message-Id: <E1vM3qP-00CYfP-2q@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:33:01 +0000

commit cb04b0fa5a08a5053668305e382a557a012c3116
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:22:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:22:08 2025 +0100

    x86/hvm: move hvm_shadow_handle_cd() to vmx code
    
    Functions:
     hvm_shadow_handle_cd()
     hvm_set_uc_mode()
     domain_exit_uc_mode()
    are used only by Intel VMX code, so move them to VMX code.
    
    While here:
    - drop hvm_ prefixes
    - minor format change and constification in domain_exit_uc_mode()
    - s/(0/1)/(false/true) for bool types
    - use "struct domain *" as parameter in set_uc_mode()
    - use "struct domain *d" as local var in shadow_handle_cd()
    
    No functional changes.
    
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c                 | 58 -------------------------------
 xen/arch/x86/hvm/vmx/vmx.c             | 63 +++++++++++++++++++++++++++++++++-
 xen/arch/x86/include/asm/hvm/support.h |  2 --
 3 files changed, 62 insertions(+), 61 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0ff242d4a0..11c739cadb 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2168,30 +2168,6 @@ int hvm_set_efer(uint64_t value)
     return X86EMUL_OKAY;
 }
 
-/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
-static bool domain_exit_uc_mode(struct vcpu *v)
-{
-    struct domain *d = v->domain;
-    struct vcpu *vs;
-
-    for_each_vcpu ( d, vs )
-    {
-        if ( (vs == v) || !vs->is_initialised )
-            continue;
-        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
-             mtrr_pat_not_equal(vs, v) )
-            return 0;
-    }
-
-    return 1;
-}
-
-static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
-{
-    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
-    shadow_blow_tables_per_domain(v->domain);
-}
-
 int hvm_mov_to_cr(unsigned int cr, unsigned int gpr)
 {
     struct vcpu *curr = current;
@@ -2273,40 +2249,6 @@ int hvm_mov_from_cr(unsigned int cr, unsigned int gpr)
     return X86EMUL_UNHANDLEABLE;
 }
 
-void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
-{
-    if ( value & X86_CR0_CD )
-    {
-        /* Entering no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
-
-        if ( !v->domain->arch.hvm.is_in_uc_mode )
-        {
-            domain_pause_nosync(v->domain);
-
-            /* Flush physical caches. */
-            flush_all(FLUSH_CACHE_EVICT);
-            hvm_set_uc_mode(v, 1);
-
-            domain_unpause(v->domain);
-        }
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
-    }
-    else if ( !(value & X86_CR0_CD) &&
-              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
-    {
-        /* Exit from no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
-
-        if ( domain_exit_uc_mode(v) )
-            hvm_set_uc_mode(v, 0);
-
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
-    }
-}
-
 static void hvm_update_cr(struct vcpu *v, unsigned int cr, unsigned long value)
 {
     v->arch.hvm.guest_cr[cr] = value;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e2b5077654..7d4cf997d7 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -44,6 +44,7 @@
 #include <asm/processor.h>
 #include <asm/prot-key.h>
 #include <asm/regs.h>
+#include <asm/shadow.h>
 #include <asm/spec_ctrl.h>
 #include <asm/stubs.h>
 #include <asm/x86_emulate.h>
@@ -1445,6 +1446,66 @@ static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
     return 1;
 }
 
+/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
+static bool domain_exit_uc_mode(const struct vcpu *v)
+{
+    const struct domain *d = v->domain;
+    const struct vcpu *vs;
+
+    for_each_vcpu(d, vs)
+    {
+        if ( (vs == v) || !vs->is_initialised )
+            continue;
+        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
+             mtrr_pat_not_equal(vs, v) )
+            return false;
+    }
+
+    return true;
+}
+
+static void set_uc_mode(struct domain *d, bool is_in_uc_mode)
+{
+    d->arch.hvm.is_in_uc_mode = is_in_uc_mode;
+    shadow_blow_tables_per_domain(d);
+}
+
+static void shadow_handle_cd(struct vcpu *v, unsigned long value)
+{
+    struct domain *d = v->domain;
+
+    if ( value & X86_CR0_CD )
+    {
+        /* Entering no fill cache mode. */
+        spin_lock(&d->arch.hvm.uc_lock);
+        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
+
+        if ( !d->arch.hvm.is_in_uc_mode )
+        {
+            domain_pause_nosync(d);
+
+            /* Flush physical caches. */
+            flush_all(FLUSH_CACHE_EVICT);
+            set_uc_mode(d, true);
+
+            domain_unpause(d);
+        }
+        spin_unlock(&d->arch.hvm.uc_lock);
+    }
+    else if ( !(value & X86_CR0_CD) &&
+              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+    {
+        /* Exit from no fill cache mode. */
+        spin_lock(&d->arch.hvm.uc_lock);
+        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
+
+        if ( domain_exit_uc_mode(v) )
+            set_uc_mode(d, false);
+
+        spin_unlock(&d->arch.hvm.uc_lock);
+    }
+}
+
 static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
 {
     if ( !paging_mode_hap(v->domain) )
@@ -1454,7 +1515,7 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
          * set guest memory type as UC via IA32_PAT. Xen drop all shadows
          * so that any new ones would be created on demand.
          */
-        hvm_shadow_handle_cd(v, value);
+        shadow_handle_cd(v, value);
     }
     else
     {
diff --git a/xen/arch/x86/include/asm/hvm/support.h b/xen/arch/x86/include/asm/hvm/support.h
index 2a7ba36af0..9e9fa62955 100644
--- a/xen/arch/x86/include/asm/hvm/support.h
+++ b/xen/arch/x86/include/asm/hvm/support.h
@@ -119,8 +119,6 @@ void hvm_rdtsc_intercept(struct cpu_user_regs *regs);
 
 int __must_check hvm_handle_xsetbv(u32 index, u64 new_bv);
 
-void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value);
-
 /*
  * These functions all return X86EMUL return codes.  For hvm_set_*(), the
  * caller is responsible for injecting #GP[0] if X86EMUL_EXCEPTION is
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:33:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167255.1493586 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3qb-0006Tp-E6; Thu, 20 Nov 2025 12:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167255.1493586; Thu, 20 Nov 2025 12:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3qb-0006Th-Ap; Thu, 20 Nov 2025 12:33:13 +0000
Received: by outflank-mailman (input) for mailman id 1167255;
 Thu, 20 Nov 2025 12:33:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3qa-0006TZ-1b
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:33:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qa-00GrPT-01
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qZ-00CYg4-39
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=xyE/73RNQoesKv+ukNQXrzZ3QbyssgDiGo5dO9RsE6I=; b=blqO80KpJq1gaYVYQmFUUJhDvc
	vJaFqPYVVgNIBm/deMdeaf0t4j4UIrnTy79HcnJtpioSUP0ZZxgiSaktAMUALc3bvKFTnMUmF2GCo
	2otYO5yceYxM+P+00PS/+BkXTE2rdJCLLgKiJkphXrV+7lHnVLYBNPJuVbpsrk4qRqG0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/vmx: account for SHADOW_PAGING when use hvm_shadow_handle_cd()
Message-Id: <E1vM3qZ-00CYg4-39@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:33:11 +0000

commit 0545f53aa9c20086419334ded217650c316a5ef8
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:22:42 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:22:42 2025 +0100

    x86/vmx: account for SHADOW_PAGING when use hvm_shadow_handle_cd()
    
    The shadow_handle_cd() can be used only with SHADOW_PAGING=y, so guard
    shadow_handle_cd() call with paging_mode_shadow() which accounts for
    SHADOW_PAGING state.
    
    bloat-o-meter
     add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-290 (-290)
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7d4cf997d7..67b67442b4 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1508,7 +1508,7 @@ static void shadow_handle_cd(struct vcpu *v, unsigned long value)
 
 static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
 {
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
     {
         /*
          * For shadow, 'load IA32_PAT' VM-entry control is 0, so it cannot
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:33:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167256.1493589 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3ql-0006ZG-FC; Thu, 20 Nov 2025 12:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167256.1493589; Thu, 20 Nov 2025 12:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vM3ql-0006Z8-CC; Thu, 20 Nov 2025 12:33:23 +0000
Received: by outflank-mailman (input) for mailman id 1167256;
 Thu, 20 Nov 2025 12:33:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3qk-0006XT-51
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:33:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qk-00GrPX-0P
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qk-00CYhH-0G
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=dKY+CaN2oJzmZnfrYlSMANxBBz0nVZhJ4ZVn2jzmrBQ=; b=vpNsziniryxdBqnwv7Mt95rNS8
	YfjqtlPPsTCvVEII96bNpIyaKUcpqRQMp1Ce7pq7iUImBL8r8E29tiTn4eWBLyLw9uB5h3eZbMOtp
	WT3AKmSsz3Rq2GvUikp+0xo0qwBoSqLRilM5tcQ76jQTEQme3KrCx+SSzu5FyVR3eWmI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/vmx: refactor cache disable mode data
Message-Id: <E1vM3qk-00CYhH-0G@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:33:22 +0000

commit 9569b05e9b54946dcda22f2a33872e098d79e71b
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:23:26 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:23:26 2025 +0100

    x86/vmx: refactor cache disable mode data
    
    The Cache Disable mode data is used only by VMX code, so move it from
    common HVM structures into VMX specific structures:
    - move "uc_lock", "is_in_uc_mode" fields from struct hvm_domain to struct
    vmx_domain;
    - move "cache_mode" field from struct hvm_vcpu to struct vmx_vcpu.
    
    Hence, the "in_uc_mode" field is used directly in mm/shadow/multi.c
    _sh_propagate(), introduce the hvm_is_in_uc_mode() macro to avoid direct
    access to this field and account for INTEL_VMX configuration.
    
    While here:
    - rename "is_in_uc_mode" to "in_uc_mode"
    - s/NORMAL_CACHE_MODE/CACHE_MODE_NORMAL
    - s/NO_FILL_CACHE_MODE/CACHE_MODE_NO_FILL
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c                  |  1 -
 xen/arch/x86/hvm/vmx/vmx.c              | 30 ++++++++++++++++--------------
 xen/arch/x86/include/asm/hvm/domain.h   |  6 ------
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 +++
 xen/arch/x86/include/asm/hvm/vcpu.h     |  3 ---
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 13 +++++++++++++
 xen/arch/x86/include/asm/mtrr.h         |  3 ---
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 8 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 11c739cadb..7b9fc3ac16 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -608,7 +608,6 @@ int hvm_domain_initialise(struct domain *d,
     }
 
     spin_lock_init(&d->arch.hvm.irq_lock);
-    spin_lock_init(&d->arch.hvm.uc_lock);
     spin_lock_init(&d->arch.hvm.write_map.lock);
     rwlock_init(&d->arch.hvm.mmcfg_lock);
     INIT_LIST_HEAD(&d->arch.hvm.write_map.list);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 67b67442b4..4ce213284f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -590,6 +590,8 @@ static int cf_check vmx_domain_initialise(struct domain *d)
      */
     d->arch.hvm.vmx.exec_sp = is_hardware_domain(d) || opt_ept_exec_sp;
 
+    spin_lock_init(&d->arch.hvm.vmx.uc_lock);
+
     if ( (rc = vmx_alloc_vlapic_mapping(d)) != 0 )
         return rc;
 
@@ -1425,7 +1427,7 @@ static void cf_check vmx_set_segment_register(
 static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
-         unlikely(v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+         unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
     vmx_vmcs_enter(v);
@@ -1437,7 +1439,7 @@ static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
-         unlikely(v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+         unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
     vmx_vmcs_enter(v);
@@ -1456,7 +1458,7 @@ static bool domain_exit_uc_mode(const struct vcpu *v)
     {
         if ( (vs == v) || !vs->is_initialised )
             continue;
-        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
+        if ( (vs->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) ||
              mtrr_pat_not_equal(vs, v) )
             return false;
     }
@@ -1466,7 +1468,7 @@ static bool domain_exit_uc_mode(const struct vcpu *v)
 
 static void set_uc_mode(struct domain *d, bool is_in_uc_mode)
 {
-    d->arch.hvm.is_in_uc_mode = is_in_uc_mode;
+    d->arch.hvm.vmx.in_uc_mode = is_in_uc_mode;
     shadow_blow_tables_per_domain(d);
 }
 
@@ -1477,10 +1479,10 @@ static void shadow_handle_cd(struct vcpu *v, unsigned long value)
     if ( value & X86_CR0_CD )
     {
         /* Entering no fill cache mode. */
-        spin_lock(&d->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
+        spin_lock(&d->arch.hvm.vmx.uc_lock);
+        v->arch.hvm.vmx.cache_mode = CACHE_MODE_NO_FILL;
 
-        if ( !d->arch.hvm.is_in_uc_mode )
+        if ( !d->arch.hvm.vmx.in_uc_mode )
         {
             domain_pause_nosync(d);
 
@@ -1490,19 +1492,19 @@ static void shadow_handle_cd(struct vcpu *v, unsigned long value)
 
             domain_unpause(d);
         }
-        spin_unlock(&d->arch.hvm.uc_lock);
+        spin_unlock(&d->arch.hvm.vmx.uc_lock);
     }
     else if ( !(value & X86_CR0_CD) &&
-              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
+              (v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
     {
         /* Exit from no fill cache mode. */
-        spin_lock(&d->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
+        spin_lock(&d->arch.hvm.vmx.uc_lock);
+        v->arch.hvm.vmx.cache_mode = CACHE_MODE_NORMAL;
 
         if ( domain_exit_uc_mode(v) )
             set_uc_mode(d, false);
 
-        spin_unlock(&d->arch.hvm.uc_lock);
+        spin_unlock(&d->arch.hvm.vmx.uc_lock);
     }
 }
 
@@ -1543,11 +1545,11 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
 
             wbinvd();               /* flush possibly polluted cache */
             hvm_asid_flush_vcpu(v); /* invalidate memory type cached in TLB */
-            v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
+            v->arch.hvm.vmx.cache_mode = CACHE_MODE_NO_FILL;
         }
         else
         {
-            v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
+            v->arch.hvm.vmx.cache_mode = CACHE_MODE_NORMAL;
             vmx_set_guest_pat(v, *pat);
             if ( !is_iommu_enabled(v->domain) || iommu_snoop )
                 vmx_clear_msr_intercept(v, MSR_IA32_CR_PAT, VMX_MSR_RW);
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 333501d5f2..94d19730b2 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -97,12 +97,6 @@ struct hvm_domain {
     /* VRAM dirty support.  Protect with the domain paging lock. */
     struct sh_dirty_vram *dirty_vram;
 
-    /* If one of vcpus of this domain is in no_fill_mode or
-     * mtrr/pat between vcpus is not the same, set is_in_uc_mode
-     */
-    spinlock_t             uc_lock;
-    bool                   is_in_uc_mode;
-
     bool                   is_s3_suspended;
 
     /* Compatibility setting for a bug in x2APIC LDR */
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 838ad5b59e..56ad63dc57 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -392,6 +392,9 @@ static inline bool using_svm(void)
     return IS_ENABLED(CONFIG_AMD_SVM) && cpu_has_svm;
 }
 
+#define hvm_is_in_uc_mode(d) \
+    (using_vmx() && (d)->arch.hvm.vmx.in_uc_mode)
+
 #ifdef CONFIG_HVM
 
 #define hvm_get_guest_tsc(v) hvm_get_guest_tsc_fixed(v, 0)
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
index 924af890c5..3cf7a71fd3 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -168,9 +168,6 @@ struct hvm_vcpu {
 
     u8                  evtchn_upcall_vector;
 
-    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
-    u8                  cache_mode;
-
     struct hvm_vcpu_io  hvm_io;
 
     /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index ecd9138930..8ff7c8045f 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -46,6 +46,7 @@ struct ept_data {
 
 #define _VMX_DOMAIN_PML_ENABLED    0
 #define VMX_DOMAIN_PML_ENABLED     (1ul << _VMX_DOMAIN_PML_ENABLED)
+
 struct vmx_domain {
     mfn_t apic_access_mfn;
     /* VMX_DOMAIN_* */
@@ -56,6 +57,13 @@ struct vmx_domain {
      * around CVE-2018-12207 as appropriate.
      */
     bool exec_sp;
+    /*
+     * If one of vcpus of this domain is in no_fill_mode or
+     * mtrr/pat between vcpus is not the same, set in_uc_mode.
+     * Protected by uc_lock.
+     */
+    bool in_uc_mode;
+    spinlock_t uc_lock;
 };
 
 /*
@@ -156,6 +164,11 @@ struct vmx_vcpu {
 
     uint8_t              lbr_flags;
 
+    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
+    uint8_t              cache_mode;
+#define CACHE_MODE_NORMAL  0
+#define CACHE_MODE_NO_FILL 2
+
     /* Bitmask of segments that we can't safely use in virtual 8086 mode */
     uint16_t             vm86_segment_mask;
     /* Shadow CS, SS, DS, ES, FS, GS, TR while in virtual 8086 mode */
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 25d442659d..3a5b4f5b6e 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -7,9 +7,6 @@
 #define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
 #define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
-#define NORMAL_CACHE_MODE          0
-#define NO_FILL_CACHE_MODE         2
-
 #define INVALID_MEM_TYPE X86_NUM_MT
 
 /* In the Intel processor's MTRR interface, the MTRR type is always held in
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 7be9c180ec..03be61e225 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -559,7 +559,7 @@ _sh_propagate(struct vcpu *v,
         if ( !mmio_mfn &&
              (type = hvm_get_mem_pinned_cacheattr(d, target_gfn, 0)) >= 0 )
             sflags |= pat_type_2_pte_flags(type);
-        else if ( d->arch.hvm.is_in_uc_mode )
+        else if ( hvm_is_in_uc_mode(d) )
             sflags |= pat_type_2_pte_flags(X86_MT_UC);
         else
             if ( iomem_access_permitted(d, mfn_x(target_mfn), mfn_x(target_mfn)) )
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:33:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167257.1493592 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3qv-0006eq-GK; Thu, 20 Nov 2025 12:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167257.1493592; Thu, 20 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vM3qv-0006ei-Df; Thu, 20 Nov 2025 12:33:33 +0000
Received: by outflank-mailman (input) for mailman id 1167257;
 Thu, 20 Nov 2025 12:33:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3qu-0006eb-8G
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:33:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qu-00GrS0-0j
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3qu-00CYhz-0Z
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=VRlhSsj5JRNbecmzNvoIhtk/X3WhubGVckiy8uHmpqQ=; b=ve9pjeeFKgzJfX2dGK2HXS7If8
	YsanmA5KasmxNMZqyrllG4upvKFYeHKsDM3N0zZxwxU5Xa74sX72mAOC7+TAtbT0QtLJDsQLZe+A6
	aAo9q4ismkWkogkIAH31EjAqYoc4p665E8EVjeQJJQ8grD2EwQ5BI2KZlLJSFP8H2eMM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86: Conditionalise PV-only fallback branches on CONFIG_PV
Message-Id: <E1vM3qu-00CYhz-0Z@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:33:32 +0000

commit d6d76a493984307c3d4b6ff7742448761f711e1a
Author:     Alejandro Vallejo <alejandro.garciavallejo@amd.com>
AuthorDate: Thu Nov 20 11:23:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:23:56 2025 +0100

    x86: Conditionalise PV-only fallback branches on CONFIG_PV
    
    A couple of branches rely on PV being the "else" branch, making it
    be compiled even when PV support is not itself compiled-in.
    
    Add a explicit conditional on CONFIG_PV in those cases to remove the
    code in !CONFIG_PV builds.
    
    Not a functional change.
    
    Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
    Reviewed-by: Teddy Astie <teddy.astie@vates.tech>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpuid.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index b63a82dd38..5decfad8cd 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -297,6 +297,8 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
             if ( v->arch.hvm.guest_cr[4] & X86_CR4_OSXSAVE )
                 res->c |= cpufeat_mask(X86_FEATURE_OSXSAVE);
         }
+        else if ( !IS_ENABLED(CONFIG_PV) )
+            ASSERT_UNREACHABLE();
         else /* PV domain */
         {
             regs = guest_cpu_user_regs();
@@ -509,6 +511,8 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
             if ( !hap_enabled(d) && !hvm_pae_enabled(v) )
                 res->d &= ~cpufeat_mask(X86_FEATURE_PSE36);
         }
+        else if ( !IS_ENABLED(CONFIG_PV) )
+            ASSERT_UNREACHABLE();
         else /* PV domain */
         {
             /*
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:33:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167258.1493599 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3r5-0006jj-Ic; Thu, 20 Nov 2025 12:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167258.1493599; Thu, 20 Nov 2025 12:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3r5-0006ja-F1; Thu, 20 Nov 2025 12:33:43 +0000
Received: by outflank-mailman (input) for mailman id 1167258;
 Thu, 20 Nov 2025 12:33:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3r4-0006jQ-B3
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:33:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3r4-00GrSQ-10
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3r4-00CYl4-0u
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=VL2qM/poB+kvKJ0xupnXfriUiURQlheGHiCv1CXE5vg=; b=f3zOOWUIBn6TT0eXW9ddwmns0e
	2A7GZjz0ocsQ4IVqfopcQA9/I3/FgbOuKVK/A1otyuXBSs0oaGeT28e416e0Dm5UBP1OU7VUAeK5A
	o4Qq4IlNpozzv7MWRI0g8PkhruDgCdvciKqohu6bnhMXcG9PdzeipHtf0UwKlaXNXjBo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86: Remove stubs from asm/pv/domain.h
Message-Id: <E1vM3r4-00CYl4-0u@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:33:42 +0000

commit 503b362a56c1202b4c3e9c9ee7c65c7abe5bc650
Author:     Alejandro Vallejo <alejandro.garciavallejo@amd.com>
AuthorDate: Thu Nov 20 11:24:20 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:24:20 2025 +0100

    x86: Remove stubs from asm/pv/domain.h
    
    They are unnecessary. The only two cases with link-time failures are
    fallback else branches that can just as well be adjusted with explicit
    IS_ENABLED(CONFIG_PV). HVM has no equivalent stubs and there's no reason
    to keep the asymmetry.
    
    No functional change.
    
    Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/domain.c                | 15 +++++++++++----
 xen/arch/x86/include/asm/pv/domain.h | 25 -------------------------
 2 files changed, 11 insertions(+), 29 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 66b7412b87..3a21e035f4 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -571,15 +571,20 @@ int arch_vcpu_create(struct vcpu *v)
 
     if ( is_hvm_domain(d) )
         rc = hvm_vcpu_initialise(v);
-    else if ( !is_idle_domain(d) )
-        rc = pv_vcpu_initialise(v);
-    else
+    else if ( is_idle_domain(d) )
     {
         /* Idle domain */
         v->arch.cr3 = __pa(idle_pg_table);
         rc = 0;
         v->arch.msrs = ZERO_BLOCK_PTR; /* Catch stray misuses */
     }
+    else if ( IS_ENABLED(CONFIG_PV) )
+        rc = pv_vcpu_initialise(v);
+    else
+    {
+        ASSERT_UNREACHABLE();
+        rc = -EOPNOTSUPP;
+    }
 
     if ( rc )
         goto fail;
@@ -614,8 +619,10 @@ void arch_vcpu_destroy(struct vcpu *v)
 
     if ( is_hvm_vcpu(v) )
         hvm_vcpu_destroy(v);
-    else
+    else if ( IS_ENABLED(CONFIG_PV) )
         pv_vcpu_destroy(v);
+    else
+        ASSERT_UNREACHABLE();
 }
 
 int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
diff --git a/xen/arch/x86/include/asm/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
index 75a6b9e5c7..582d004051 100644
--- a/xen/arch/x86/include/asm/pv/domain.h
+++ b/xen/arch/x86/include/asm/pv/domain.h
@@ -54,8 +54,6 @@ static inline unsigned long get_pcid_bits(const struct vcpu *v, bool is_xpti)
 #endif
 }
 
-#ifdef CONFIG_PV
-
 void pv_vcpu_destroy(struct vcpu *v);
 int pv_vcpu_initialise(struct vcpu *v);
 void pv_domain_destroy(struct domain *d);
@@ -84,29 +82,6 @@ void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val);
 
 bool xpti_pcid_enabled(void);
 
-#else  /* !CONFIG_PV */
-
-#include <xen/errno.h>
-
-static inline void pv_vcpu_destroy(struct vcpu *v) {}
-static inline int pv_vcpu_initialise(struct vcpu *v) { return -EOPNOTSUPP; }
-static inline void pv_domain_destroy(struct domain *d) {}
-static inline int pv_domain_initialise(struct domain *d) { return -EOPNOTSUPP; }
-
-static inline unsigned long pv_make_cr4(const struct vcpu *v) { return ~0UL; }
-
-static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
-{
-    ASSERT_UNREACHABLE();
-    return 0;
-}
-static inline void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
-{
-    ASSERT_UNREACHABLE();
-}
-
-#endif	/* CONFIG_PV */
-
 void cf_check paravirt_ctxt_switch_from(struct vcpu *v);
 void cf_check paravirt_ctxt_switch_to(struct vcpu *v);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:33:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:33:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167260.1493600 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3rF-0006pR-Kl; Thu, 20 Nov 2025 12:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167260.1493600; Thu, 20 Nov 2025 12:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vM3rF-0006pJ-I3; Thu, 20 Nov 2025 12:33:53 +0000
Received: by outflank-mailman (input) for mailman id 1167260;
 Thu, 20 Nov 2025 12:33:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3rE-0006np-E0
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:33:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3rE-00GrSV-1G
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3rE-00CYm1-1B
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:33:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=CsPn0ih5dfFwnTTqvrrbOIEyxeDxASAJwGr/jkgbZAM=; b=VlGwBt7LouHVleCswnotFKfmPg
	e0lsAK/93GBf2KGzste4uuh8Bd4Uy2z5NDMNDlaVuloFTC1KgtwQjIw4ONwpn0sndl/Ww4IPZ7Dg7
	/HcCcazMGCD+rUxPBS/X7Y4RZhql7bkL2uya8MIZe+hH3wkbTv/KmzsMJxXDJcR4cAdU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/svm: limit the scope of "rc"
Message-Id: <E1vM3rE-00CYm1-1B@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:33:52 +0000

commit e7b6d3c976b31f6c06eb86a33a687c236b1ea02b
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Thu Nov 20 11:24:37 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:24:37 2025 +0100

    xen/svm: limit the scope of "rc"
    
    To make codes less fragile, we limit the scope of "rc" through adding several
    instances in relatively narrow scopes. We also fixes wrong indentation.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/hvm/svm/svm.c | 34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index b54f9d9af5..5b2b56edf8 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2551,7 +2551,7 @@ void asmlinkage svm_vmexit_handler(void)
     uint64_t exit_reason;
     struct vcpu *v = current;
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
-    int insn_len, rc;
+    int insn_len;
     vintr_t intr;
     bool vcpu_guestmode = false;
     struct vlapic *vlapic = vcpu_vlapic(v);
@@ -2705,6 +2705,7 @@ void asmlinkage svm_vmexit_handler(void)
         if ( !v->domain->debugger_attached )
         {
             unsigned int trap_type;
+            int rc;
 
             if ( likely(exit_reason != VMEXIT_ICEBP) )
             {
@@ -2748,16 +2749,14 @@ void asmlinkage svm_vmexit_handler(void)
         }
         else
         {
-           rc = hvm_monitor_debug(regs->rip,
-                                  HVM_MONITOR_SOFTWARE_BREAKPOINT,
-                                  X86_ET_SW_EXC,
-                                  insn_len, 0);
-           if ( rc < 0 )
-               goto unexpected_exit_type;
-           if ( !rc )
-               hvm_inject_exception(X86_EXC_BP,
-                                    X86_ET_SW_EXC,
-                                    insn_len, X86_EVENT_NO_EC);
+            int rc = hvm_monitor_debug(regs->rip,
+                                       HVM_MONITOR_SOFTWARE_BREAKPOINT,
+                                       X86_ET_SW_EXC, insn_len, 0);
+            if ( rc < 0 )
+                goto unexpected_exit_type;
+            if ( !rc )
+                hvm_inject_exception(X86_EXC_BP, X86_ET_SW_EXC,
+                                     insn_len, X86_EVENT_NO_EC);
         }
         break;
 
@@ -2768,6 +2767,7 @@ void asmlinkage svm_vmexit_handler(void)
     case VMEXIT_EXCEPTION_PF:
     {
         unsigned long va = vmcb->ei.exc.cr2;
+        int rc;
 
         regs->error_code = vmcb->ei.exc.ec;
         HVM_DBG_LOG(DBG_LEVEL_VMMU,
@@ -2882,6 +2882,9 @@ void asmlinkage svm_vmexit_handler(void)
         break;
 
     case VMEXIT_CPUID:
+    {
+        int rc;
+
         if ( (insn_len = svm_get_insn_len(v, INSTR_CPUID)) == 0 )
             break;
 
@@ -2892,12 +2895,16 @@ void asmlinkage svm_vmexit_handler(void)
         if ( !rc )
             __update_guest_eip(regs, insn_len);
         break;
+    }
 
     case VMEXIT_HLT:
         svm_vmexit_do_hlt(vmcb, regs);
         break;
 
     case VMEXIT_IOIO:
+    {
+        int rc;
+
         rc = hvm_monitor_io(vmcb->ei.io.port,
                             vmcb->ei.io.bytes,
                             vmcb->ei.io.in,
@@ -2917,6 +2924,7 @@ void asmlinkage svm_vmexit_handler(void)
         else if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
             hvm_inject_hw_exception(X86_EXC_GP, 0);
         break;
+    }
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
     case VMEXIT_CR0_WRITE ... VMEXIT_CR15_WRITE:
@@ -3008,6 +3016,9 @@ void asmlinkage svm_vmexit_handler(void)
         break;
 
     case VMEXIT_NPF:
+    {
+        int rc;
+
         if ( cpu_has_svm_decode )
             v->arch.hvm.svm.cached_insn_len = vmcb->guest_ins_len & 0xf;
         rc = vmcb->ei.npf.ec & PFEC_page_present
@@ -3021,6 +3032,7 @@ void asmlinkage svm_vmexit_handler(void)
                          v, rc, vmcb->ei.npf.gpa, vmcb->ei.npf.ec);
         v->arch.hvm.svm.cached_insn_len = 0;
         break;
+    }
 
     case VMEXIT_IRET:
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:34:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167261.1493604 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3rP-0006tA-Lx; Thu, 20 Nov 2025 12:34:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167261.1493604; Thu, 20 Nov 2025 12:34:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3rP-0006t2-JR; Thu, 20 Nov 2025 12:34:03 +0000
Received: by outflank-mailman (input) for mailman id 1167261;
 Thu, 20 Nov 2025 12:34:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3rO-0006su-HG
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:34:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3rO-00GrSp-1c
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:34:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3rO-00CYoB-1W
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:34:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=y+zjyRe3Pai5ga07a6aM2iYIDk+qLih3hUzfbRgB6VU=; b=UMRBBOrs6E4CtTI6xX0wD5a3cx
	U1cZz0pbH7FcEXCKvypfGDTzyiYRb4z0DWa6LnSiZ3WxJ0d1z3hS3CZTlrmR+cuJY31yKbPaLJ+Yd
	ghSzYln8nTsPlIWDWjJVbb28soR+3y22fdBvJzlT7dUB9LajUD/BC0E2AFI/MeCERJ/c=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/paging: replace !paging_mode_hap() with paging_mode_shadow()
Message-Id: <E1vM3rO-00CYoB-1W@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:34:02 +0000

commit dcca45531f708cec1207fa4a309ab10802edec83
Author:     Grygorii Strashko <grygorii_strashko@epam.com>
AuthorDate: Thu Nov 20 11:25:27 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:25:27 2025 +0100

    x86/paging: replace !paging_mode_hap() with paging_mode_shadow()
    
    Now Xen, for HVM/PVH, supports only two paging modes: HAP and SHADOW, so
    !paging_mode_hap() is actually means paging_mode_shadow().
    
    For an abstract, future case of there being a 3rd paging mode it is also
    better to explicitly mention checked paging mode (SHADOW) instead of using
    negative check of another paging mode (HAP).
    
    Hence, s/!paging_mode_hap()/paging_mode_shadow() which also allows DCE drop
    unused code when SHADOW_PAGING=n.
    The !paging_mode_hap() in hap.c not changed as HAP is checking for itself
    to be enabled.
    
    Inspired by [1].
    
    [1] https://patchwork.kernel.org/project/xen-devel/patch/20251111200958.3576341-3-grygorii_strashko@epam.com/
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/mcheck/vmce.c   |  2 +-
 xen/arch/x86/hvm/domain.c        |  2 +-
 xen/arch/x86/hvm/hvm.c           | 10 +++++-----
 xen/arch/x86/hvm/svm/nestedsvm.c |  2 +-
 xen/arch/x86/hvm/svm/svm.c       |  8 ++++----
 xen/arch/x86/hvm/vmx/vmcs.c      |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c       |  4 ++--
 xen/arch/x86/mm/p2m-ept.c        |  2 +-
 8 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/vmce.c b/xen/arch/x86/cpu/mcheck/vmce.c
index 5abdf4cb5f..1a7e92506a 100644
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -525,7 +525,7 @@ int unmmap_broken_page(struct domain *d, mfn_t mfn, unsigned long gfn)
     if ( !mfn_valid(mfn) )
         return -EINVAL;
 
-    if ( !is_hvm_domain(d) || !paging_mode_hap(d) )
+    if ( !is_hvm_domain(d) || paging_mode_shadow(d) )
         return -EOPNOTSUPP;
 
     rc = -1;
diff --git a/xen/arch/x86/hvm/domain.c b/xen/arch/x86/hvm/domain.c
index 048f29ae49..37092f31f3 100644
--- a/xen/arch/x86/hvm/domain.c
+++ b/xen/arch/x86/hvm/domain.c
@@ -287,7 +287,7 @@ int arch_set_info_hvm_guest(struct vcpu *v, const struct vcpu_hvm_context *ctx)
     hvm_update_guest_cr(v, 4);
     hvm_update_guest_efer(v);
 
-    if ( hvm_paging_enabled(v) && !paging_mode_hap(v->domain) )
+    if ( hvm_paging_enabled(v) && paging_mode_shadow(v->domain) )
     {
         /* Shadow-mode CR3 change. Check PDBR and update refcounts. */
         struct page_info *page = get_page_from_gfn(v->domain,
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 7b9fc3ac16..4a8e339f97 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2317,7 +2317,7 @@ int hvm_set_cr0(unsigned long value, bool may_defer)
             hvm_update_guest_efer(v);
         }
 
-        if ( !paging_mode_hap(d) )
+        if ( paging_mode_shadow(d) )
         {
             /* The guest CR3 must be pointing to the guest physical. */
             gfn = v->arch.hvm.guest_cr[3] >> PAGE_SHIFT;
@@ -2368,7 +2368,7 @@ int hvm_set_cr0(unsigned long value, bool may_defer)
             hvm_update_guest_efer(v);
         }
 
-        if ( !paging_mode_hap(d) )
+        if ( paging_mode_shadow(d) )
         {
             put_page(pagetable_get_page(v->arch.guest_table));
             v->arch.guest_table = pagetable_null();
@@ -2422,7 +2422,7 @@ int hvm_set_cr3(unsigned long value, bool noflush, bool may_defer)
         }
     }
 
-    if ( hvm_paging_enabled(curr) && !paging_mode_hap(currd) &&
+    if ( hvm_paging_enabled(curr) && paging_mode_shadow(currd) &&
          ((value ^ curr->arch.hvm.guest_cr[3]) >> PAGE_SHIFT) )
     {
         /* Shadow-mode CR3 change. Check PDBR and update refcounts. */
@@ -3966,7 +3966,7 @@ void hvm_vcpu_reset_state(struct vcpu *v, uint16_t cs, uint16_t ip)
     if ( v->is_initialised )
         goto out;
 
-    if ( !paging_mode_hap(d) )
+    if ( paging_mode_shadow(d) )
     {
         if ( v->arch.hvm.guest_cr[0] & X86_CR0_PG )
             put_page(pagetable_get_page(v->arch.guest_table));
@@ -4240,7 +4240,7 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
          * Only actually required for VT-x lacking unrestricted_guest
          * capabilities.  Short circuit the pause if possible.
          */
-        if ( !paging_mode_hap(d) || !using_vmx() )
+        if ( paging_mode_shadow(d) || !using_vmx() )
         {
             d->arch.hvm.params[index] = value;
             break;
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index dc2b6a4253..1813692ffb 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -1341,7 +1341,7 @@ nestedsvm_check_intercepts(struct vcpu *v, struct cpu_user_regs *regs,
             /* l2 guest intercepts #PF unnecessarily */
             return NESTEDHVM_VMEXIT_INJECT;
         }
-        if ( !paging_mode_hap(v->domain) )
+        if ( paging_mode_shadow(v->domain) )
             /* host shadow paging + guest shadow paging */
             return NESTEDHVM_VMEXIT_HOST;
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 5b2b56edf8..2d7c598ffe 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -171,7 +171,7 @@ static void cf_check svm_update_guest_cr(
         }
 
         value = v->arch.hvm.guest_cr[0] | hw_cr0_mask;
-        if ( !paging_mode_hap(v->domain) )
+        if ( paging_mode_shadow(v->domain) )
             value |= X86_CR0_PG | X86_CR0_WP;
         vmcb_set_cr0(vmcb, value);
         break;
@@ -440,7 +440,7 @@ static int svm_vmcb_restore(struct vcpu *v, struct hvm_hw_cpu *c)
         }
     }
 
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
     {
         if ( c->cr0 & X86_CR0_PG )
         {
@@ -762,7 +762,7 @@ static int cf_check svm_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
 
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
         return 0;
 
     vmcb_set_g_pat(vmcb, gpat);
@@ -773,7 +773,7 @@ static int cf_check svm_get_guest_pat(struct vcpu *v, u64 *gpat)
 {
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
 
-    if ( !paging_mode_hap(v->domain) )
+    if ( paging_mode_shadow(v->domain) )
         return 0;
 
     *gpat = vmcb_get_g_pat(vmcb);
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index cd5ac8a5f0..d610988bf9 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -135,7 +135,7 @@ static int cf_check parse_ept_param_runtime(const char *s)
     for_each_domain ( d )
     {
         /* PV, or HVM Shadow domain?  Not applicable. */
-        if ( !paging_mode_hap(d) )
+        if ( paging_mode_shadow(d) )
             continue;
 
         /* Hardware domain? Not applicable. */
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4ce213284f..6b407226c4 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1426,7 +1426,7 @@ static void cf_check vmx_set_segment_register(
 
 static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 {
-    if ( !paging_mode_hap(v->domain) ||
+    if ( paging_mode_shadow(v->domain) ||
          unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
@@ -1438,7 +1438,7 @@ static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 
 static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
 {
-    if ( !paging_mode_hap(v->domain) ||
+    if ( paging_mode_shadow(v->domain) ||
          unlikely(v->arch.hvm.vmx.cache_mode == CACHE_MODE_NO_FILL) )
         return 0;
 
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index b854a08b4c..ce4ef632ae 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1270,7 +1270,7 @@ void ept_sync_domain(struct p2m_domain *p2m)
     struct domain *d = p2m->domain;
 
     /* Only if using EPT and this domain has some VCPUs to dirty. */
-    if ( !paging_mode_hap(d) || !d->vcpu || !d->vcpu[0] )
+    if ( paging_mode_shadow(d) || !d->vcpu || !d->vcpu[0] )
         return;
 
     ept_sync_domain_prepare(p2m);
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:34:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:34:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167262.1493609 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3rZ-0006wX-NU; Thu, 20 Nov 2025 12:34:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167262.1493609; Thu, 20 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vM3rZ-0006wP-Kn; Thu, 20 Nov 2025 12:34:13 +0000
Received: by outflank-mailman (input) for mailman id 1167262;
 Thu, 20 Nov 2025 12:34:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3rY-0006wH-KN
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:34:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3rY-00GrSz-1w
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:34:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3rY-00CYpK-1n
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:34:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Y1n/USsqxNwwc1COljbfsYvHsLxh4wBdZKl0KbFTAlc=; b=qKCng5l8kh+/92s0J2Hh9AFcT7
	17kpv+XSVN8spa70qtY7t3ivPF8IN2FTKBfWO4vPXlznAKHqacHLfkjQC1RlDhaGkiuAg/6lz43vn
	63zNtAdDFADGg2t0dSfAXpJOMceO0Fk+TFtZ3/NTHiegGYmUWunVFnFqUvbcBXq4P0x0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/cpu-policy: move invocation of recalculate_misc()
Message-Id: <E1vM3rY-00CYpK-1n@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:34:12 +0000

commit f6894fdfa83359d0686a41aee5c2a8ba7b2878b4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 20 11:26:25 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:26:25 2025 +0100

    x86/cpu-policy: move invocation of recalculate_misc()
    
    The function is about guest exposure of features / leaves. There's no need
    for it to be applied on the host policy. In fact doing so gets in the way
    of using the host policy in certain places.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/cpu-policy.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 42dccdce52..0a7ef15f72 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -383,7 +383,6 @@ static void __init calculate_host_policy(void)
 
     x86_cpu_featureset_to_policy(boot_cpu_data.x86_capability, p);
     recalculate_xstate(p);
-    recalculate_misc(p);
 
     /* When vPMU is disabled, drop it from the host policy. */
     if ( vpmu_mode == XENPMU_MODE_OFF )
@@ -634,6 +633,7 @@ static void __init calculate_pv_max_policy(void)
     unsigned int i;
 
     *p = host_cpu_policy;
+    recalculate_misc(p);
 
     guest_common_max_leaves(p);
 
@@ -736,6 +736,7 @@ static void __init calculate_hvm_max_policy(void)
     const uint32_t *mask;
 
     *p = host_cpu_policy;
+    recalculate_misc(p);
 
     guest_common_max_leaves(p);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 12:34:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 12:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167264.1493613 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM3rj-0006yg-Om; Thu, 20 Nov 2025 12:34:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167264.1493613; Thu, 20 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vM3rj-0006yW-MD; Thu, 20 Nov 2025 12:34:23 +0000
Received: by outflank-mailman (input) for mailman id 1167264;
 Thu, 20 Nov 2025 12:34:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM3ri-0006yO-NT
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 12:34:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3ri-00GrT6-2C
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:34:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM3ri-00CYpr-27
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 12:34:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=zhY2mkoNFgXV6dwMJBdBaRyit3T+TUuSkh0uO6sBAXs=; b=pWlFZd/ZA7g01Btbm3EXq9hOAH
	pGkrRo41fV3goH4R4akzopcGG8ksWQYT/07uv9v+q2p+MLEKIL5TQ82WBocedzmyqrBQo+BvvzaTA
	WOi/UBi16dvNrAP/N3+wqaIUOClXMYpW7GeR55eYyfC2wlN1Ae1hqJJEnCY5fNdntGqw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/include: de-assemblify cpuid.h
Message-Id: <E1vM3ri-00CYpr-27@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 12:34:22 +0000

commit d07f4e6ef2872c737a4cfbb530995667d6493806
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Nov 20 11:26:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Nov 20 11:26:56 2025 +0100

    x86/include: de-assemblify cpuid.h
    
    There's nothing in that header which assembly files would need. Arrange
    for cpufeatureset.h to be included directly by cpufeature.h in that case,
    allowing respective guarding to be dropped.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/include/asm/cpufeature.h | 4 ++++
 xen/arch/x86/include/asm/cpuid.h      | 2 --
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index b6cf0c8dfc..0b764b9fb9 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -10,7 +10,11 @@
 #include <xen/const.h>
 #include <xen/macros.h>
 
+#ifndef __ASSEMBLY__
 #include <asm/cpuid.h>
+#else
+#include <asm/cpufeatureset.h>
+#endif
 
 #define cpufeat_word(idx)	((idx) / 32)
 #define cpufeat_bit(idx)	((idx) % 32)
diff --git a/xen/arch/x86/include/asm/cpuid.h b/xen/arch/x86/include/asm/cpuid.h
index b32ba0bbfe..f1b9e37a42 100644
--- a/xen/arch/x86/include/asm/cpuid.h
+++ b/xen/arch/x86/include/asm/cpuid.h
@@ -3,7 +3,6 @@
 
 #include <asm/cpufeatureset.h>
 
-#ifndef __ASSEMBLY__
 #include <xen/types.h>
 #include <xen/kernel.h>
 #include <xen/percpu.h>
@@ -50,7 +49,6 @@ struct cpuid_leaf;
 void guest_cpuid(const struct vcpu *v, uint32_t leaf,
                  uint32_t subleaf, struct cpuid_leaf *res);
 
-#endif /* __ASSEMBLY__ */
 #endif /* !__X86_CPUID_H__ */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 14:33:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 14:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167515.1493818 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM5iY-00029W-CF; Thu, 20 Nov 2025 14:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167515.1493818; Thu, 20 Nov 2025 14:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM5iY-00029O-9a; Thu, 20 Nov 2025 14:33:02 +0000
Received: by outflank-mailman (input) for mailman id 1167515;
 Thu, 20 Nov 2025 14:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM5iY-000297-2Q
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 14:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM5iX-00GtlM-2i
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 14:33:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM5iX-00CnRb-2a
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 14:33:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=bG0Bny14z1kNRq/N+sBo4ZFN+OVHhnHyabCwO1PaFVY=; b=LpLACJsVCv8YWIH3gzcdEr92il
	mSTjvZM0V1M7wzOifpJ4dW7fkLQckJTRJjM92Z8Ss1RWN5XSKzm8bN5rV2udbzqjONwRRhiwWALZb
	68fDim+m6BAxniX2hARQnwrz4n8LCtHRSOvKXdsr6TMI+cLY6ivrJtitHqWwt3mDHntg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen: Fix EFI buildid alignment
Message-Id: <E1vM5iX-00CnRb-2a@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 14:33:01 +0000

commit 26b111cc22b7e36ae5d72a17758b3ec6a1156432
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Wed Nov 19 20:12:31 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 20 14:29:57 2025 +0000

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 5d02f83a40..527872a6db 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -171,6 +171,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 20 15:44:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Nov 2025 15:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1167614.1493883 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM6pG-0000sN-FL; Thu, 20 Nov 2025 15:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1167614.1493883; Thu, 20 Nov 2025 15:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vM6pG-0000sF-Cl; Thu, 20 Nov 2025 15:44:02 +0000
Received: by outflank-mailman (input) for mailman id 1167614;
 Thu, 20 Nov 2025 15:44:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vM6pF-0000s9-Gf
 for xen-changelog@lists.xenproject.org; Thu, 20 Nov 2025 15:44:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM6pF-00GvBK-17
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 15:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vM6pF-00CxmZ-0z
 for xen-changelog@lists.xenproject.org;
 Thu, 20 Nov 2025 15:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=KvvjYhvEEtITDZms+ojKdMgEA6ZFtes/fpqRk76IOBs=; b=Mjap1RMR+Xt9B2F1o0/Yw4Olmp
	/M/bLqV+PwMF2HC+NK2nzSdLLi0+VMvp5QPbg0WBvvx2mEZhhZzNKXWW+fl/yldFD4IKRPnYMRqVg
	aLHmHhCtZazX4zcdR3cfH1gMTDmuJFyD39XRi02ETcqw0oEoIhp7rodq+S981RHDTqik=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen: Fix EFI buildid alignment
Message-Id: <E1vM6pF-00CxmZ-0z@xenbits.xenproject.org>
Date: Thu, 20 Nov 2025 15:44:01 +0000

commit 26b111cc22b7e36ae5d72a17758b3ec6a1156432
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Wed Nov 19 20:12:31 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 20 14:29:57 2025 +0000

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 5d02f83a40..527872a6db 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -171,6 +171,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 17:44:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 17:44:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169377.1495110 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVB7-0002WU-G3; Fri, 21 Nov 2025 17:44:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169377.1495110; Fri, 21 Nov 2025 17:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vMVB7-0002WM-DZ; Fri, 21 Nov 2025 17:44:13 +0000
Received: by outflank-mailman (input) for mailman id 1169377;
 Fri, 21 Nov 2025 17:44:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVB5-0002WD-UO
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 17:44:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVB5-0014b4-2w
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVB5-00Gg8b-2n
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=pHO5Czmti3f9LQrL8fAPtNqsbGcaeS0ftld7hdlfLJI=; b=aHTWFcOh3rPmds+qj86j9b+iBd
	V3i/fxlENLEBhlpXSrUHumTBb9LgbHt8KRw16YppR+ez1CgB1sdbnTwgvqxzMhLvsVCzqpEE0JEhY
	2HBNZjNl4ZE51pAomAgNjcFhfzvb9oj6o2uJigpUfVmbhRFLEIArsVn9Su3R7xdmj5hg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] docs: replace @xxx@ markers at build time
Message-Id: <E1vMVB5-00Gg8b-2n@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 17:44:11 +0000

commit 5fe0b99d7b24f129d935f1b1aae98358563f8992
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:30 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    docs: replace @xxx@ markers at build time
    
    Use the apply-build-vars make macro to replace the @xxx@ markers in
    *.in files only at build time.
    
    This allows to change the affected document files without having to
    run "configure" for making the change effective.
    
    While at it add the generated files to the distclean make target.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 docs/Makefile     | 11 ++++++++++-
 docs/configure    |  7 +------
 docs/configure.ac |  9 +--------
 3 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/docs/Makefile b/docs/Makefile
index 37776d303c..8e68300e3b 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -8,8 +8,14 @@ DATE		:= $(call date,"+%Y-%m-%d")
 DOC_ARCHES      := arm ppc riscv x86_32 x86_64
 MAN_SECTIONS    := 1 5 7 8
 
+IN_TARGETS := man/xl-disk-configuration.5.pod
+IN_TARGETS += man/xl-network-configuration.5.pod
+IN_TARGETS += man/xl.1.pod
+IN_TARGETS += man/xl.cfg.5.pod
+IN_TARGETS += man/xl.conf.5.pod
+
 # Documentation sources to build
-MAN-SRC-y := $(sort $(basename $(wildcard man/*.pod man/*.pandoc)))
+MAN-SRC-y := $(sort $(basename $(wildcard man/*.pod man/*.pandoc) $(IN_TARGETS)))
 
 RST-SRC-y := $(sort $(filter-out %index.rst,$(shell find * -type f -name '*.rst' -print)))
 
@@ -77,11 +83,14 @@ clean: clean-man-pages
 distclean: clean
 	rm -rf $(XEN_ROOT)/config/Docs.mk config.log config.status config.cache \
 		autom4te.cache
+	$(RM) $(IN_TARGETS)
 
 # Top level install targets
 
 .PHONY: man-pages install-man-pages clean-man-pages uninstall-man-pages
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
 # Metarules for generating manpages.  Run with $(1) substitued for section
 define GENERATE_MANPAGE_RULES
 
diff --git a/docs/configure b/docs/configure
index 98dda3cd0f..8871914dcb 100755
--- a/docs/configure
+++ b/docs/configure
@@ -1794,7 +1794,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_files="$ac_config_files ../config/Docs.mk man/xl.cfg.5.pod man/xl.1.pod man/xl-disk-configuration.5.pod man/xl-network-configuration.5.pod man/xl.conf.5.pod"
+ac_config_files="$ac_config_files ../config/Docs.mk"
 
 
 
@@ -3063,11 +3063,6 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "../config/Docs.mk") CONFIG_FILES="$CONFIG_FILES ../config/Docs.mk" ;;
-    "man/xl.cfg.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl.cfg.5.pod" ;;
-    "man/xl.1.pod") CONFIG_FILES="$CONFIG_FILES man/xl.1.pod" ;;
-    "man/xl-disk-configuration.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl-disk-configuration.5.pod" ;;
-    "man/xl-network-configuration.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl-network-configuration.5.pod" ;;
-    "man/xl.conf.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl.conf.5.pod" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
diff --git a/docs/configure.ac b/docs/configure.ac
index c2e5edd3b3..43dc516056 100644
--- a/docs/configure.ac
+++ b/docs/configure.ac
@@ -5,14 +5,7 @@ AC_PREREQ([2.67])
 AC_INIT([Xen Hypervisor Documentation], m4_esyscmd([../version.sh ../xen/Makefile]),
     [xen-devel@lists.xen.org], [xen], [https://www.xen.org/])
 AC_CONFIG_SRCDIR([misc/xen-command-line.pandoc])
-AC_CONFIG_FILES([
-../config/Docs.mk
-man/xl.cfg.5.pod
-man/xl.1.pod
-man/xl-disk-configuration.5.pod
-man/xl-network-configuration.5.pod
-man/xl.conf.5.pod
-])
+AC_CONFIG_FILES([../config/Docs.mk])
 AC_CONFIG_AUX_DIR([../])
 
 # M4 Macro includes
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 17:44:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 17:44:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169376.1495107 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVAy-0002VH-F2; Fri, 21 Nov 2025 17:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169376.1495107; Fri, 21 Nov 2025 17: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-changelog-bounces@lists.xenproject.org>)
	id 1vMVAy-0002V9-CG; Fri, 21 Nov 2025 17:44:04 +0000
Received: by outflank-mailman (input) for mailman id 1169376;
 Fri, 21 Nov 2025 17:44:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVAw-0002V1-SK
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 17:44:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVAv-0014at-2b
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVAv-00Gg6D-2R
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=izPLTZUgpi9B5BPlvUnVqxyDWgHCNZH9h/AjvApmKdo=; b=6xKX/kM0w/b3XgXrU702uXFcDq
	3vG5zZeqFHRO4pkWrdBzHqoK2+s6CbfrTjZKNK4TG7HOSZt/kT9WeB49LSqHEcZ7aPeRsk2P+tKHQ
	ptdUpmCEH7WovvKxXVhbK1KgJol6JoBUBUeoB2t8lVx6LyW/bYkBv6rxRac7S4GNQsGA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] build: add make macro for making file from file.in
Message-Id: <E1vMVAv-00Gg6D-2R@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 17:44:01 +0000

commit 82b9cc04a7c77cf7a56b66eca322cce97840e456
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:29 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    build: add make macro for making file from file.in
    
    Add a new make macro for creating <file> from <file>.in at build
    time. To be used like this:
    
    $(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
    
    This can be used instead of the current approach to perform the similar
    step for file.in during ./configure.
    
    This will avoid having to run ./configure just because of modifying a
    file depending on a variable set by configure.
    
    Prepare to have multiple files as source for the replacement patterns.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 Config.mk | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Config.mk b/Config.mk
index e1556dfbfa..dbb8bb4de7 100644
--- a/Config.mk
+++ b/Config.mk
@@ -159,6 +159,19 @@ define move-if-changed
 	if ! cmp -s $(1) $(2); then mv -f $(1) $(2); else rm -f $(1); fi
 endef
 
+PATH_FILES := Paths.mk
+INC_FILES = $(foreach f, $(PATH_FILES), $(XEN_ROOT)/config/$(f))
+
+-include $(INC_FILES)
+
+BUILD_MAKE_VARS = $(foreach f, $(PATH_FILES), $(shell awk '$$2 == ":=" { print $$1; }' $(XEN_ROOT)/config/$(f).in))
+
+# Replace @xxx@ markers in $(1).in with $(xxx) variable contents, write to $(1)
+define apply-build-vars
+ $(1): $(1).in $$(INC_FILES)
+	sed $$(foreach v, $$(BUILD_MAKE_VARS), -e 's#@$$(v)@#$$($$(v))#g') <$$< >$$@
+endef
+
 CFLAGS += -fno-strict-aliasing
 
 CFLAGS += -std=gnu99
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 17:44:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 17:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169378.1495115 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVBH-0002ZH-HT; Fri, 21 Nov 2025 17:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169378.1495115; Fri, 21 Nov 2025 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-changelog-bounces@lists.xenproject.org>)
	id 1vMVBH-0002Z9-Et; Fri, 21 Nov 2025 17:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1169378;
 Fri, 21 Nov 2025 17:44:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVBG-0002Yq-0z
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 17:44:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVBF-0014bB-3C
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVBF-00GgA8-36
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=mgigTWo9cNOJiDfaEsL5PZ24FbjhYlAlRrpbvbTCWwU=; b=mIpeSclUbGPjfC19oOLlZfBs3I
	D7LqrfS4dPDYDGfz5t4VLNHVMlzOuzs/1e6XePa7nULe5mSwt6bqreLZG3gnuCIEWHgUxTBkxD/rI
	2Ao+PeWtEuIyDWvaqrSAmYRgzyjpX63xxTEjIstu9p2AX1XD6wSyD47D5wHn776jT1l8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] config: remove unused paths from config/Paths.mk.in
Message-Id: <E1vMVBF-00GgA8-36@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 17:44:21 +0000

commit 66da3b35076cc497e7576776f4d2b69a473b5f95
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:31 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    config: remove unused paths from config/Paths.mk.in
    
    Some paths in config/Paths.mk.in are used nowhere, so remove them.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 config/Paths.mk.in | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/config/Paths.mk.in b/config/Paths.mk.in
index bc42748b7a..6aa392b9f2 100644
--- a/config/Paths.mk.in
+++ b/config/Paths.mk.in
@@ -20,10 +20,6 @@ libexecdir               := @libexecdir@
 datarootdir              := @datarootdir@
 mandir                   := @mandir@
 docdir                   := @docdir@
-dvidir                   := @dvidir@
-htmldir                  := @htmldir@
-pdfdir                   := @pdfdir@
-psdir                    := @psdir@
 includedir               := @includedir@
 localstatedir            := @localstatedir@
 sysconfdir               := @sysconfdir@
@@ -34,8 +30,6 @@ LIBEXEC_LIB              := @LIBEXEC_LIB@
 LIBEXEC_INC              := @LIBEXEC_INC@
 
 SHAREDIR                 := @SHAREDIR@
-MAN1DIR                  := $(mandir)/man1
-MAN8DIR                  := $(mandir)/man8
 
 XEN_RUN_DIR              := @XEN_RUN_DIR@
 XEN_LOG_DIR              := @XEN_LOG_DIR@
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 17:44:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 17:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169379.1495119 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVBR-0002bA-Io; Fri, 21 Nov 2025 17:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169379.1495119; Fri, 21 Nov 2025 17:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVBR-0002b2-GC; Fri, 21 Nov 2025 17:44:33 +0000
Received: by outflank-mailman (input) for mailman id 1169379;
 Fri, 21 Nov 2025 17:44:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVBQ-0002as-3t
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 17:44:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVBQ-0014bF-0H
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVBQ-00GgBe-0C
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 17:44:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=pZ2s6wbeYRuerBugNo4ASqTPaqGbweaRRhOI9MLKZ2I=; b=YY+NtuoYcaH1DrLnNAvbgfRln+
	sM9YRR58f9Ox8pElzN76nbiQ2atFCiUudG4gbyPFG7JYLOHzL3QK9k9ceXIbf4kZbg4jpnluSi9YN
	S/YUCR/ViAKtm5/6tpgzpPjZGHBD7iDKbSrrD/solHsgS8Jktw8bCrhE6+KCHcxl6xpU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] tools: replace @xxx@ markers at build time
Message-Id: <E1vMVBQ-00GgBe-0C@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 17:44:32 +0000

commit bc23a49d13a30de06a961dfaccc4a19262fe9967
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:32 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    tools: replace @xxx@ markers at build time
    
    Use the apply-build-vars make macro to replace the @xxx@ markers in
    most *.in files only at build time.
    
    As some of the markers are local to tools/configure, introduce
    config/Tools-paths.mk.in and add the related make variables to it.
    Add Tools-paths to the PATH_FILES make variable in order to include
    the definitions for replacing them in the *.in files.
    
    Add the generated files to the distclean target.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 .gitignore                     |  1 +
 config/Tools-paths.mk.in       | 10 ++++++++++
 tools/Rules.mk                 |  4 ++++
 tools/configure                | 21 ++-------------------
 tools/configure.ac             | 19 +------------------
 tools/hotplug/FreeBSD/Makefile | 13 +++++++++++--
 tools/hotplug/Linux/Makefile   | 21 +++++++++++++++++++--
 tools/hotplug/NetBSD/Makefile  | 13 +++++++++++--
 tools/hotplug/common/Makefile  | 10 +++++++++-
 tools/ocaml/libs/xs/Makefile   |  9 +++++++++
 tools/ocaml/xenstored/Makefile | 10 +++++++++-
 11 files changed, 86 insertions(+), 45 deletions(-)

diff --git a/.gitignore b/.gitignore
index d83427aba8..57d54f676f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,6 +47,7 @@ config.status
 config.cache
 config/Toplevel.mk
 config/Paths.mk
+config/Tools-paths.mk
 
 dist/*
 extras/
diff --git a/config/Tools-paths.mk.in b/config/Tools-paths.mk.in
new file mode 100644
index 0000000000..ac6298e761
--- /dev/null
+++ b/config/Tools-paths.mk.in
@@ -0,0 +1,10 @@
+-include $(XEN_ROOT)/config/Paths.mk
+
+XENSTORED                := @XENSTORED@
+XENSTORED_KVA            := @XENSTORED_KVA@
+XENSTORED_PORT           := @XENSTORED_PORT@
+XEN_RUN_STORED           := @XEN_RUN_STORED@
+
+LINUX_BACKEND_MODULES    := @LINUX_BACKEND_MODULES@
+
+qemu_xen_path            := @qemu_xen_path@
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 725c3c32e9..d9b9c740e9 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -11,6 +11,10 @@ XEN_FULLVERSION=$(shell env \
     XEN_VENDORVERSION=$(XEN_VENDORVERSION) \
     $(SHELL) $(XEN_ROOT)/version.sh --full $(XEN_ROOT)/xen/Makefile)
 
+PATH_FILES += Tools-paths.mk
+
+-include $(XEN_ROOT)/config/Tools-paths.mk
+
 export _INSTALL := $(INSTALL)
 INSTALL = $(XEN_ROOT)/tools/cross-install
 
diff --git a/tools/configure b/tools/configure
index 3111f5688c..479c7c9a3c 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2742,7 +2742,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_files="$ac_config_files ../config/Tools.mk hotplug/common/hotplugpath.sh hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/libs/xs/paths.ml ocaml/xenstored/paths.ml ocaml/xenstored/oxenstored.conf"
+ac_config_files="$ac_config_files ../config/Tools.mk ../config/Tools-paths.mk"
 
 ac_config_headers="$ac_config_headers config.h"
 
@@ -11268,24 +11268,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "../config/Tools.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools.mk" ;;
-    "hotplug/common/hotplugpath.sh") CONFIG_FILES="$CONFIG_FILES hotplug/common/hotplugpath.sh" ;;
-    "hotplug/FreeBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xencommons" ;;
-    "hotplug/FreeBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xendriverdomain" ;;
-    "hotplug/Linux/init.d/sysconfig.xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xencommons" ;;
-    "hotplug/Linux/init.d/sysconfig.xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xendomains" ;;
-    "hotplug/Linux/init.d/xen-watchdog") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xen-watchdog" ;;
-    "hotplug/Linux/init.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xencommons" ;;
-    "hotplug/Linux/init.d/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendomains" ;;
-    "hotplug/Linux/init.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendriverdomain" ;;
-    "hotplug/Linux/launch-xenstore") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/launch-xenstore" ;;
-    "hotplug/Linux/vif-setup") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/vif-setup" ;;
-    "hotplug/Linux/xen-hotplug-common.sh") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xen-hotplug-common.sh" ;;
-    "hotplug/Linux/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xendomains" ;;
-    "hotplug/NetBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xencommons" ;;
-    "hotplug/NetBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xendriverdomain" ;;
-    "ocaml/libs/xs/paths.ml") CONFIG_FILES="$CONFIG_FILES ocaml/libs/xs/paths.ml" ;;
-    "ocaml/xenstored/paths.ml") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/paths.ml" ;;
-    "ocaml/xenstored/oxenstored.conf") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/oxenstored.conf" ;;
+    "../config/Tools-paths.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools-paths.mk" ;;
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     "hotplug/Linux/systemd/proc-xen.mount") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/proc-xen.mount" ;;
     "hotplug/Linux/systemd/xen-init-dom0.service") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/xen-init-dom0.service" ;;
diff --git a/tools/configure.ac b/tools/configure.ac
index 285b4ea128..ecd45e782e 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -7,24 +7,7 @@ AC_INIT([Xen Hypervisor Tools], m4_esyscmd([../version.sh ../xen/Makefile]),
 AC_CONFIG_SRCDIR([libs/light/libxl.c])
 AC_CONFIG_FILES([
 ../config/Tools.mk
-hotplug/common/hotplugpath.sh
-hotplug/FreeBSD/rc.d/xencommons
-hotplug/FreeBSD/rc.d/xendriverdomain
-hotplug/Linux/init.d/sysconfig.xencommons
-hotplug/Linux/init.d/sysconfig.xendomains
-hotplug/Linux/init.d/xen-watchdog
-hotplug/Linux/init.d/xencommons
-hotplug/Linux/init.d/xendomains
-hotplug/Linux/init.d/xendriverdomain
-hotplug/Linux/launch-xenstore
-hotplug/Linux/vif-setup
-hotplug/Linux/xen-hotplug-common.sh
-hotplug/Linux/xendomains
-hotplug/NetBSD/rc.d/xencommons
-hotplug/NetBSD/rc.d/xendriverdomain
-ocaml/libs/xs/paths.ml
-ocaml/xenstored/paths.ml
-ocaml/xenstored/oxenstored.conf
+../config/Tools-paths.mk
 ])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([../])
diff --git a/tools/hotplug/FreeBSD/Makefile b/tools/hotplug/FreeBSD/Makefile
index a6552c9884..a7c1c461ef 100644
--- a/tools/hotplug/FreeBSD/Makefile
+++ b/tools/hotplug/FreeBSD/Makefile
@@ -8,9 +8,17 @@ XEN_SCRIPT_DATA :=
 
 XEN_RCD_PROG := rc.d/xencommons rc.d/xendriverdomain
 
+IN_TARGETS := rc.d/xencommons
+IN_TARGETS += rc.d/xendriverdomain
+
 .PHONY: all
 all:
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
+
 .PHONY: install
 install: install-scripts install-rcd
 
@@ -18,7 +26,7 @@ install: install-scripts install-rcd
 uninstall: uninstall-script uninstall-rcd
 
 .PHONY: install-scripts
-install-scripts:
+install-scripts: build
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	   do \
@@ -35,7 +43,7 @@ uninstall-scripts:
 	rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA))
 
 .PHONY: install-rcd
-install-rcd:
+install-rcd: build
 	$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	set -e; for i in $(XEN_RCD_PROG); \
 	   do \
@@ -51,3 +59,4 @@ clean:
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index 9a7b3a3515..b60e39e1cd 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -26,9 +26,25 @@ XEN_SCRIPT_DATA := xen-script-common.sh locking.sh logging.sh
 XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
 XEN_SCRIPT_DATA += block-common.sh
 
+IN_TARGETS := launch-xenstore
+IN_TARGETS += vif-setup
+IN_TARGETS += xendomains
+IN_TARGETS += xen-hotplug-common.sh
+IN_TARGETS += init.d/sysconfig.xendomains
+IN_TARGETS += init.d/xen-watchdog
+IN_TARGETS += init.d/xencommons
+IN_TARGETS += init.d/xendomains
+IN_TARGETS += init.d/xendriverdomain
+IN_TARGETS += init.d/sysconfig.xencommons
+
 .PHONY: all
 all: subdirs-all
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
+
 .PHONY: install
 install: install-initd install-scripts subdirs-install
 
@@ -37,7 +53,7 @@ uninstall: uninstall-initd uninstall-scripts subdirs-uninstall
 
 # See docs/misc/distro_mapping.txt for INITD_DIR location
 .PHONY: install-initd
-install-initd:
+install-initd: build
 	$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
@@ -60,7 +76,7 @@ uninstall-initd:
 	rm -f $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
 
 .PHONY: install-scripts
-install-scripts:
+install-scripts: build
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	    do \
@@ -81,3 +97,4 @@ clean: subdirs-clean
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/hotplug/NetBSD/Makefile b/tools/hotplug/NetBSD/Makefile
index 1cd3db2ccb..8ae788131e 100644
--- a/tools/hotplug/NetBSD/Makefile
+++ b/tools/hotplug/NetBSD/Makefile
@@ -12,9 +12,17 @@ XEN_SCRIPTS += qemu-ifup
 XEN_SCRIPT_DATA :=
 XEN_RCD_PROG := rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain
 
+IN_TARGETS := rc.d/xencommons
+IN_TARGETS += rc.d/xendriverdomain
+
 .PHONY: all
 all:
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
+
 .PHONY: install
 install: install-scripts install-rcd
 
@@ -22,7 +30,7 @@ install: install-scripts install-rcd
 uninstall: uninstall-scripts uninstall-rcd
 
 .PHONY: install-scripts
-install-scripts:
+install-scripts: build
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	   do \
@@ -39,7 +47,7 @@ uninstall-scripts:
 	rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA))
 
 .PHONY: install-rcd
-install-rcd:
+install-rcd: build
 	$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	set -e; for i in $(XEN_RCD_PROG); \
 	   do \
@@ -57,3 +65,4 @@ clean:
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/hotplug/common/Makefile b/tools/hotplug/common/Makefile
index 62afe1019e..3b0b5a0296 100644
--- a/tools/hotplug/common/Makefile
+++ b/tools/hotplug/common/Makefile
@@ -7,8 +7,15 @@ include $(XEN_ROOT)/tools/Rules.mk
 XEN_SCRIPTS :=
 XEN_SCRIPT_DATA := hotplugpath.sh
 
+IN_TARGETS := hotplugpath.sh
+
 .PHONY: all
-all:
+all: build
+
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
 
 .PHONY: install
 install: install-scripts
@@ -38,3 +45,4 @@ clean:
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/ocaml/libs/xs/Makefile b/tools/ocaml/libs/xs/Makefile
index e160e6a711..b0963611fb 100644
--- a/tools/ocaml/libs/xs/Makefile
+++ b/tools/ocaml/libs/xs/Makefile
@@ -8,6 +8,8 @@ OCAMLOPTFLAGS += -for-pack Xenstore
 .NOTPARALLEL:
 # Ocaml is such a PITA!
 
+IN_TARGETS := paths.ml
+
 PREINTF = xsraw.cmi xst.cmi
 PREOBJS = queueop xsraw xst
 PRELIBS = $(foreach obj, $(PREOBJS),$(obj).cmo) $(foreach obj,$(PREOJBS),$(obj).cmx)
@@ -17,6 +19,10 @@ LIBS = xenstore.cma xenstore.cmxa
 
 all: $(PREINTF) $(PRELIBS) $(INTF) $(LIBS) $(PROGRAMS)
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+$(OBJS): $(IN_TARGETS)
+
 bins: $(PROGRAMS)
 
 libs: $(LIBS)
@@ -43,4 +49,7 @@ install: $(LIBS) META
 uninstall:
 	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstore
 
+.PHONY: distclean
+	$(RM) $(IN_TARGETS)
+
 include $(OCAML_TOPLEVEL)/Makefile.rules
diff --git a/tools/ocaml/xenstored/Makefile b/tools/ocaml/xenstored/Makefile
index c333394a34..b3d1a8b8de 100644
--- a/tools/ocaml/xenstored/Makefile
+++ b/tools/ocaml/xenstored/Makefile
@@ -72,6 +72,9 @@ XENSTOREDLIBS = \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xsd_glue $(OCAML_TOPLEVEL)/libs/xsd_glue/plugin_interface_v1.cmxa \
 	-ccopt -L -ccopt $(XEN_ROOT)/tools/libs/ctrl
 
+IN_TARGETS := paths.ml
+IN_TARGETS += oxenstored.conf
+
 PROGRAMS = oxenstored
 
 oxenstored_LIBS = $(XENSTOREDLIBS)
@@ -83,7 +86,9 @@ oxenstored_OBJS = $(oxenstored_MLSORTED:.ml=)
 
 OCAML_PROGRAM = oxenstored
 
-all: $(INTF) $(LIBS) $(PROGRAMS)
+all: $(IN_TARGETS) $(INTF) $(LIBS) $(PROGRAMS)
+
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
 
 bins: $(PROGRAMS)
 
@@ -99,4 +104,7 @@ uninstall:
 	rm -f $(DESTDIR)$(XEN_CONFIG_DIR)/oxenstored.conf
 	rm -f $(DESTDIR)$(sbindir)/oxenstored
 
+distclean:
+	$(RM) $(IN_TARGETS)
+
 include $(OCAML_TOPLEVEL)/Makefile.rules
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 18:33:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 18:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169421.1495133 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVwN-0000SX-WE; Fri, 21 Nov 2025 18:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169421.1495133; Fri, 21 Nov 2025 18:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vMVwN-0000SP-TP; Fri, 21 Nov 2025 18:33:03 +0000
Received: by outflank-mailman (input) for mailman id 1169421;
 Fri, 21 Nov 2025 18:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVwM-0000SJ-7U
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 18:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwL-0015bN-2o
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwL-00GmeH-2A
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=BVffU6GYBIAPWCgMI1O8jwDVL/mN5Gi+k+w3EfXt7WY=; b=RBqkTteqiXZQuTgqmtBzg48gZk
	Vw5D4tGdZpBri5n4cDp/9q0V66aXngOdfU+HXT/C88nF7psywubG4m0hjMOCBSnZWCMJH0Oa16lkW
	3h9O6ggyiBPxS7v8CKSnlnlUXdFEGj0VXU0uijCXLj6WluNd62rtrhKTh68V+ZPcrjcI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] build: add make macro for making file from file.in
Message-Id: <E1vMVwL-00GmeH-2A@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 18:33:01 +0000

commit 82b9cc04a7c77cf7a56b66eca322cce97840e456
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:29 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    build: add make macro for making file from file.in
    
    Add a new make macro for creating <file> from <file>.in at build
    time. To be used like this:
    
    $(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
    
    This can be used instead of the current approach to perform the similar
    step for file.in during ./configure.
    
    This will avoid having to run ./configure just because of modifying a
    file depending on a variable set by configure.
    
    Prepare to have multiple files as source for the replacement patterns.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 Config.mk | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Config.mk b/Config.mk
index e1556dfbfa..dbb8bb4de7 100644
--- a/Config.mk
+++ b/Config.mk
@@ -159,6 +159,19 @@ define move-if-changed
 	if ! cmp -s $(1) $(2); then mv -f $(1) $(2); else rm -f $(1); fi
 endef
 
+PATH_FILES := Paths.mk
+INC_FILES = $(foreach f, $(PATH_FILES), $(XEN_ROOT)/config/$(f))
+
+-include $(INC_FILES)
+
+BUILD_MAKE_VARS = $(foreach f, $(PATH_FILES), $(shell awk '$$2 == ":=" { print $$1; }' $(XEN_ROOT)/config/$(f).in))
+
+# Replace @xxx@ markers in $(1).in with $(xxx) variable contents, write to $(1)
+define apply-build-vars
+ $(1): $(1).in $$(INC_FILES)
+	sed $$(foreach v, $$(BUILD_MAKE_VARS), -e 's#@$$(v)@#$$($$(v))#g') <$$< >$$@
+endef
+
 CFLAGS += -fno-strict-aliasing
 
 CFLAGS += -std=gnu99
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 18:33:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 18:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169423.1495136 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVwY-0000VF-39; Fri, 21 Nov 2025 18:33:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169423.1495136; Fri, 21 Nov 2025 18:33:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVwY-0000V7-0M; Fri, 21 Nov 2025 18:33:14 +0000
Received: by outflank-mailman (input) for mailman id 1169423;
 Fri, 21 Nov 2025 18:33:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVwW-0000Ur-3K
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 18:33:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwV-0015bR-36
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwV-00GmfD-2z
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=0EmJZQPxA5nIfP9dsbzzgUDeIMUDw6q0LxhW+WWuUd0=; b=jhNI8NjVxfvLhvpoVUpnsdM3Bw
	SS/UYU+PClxWFQ3iRI5h+4unLjJigW7GzUA7Lj2huv7nNIS7Bs/V1JghlK35DwIY2CWRlUWL39mWV
	y1cWkoCQG0z4TbqPxbIqBGsY3V8RspEvVRxrHpl7xPMIRNx86VGL0caUeVC8OEkevbaQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] docs: replace @xxx@ markers at build time
Message-Id: <E1vMVwV-00GmfD-2z@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 18:33:11 +0000

commit 5fe0b99d7b24f129d935f1b1aae98358563f8992
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:30 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    docs: replace @xxx@ markers at build time
    
    Use the apply-build-vars make macro to replace the @xxx@ markers in
    *.in files only at build time.
    
    This allows to change the affected document files without having to
    run "configure" for making the change effective.
    
    While at it add the generated files to the distclean make target.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 docs/Makefile     | 11 ++++++++++-
 docs/configure    |  7 +------
 docs/configure.ac |  9 +--------
 3 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/docs/Makefile b/docs/Makefile
index 37776d303c..8e68300e3b 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -8,8 +8,14 @@ DATE		:= $(call date,"+%Y-%m-%d")
 DOC_ARCHES      := arm ppc riscv x86_32 x86_64
 MAN_SECTIONS    := 1 5 7 8
 
+IN_TARGETS := man/xl-disk-configuration.5.pod
+IN_TARGETS += man/xl-network-configuration.5.pod
+IN_TARGETS += man/xl.1.pod
+IN_TARGETS += man/xl.cfg.5.pod
+IN_TARGETS += man/xl.conf.5.pod
+
 # Documentation sources to build
-MAN-SRC-y := $(sort $(basename $(wildcard man/*.pod man/*.pandoc)))
+MAN-SRC-y := $(sort $(basename $(wildcard man/*.pod man/*.pandoc) $(IN_TARGETS)))
 
 RST-SRC-y := $(sort $(filter-out %index.rst,$(shell find * -type f -name '*.rst' -print)))
 
@@ -77,11 +83,14 @@ clean: clean-man-pages
 distclean: clean
 	rm -rf $(XEN_ROOT)/config/Docs.mk config.log config.status config.cache \
 		autom4te.cache
+	$(RM) $(IN_TARGETS)
 
 # Top level install targets
 
 .PHONY: man-pages install-man-pages clean-man-pages uninstall-man-pages
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
 # Metarules for generating manpages.  Run with $(1) substitued for section
 define GENERATE_MANPAGE_RULES
 
diff --git a/docs/configure b/docs/configure
index 98dda3cd0f..8871914dcb 100755
--- a/docs/configure
+++ b/docs/configure
@@ -1794,7 +1794,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_files="$ac_config_files ../config/Docs.mk man/xl.cfg.5.pod man/xl.1.pod man/xl-disk-configuration.5.pod man/xl-network-configuration.5.pod man/xl.conf.5.pod"
+ac_config_files="$ac_config_files ../config/Docs.mk"
 
 
 
@@ -3063,11 +3063,6 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "../config/Docs.mk") CONFIG_FILES="$CONFIG_FILES ../config/Docs.mk" ;;
-    "man/xl.cfg.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl.cfg.5.pod" ;;
-    "man/xl.1.pod") CONFIG_FILES="$CONFIG_FILES man/xl.1.pod" ;;
-    "man/xl-disk-configuration.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl-disk-configuration.5.pod" ;;
-    "man/xl-network-configuration.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl-network-configuration.5.pod" ;;
-    "man/xl.conf.5.pod") CONFIG_FILES="$CONFIG_FILES man/xl.conf.5.pod" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
diff --git a/docs/configure.ac b/docs/configure.ac
index c2e5edd3b3..43dc516056 100644
--- a/docs/configure.ac
+++ b/docs/configure.ac
@@ -5,14 +5,7 @@ AC_PREREQ([2.67])
 AC_INIT([Xen Hypervisor Documentation], m4_esyscmd([../version.sh ../xen/Makefile]),
     [xen-devel@lists.xen.org], [xen], [https://www.xen.org/])
 AC_CONFIG_SRCDIR([misc/xen-command-line.pandoc])
-AC_CONFIG_FILES([
-../config/Docs.mk
-man/xl.cfg.5.pod
-man/xl.1.pod
-man/xl-disk-configuration.5.pod
-man/xl-network-configuration.5.pod
-man/xl.conf.5.pod
-])
+AC_CONFIG_FILES([../config/Docs.mk])
 AC_CONFIG_AUX_DIR([../])
 
 # M4 Macro includes
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 18:33:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 18:33:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169424.1495140 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVwi-0000XV-46; Fri, 21 Nov 2025 18:33:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169424.1495140; Fri, 21 Nov 2025 18:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vMVwi-0000XN-1c; Fri, 21 Nov 2025 18:33:24 +0000
Received: by outflank-mailman (input) for mailman id 1169424;
 Fri, 21 Nov 2025 18:33:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVwg-0000XH-4R
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 18:33:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwg-0015bV-0L
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwg-00Gmfw-03
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=XTym93iFoV++rnduhwlxVx0egoiS38zT/OJtHGdIP6g=; b=frjIhEHapI//DJ6UeS1I7gd68d
	STYC9poYQxBbP7Z1zKF0GwljWHAPx6/DFKd5D/4vnA/Teii1aUlRdnFpbcCGo8vngNPpmU6t5Yfax
	xlLw7AMYbBEjgDHT6/bCB815u3AOXOW7jy+CQ+cu86/8rqtAnzFZVF8+OYCAAcyzCEvc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] config: remove unused paths from config/Paths.mk.in
Message-Id: <E1vMVwg-00Gmfw-03@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 18:33:22 +0000

commit 66da3b35076cc497e7576776f4d2b69a473b5f95
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:31 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    config: remove unused paths from config/Paths.mk.in
    
    Some paths in config/Paths.mk.in are used nowhere, so remove them.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 config/Paths.mk.in | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/config/Paths.mk.in b/config/Paths.mk.in
index bc42748b7a..6aa392b9f2 100644
--- a/config/Paths.mk.in
+++ b/config/Paths.mk.in
@@ -20,10 +20,6 @@ libexecdir               := @libexecdir@
 datarootdir              := @datarootdir@
 mandir                   := @mandir@
 docdir                   := @docdir@
-dvidir                   := @dvidir@
-htmldir                  := @htmldir@
-pdfdir                   := @pdfdir@
-psdir                    := @psdir@
 includedir               := @includedir@
 localstatedir            := @localstatedir@
 sysconfdir               := @sysconfdir@
@@ -34,8 +30,6 @@ LIBEXEC_LIB              := @LIBEXEC_LIB@
 LIBEXEC_INC              := @LIBEXEC_INC@
 
 SHAREDIR                 := @SHAREDIR@
-MAN1DIR                  := $(mandir)/man1
-MAN8DIR                  := $(mandir)/man8
 
 XEN_RUN_DIR              := @XEN_RUN_DIR@
 XEN_LOG_DIR              := @XEN_LOG_DIR@
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Fri Nov 21 18:33:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Nov 2025 18:33:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1169425.1495144 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVws-0000Zs-5a; Fri, 21 Nov 2025 18:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1169425.1495144; Fri, 21 Nov 2025 18:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vMVws-0000Zg-2x; Fri, 21 Nov 2025 18:33:34 +0000
Received: by outflank-mailman (input) for mailman id 1169425;
 Fri, 21 Nov 2025 18:33:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vMVwq-0000ZQ-BZ
 for xen-changelog@lists.xenproject.org; Fri, 21 Nov 2025 18:33:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwq-0015dy-0s
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vMVwq-00Gmh4-0Z
 for xen-changelog@lists.xenproject.org;
 Fri, 21 Nov 2025 18:33:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=NMK/oLt2JnsFYSKZDLtTzruA8g7+Es9rSH2drxwpIng=; b=vSYtyIXZCjsJmH6cvaQrPCEsQP
	oT28aCsi7jHEPCE654mNK4+1JDN1kCqYYPq7Z2/WliyJqcHU69V0mZet16xsyIT0LCt94dDoiaG3O
	GRM2K1oeTP6IWwqxhc8VHLdJWLAslvvG9oSvLSj1SWYtXWpm3Eh2PdbAndoKy8in44ew=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] tools: replace @xxx@ markers at build time
Message-Id: <E1vMVwq-00Gmh4-0Z@xenbits.xenproject.org>
Date: Fri, 21 Nov 2025 18:33:32 +0000

commit bc23a49d13a30de06a961dfaccc4a19262fe9967
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Fri Nov 21 14:23:32 2025 +0100
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Fri Nov 21 15:51:49 2025 +0000

    tools: replace @xxx@ markers at build time
    
    Use the apply-build-vars make macro to replace the @xxx@ markers in
    most *.in files only at build time.
    
    As some of the markers are local to tools/configure, introduce
    config/Tools-paths.mk.in and add the related make variables to it.
    Add Tools-paths to the PATH_FILES make variable in order to include
    the definitions for replacing them in the *.in files.
    
    Add the generated files to the distclean target.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 .gitignore                     |  1 +
 config/Tools-paths.mk.in       | 10 ++++++++++
 tools/Rules.mk                 |  4 ++++
 tools/configure                | 21 ++-------------------
 tools/configure.ac             | 19 +------------------
 tools/hotplug/FreeBSD/Makefile | 13 +++++++++++--
 tools/hotplug/Linux/Makefile   | 21 +++++++++++++++++++--
 tools/hotplug/NetBSD/Makefile  | 13 +++++++++++--
 tools/hotplug/common/Makefile  | 10 +++++++++-
 tools/ocaml/libs/xs/Makefile   |  9 +++++++++
 tools/ocaml/xenstored/Makefile | 10 +++++++++-
 11 files changed, 86 insertions(+), 45 deletions(-)

diff --git a/.gitignore b/.gitignore
index d83427aba8..57d54f676f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,6 +47,7 @@ config.status
 config.cache
 config/Toplevel.mk
 config/Paths.mk
+config/Tools-paths.mk
 
 dist/*
 extras/
diff --git a/config/Tools-paths.mk.in b/config/Tools-paths.mk.in
new file mode 100644
index 0000000000..ac6298e761
--- /dev/null
+++ b/config/Tools-paths.mk.in
@@ -0,0 +1,10 @@
+-include $(XEN_ROOT)/config/Paths.mk
+
+XENSTORED                := @XENSTORED@
+XENSTORED_KVA            := @XENSTORED_KVA@
+XENSTORED_PORT           := @XENSTORED_PORT@
+XEN_RUN_STORED           := @XEN_RUN_STORED@
+
+LINUX_BACKEND_MODULES    := @LINUX_BACKEND_MODULES@
+
+qemu_xen_path            := @qemu_xen_path@
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 725c3c32e9..d9b9c740e9 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -11,6 +11,10 @@ XEN_FULLVERSION=$(shell env \
     XEN_VENDORVERSION=$(XEN_VENDORVERSION) \
     $(SHELL) $(XEN_ROOT)/version.sh --full $(XEN_ROOT)/xen/Makefile)
 
+PATH_FILES += Tools-paths.mk
+
+-include $(XEN_ROOT)/config/Tools-paths.mk
+
 export _INSTALL := $(INSTALL)
 INSTALL = $(XEN_ROOT)/tools/cross-install
 
diff --git a/tools/configure b/tools/configure
index 3111f5688c..479c7c9a3c 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2742,7 +2742,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_files="$ac_config_files ../config/Tools.mk hotplug/common/hotplugpath.sh hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/libs/xs/paths.ml ocaml/xenstored/paths.ml ocaml/xenstored/oxenstored.conf"
+ac_config_files="$ac_config_files ../config/Tools.mk ../config/Tools-paths.mk"
 
 ac_config_headers="$ac_config_headers config.h"
 
@@ -11268,24 +11268,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "../config/Tools.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools.mk" ;;
-    "hotplug/common/hotplugpath.sh") CONFIG_FILES="$CONFIG_FILES hotplug/common/hotplugpath.sh" ;;
-    "hotplug/FreeBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xencommons" ;;
-    "hotplug/FreeBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xendriverdomain" ;;
-    "hotplug/Linux/init.d/sysconfig.xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xencommons" ;;
-    "hotplug/Linux/init.d/sysconfig.xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xendomains" ;;
-    "hotplug/Linux/init.d/xen-watchdog") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xen-watchdog" ;;
-    "hotplug/Linux/init.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xencommons" ;;
-    "hotplug/Linux/init.d/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendomains" ;;
-    "hotplug/Linux/init.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendriverdomain" ;;
-    "hotplug/Linux/launch-xenstore") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/launch-xenstore" ;;
-    "hotplug/Linux/vif-setup") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/vif-setup" ;;
-    "hotplug/Linux/xen-hotplug-common.sh") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xen-hotplug-common.sh" ;;
-    "hotplug/Linux/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xendomains" ;;
-    "hotplug/NetBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xencommons" ;;
-    "hotplug/NetBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xendriverdomain" ;;
-    "ocaml/libs/xs/paths.ml") CONFIG_FILES="$CONFIG_FILES ocaml/libs/xs/paths.ml" ;;
-    "ocaml/xenstored/paths.ml") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/paths.ml" ;;
-    "ocaml/xenstored/oxenstored.conf") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/oxenstored.conf" ;;
+    "../config/Tools-paths.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools-paths.mk" ;;
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     "hotplug/Linux/systemd/proc-xen.mount") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/proc-xen.mount" ;;
     "hotplug/Linux/systemd/xen-init-dom0.service") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/xen-init-dom0.service" ;;
diff --git a/tools/configure.ac b/tools/configure.ac
index 285b4ea128..ecd45e782e 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -7,24 +7,7 @@ AC_INIT([Xen Hypervisor Tools], m4_esyscmd([../version.sh ../xen/Makefile]),
 AC_CONFIG_SRCDIR([libs/light/libxl.c])
 AC_CONFIG_FILES([
 ../config/Tools.mk
-hotplug/common/hotplugpath.sh
-hotplug/FreeBSD/rc.d/xencommons
-hotplug/FreeBSD/rc.d/xendriverdomain
-hotplug/Linux/init.d/sysconfig.xencommons
-hotplug/Linux/init.d/sysconfig.xendomains
-hotplug/Linux/init.d/xen-watchdog
-hotplug/Linux/init.d/xencommons
-hotplug/Linux/init.d/xendomains
-hotplug/Linux/init.d/xendriverdomain
-hotplug/Linux/launch-xenstore
-hotplug/Linux/vif-setup
-hotplug/Linux/xen-hotplug-common.sh
-hotplug/Linux/xendomains
-hotplug/NetBSD/rc.d/xencommons
-hotplug/NetBSD/rc.d/xendriverdomain
-ocaml/libs/xs/paths.ml
-ocaml/xenstored/paths.ml
-ocaml/xenstored/oxenstored.conf
+../config/Tools-paths.mk
 ])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([../])
diff --git a/tools/hotplug/FreeBSD/Makefile b/tools/hotplug/FreeBSD/Makefile
index a6552c9884..a7c1c461ef 100644
--- a/tools/hotplug/FreeBSD/Makefile
+++ b/tools/hotplug/FreeBSD/Makefile
@@ -8,9 +8,17 @@ XEN_SCRIPT_DATA :=
 
 XEN_RCD_PROG := rc.d/xencommons rc.d/xendriverdomain
 
+IN_TARGETS := rc.d/xencommons
+IN_TARGETS += rc.d/xendriverdomain
+
 .PHONY: all
 all:
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
+
 .PHONY: install
 install: install-scripts install-rcd
 
@@ -18,7 +26,7 @@ install: install-scripts install-rcd
 uninstall: uninstall-script uninstall-rcd
 
 .PHONY: install-scripts
-install-scripts:
+install-scripts: build
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	   do \
@@ -35,7 +43,7 @@ uninstall-scripts:
 	rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA))
 
 .PHONY: install-rcd
-install-rcd:
+install-rcd: build
 	$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	set -e; for i in $(XEN_RCD_PROG); \
 	   do \
@@ -51,3 +59,4 @@ clean:
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index 9a7b3a3515..b60e39e1cd 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -26,9 +26,25 @@ XEN_SCRIPT_DATA := xen-script-common.sh locking.sh logging.sh
 XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
 XEN_SCRIPT_DATA += block-common.sh
 
+IN_TARGETS := launch-xenstore
+IN_TARGETS += vif-setup
+IN_TARGETS += xendomains
+IN_TARGETS += xen-hotplug-common.sh
+IN_TARGETS += init.d/sysconfig.xendomains
+IN_TARGETS += init.d/xen-watchdog
+IN_TARGETS += init.d/xencommons
+IN_TARGETS += init.d/xendomains
+IN_TARGETS += init.d/xendriverdomain
+IN_TARGETS += init.d/sysconfig.xencommons
+
 .PHONY: all
 all: subdirs-all
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
+
 .PHONY: install
 install: install-initd install-scripts subdirs-install
 
@@ -37,7 +53,7 @@ uninstall: uninstall-initd uninstall-scripts subdirs-uninstall
 
 # See docs/misc/distro_mapping.txt for INITD_DIR location
 .PHONY: install-initd
-install-initd:
+install-initd: build
 	$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
@@ -60,7 +76,7 @@ uninstall-initd:
 	rm -f $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
 
 .PHONY: install-scripts
-install-scripts:
+install-scripts: build
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	    do \
@@ -81,3 +97,4 @@ clean: subdirs-clean
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/hotplug/NetBSD/Makefile b/tools/hotplug/NetBSD/Makefile
index 1cd3db2ccb..8ae788131e 100644
--- a/tools/hotplug/NetBSD/Makefile
+++ b/tools/hotplug/NetBSD/Makefile
@@ -12,9 +12,17 @@ XEN_SCRIPTS += qemu-ifup
 XEN_SCRIPT_DATA :=
 XEN_RCD_PROG := rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain
 
+IN_TARGETS := rc.d/xencommons
+IN_TARGETS += rc.d/xendriverdomain
+
 .PHONY: all
 all:
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
+
 .PHONY: install
 install: install-scripts install-rcd
 
@@ -22,7 +30,7 @@ install: install-scripts install-rcd
 uninstall: uninstall-scripts uninstall-rcd
 
 .PHONY: install-scripts
-install-scripts:
+install-scripts: build
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
 	set -e; for i in $(XEN_SCRIPTS); \
 	   do \
@@ -39,7 +47,7 @@ uninstall-scripts:
 	rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA))
 
 .PHONY: install-rcd
-install-rcd:
+install-rcd: build
 	$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	set -e; for i in $(XEN_RCD_PROG); \
 	   do \
@@ -57,3 +65,4 @@ clean:
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/hotplug/common/Makefile b/tools/hotplug/common/Makefile
index 62afe1019e..3b0b5a0296 100644
--- a/tools/hotplug/common/Makefile
+++ b/tools/hotplug/common/Makefile
@@ -7,8 +7,15 @@ include $(XEN_ROOT)/tools/Rules.mk
 XEN_SCRIPTS :=
 XEN_SCRIPT_DATA := hotplugpath.sh
 
+IN_TARGETS := hotplugpath.sh
+
 .PHONY: all
-all:
+all: build
+
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+.PHONY: build
+build: $(IN_TARGETS)
 
 .PHONY: install
 install: install-scripts
@@ -38,3 +45,4 @@ clean:
 
 .PHONY: distclean
 distclean: clean
+	$(RM) $(IN_TARGETS)
diff --git a/tools/ocaml/libs/xs/Makefile b/tools/ocaml/libs/xs/Makefile
index e160e6a711..b0963611fb 100644
--- a/tools/ocaml/libs/xs/Makefile
+++ b/tools/ocaml/libs/xs/Makefile
@@ -8,6 +8,8 @@ OCAMLOPTFLAGS += -for-pack Xenstore
 .NOTPARALLEL:
 # Ocaml is such a PITA!
 
+IN_TARGETS := paths.ml
+
 PREINTF = xsraw.cmi xst.cmi
 PREOBJS = queueop xsraw xst
 PRELIBS = $(foreach obj, $(PREOBJS),$(obj).cmo) $(foreach obj,$(PREOJBS),$(obj).cmx)
@@ -17,6 +19,10 @@ LIBS = xenstore.cma xenstore.cmxa
 
 all: $(PREINTF) $(PRELIBS) $(INTF) $(LIBS) $(PROGRAMS)
 
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
+
+$(OBJS): $(IN_TARGETS)
+
 bins: $(PROGRAMS)
 
 libs: $(LIBS)
@@ -43,4 +49,7 @@ install: $(LIBS) META
 uninstall:
 	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstore
 
+.PHONY: distclean
+	$(RM) $(IN_TARGETS)
+
 include $(OCAML_TOPLEVEL)/Makefile.rules
diff --git a/tools/ocaml/xenstored/Makefile b/tools/ocaml/xenstored/Makefile
index c333394a34..b3d1a8b8de 100644
--- a/tools/ocaml/xenstored/Makefile
+++ b/tools/ocaml/xenstored/Makefile
@@ -72,6 +72,9 @@ XENSTOREDLIBS = \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xsd_glue $(OCAML_TOPLEVEL)/libs/xsd_glue/plugin_interface_v1.cmxa \
 	-ccopt -L -ccopt $(XEN_ROOT)/tools/libs/ctrl
 
+IN_TARGETS := paths.ml
+IN_TARGETS += oxenstored.conf
+
 PROGRAMS = oxenstored
 
 oxenstored_LIBS = $(XENSTOREDLIBS)
@@ -83,7 +86,9 @@ oxenstored_OBJS = $(oxenstored_MLSORTED:.ml=)
 
 OCAML_PROGRAM = oxenstored
 
-all: $(INTF) $(LIBS) $(PROGRAMS)
+all: $(IN_TARGETS) $(INTF) $(LIBS) $(PROGRAMS)
+
+$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
 
 bins: $(PROGRAMS)
 
@@ -99,4 +104,7 @@ uninstall:
 	rm -f $(DESTDIR)$(XEN_CONFIG_DIR)/oxenstored.conf
 	rm -f $(DESTDIR)$(sbindir)/oxenstored
 
+distclean:
+	$(RM) $(IN_TARGETS)
+
 include $(OCAML_TOPLEVEL)/Makefile.rules
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 11:44:11 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 11:44:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170388.1495439 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNUzE-00033O-Lj; Mon, 24 Nov 2025 11:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170388.1495439; Mon, 24 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vNUzE-00033G-Iq; Mon, 24 Nov 2025 11:44:04 +0000
Received: by outflank-mailman (input) for mailman id 1170388;
 Mon, 24 Nov 2025 11:44:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNUzD-00033A-Pz
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 11:44:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzC-0062BC-1t
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzC-007i1c-1h
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=kxtSDfwRrZ373vqFAPUEE4CzaDmBy5+C66fiWm8BIRY=; b=ImIvnmXSZBZ6ccZAPH9EEQBsvQ
	9wRWgjI3RAmTcm6YQa+Wtaim5UcP+VZElDFqoU8KokPdf4qN6e0fxKxpcMmEG5fFec85Yfk5k7MC5
	Jp31hfg5bezA0AkOVc2RmWOqqJCrBkZFqY4uJ/57EypHCPassU7mwhXCeVB8iScNfuP0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/guest: move allocation of Xen upcall vector to init code
Message-Id: <E1vNUzC-007i1c-1h@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 11:44:02 +0000

commit 731c47684ff7de39405c2ed3affc5f043225e543
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 24 11:25:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:25:08 2025 +0100

    x86/guest: move allocation of Xen upcall vector to init code
    
    There's no need to do this every time init_evtchn() is called. Just do it
    once when setting up CPU0. Drop the assertion as well, as
    alloc_hipriority_vector() (called by alloc_direct_apic_vector()) uses more
    restrictive BUG_ON() anyway. Then evtchn_upcall_vector can also validly
    become ro-after-init, just that it needs to move out of init_evtchn().
    
    While touching the function, add a comment why other seemingly-BSP code
    can't move out of there (into e.g. an __init one).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/guest/xen/xen.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
index 5c9f393c75..77a3a8742a 100644
--- a/xen/arch/x86/guest/xen/xen.c
+++ b/xen/arch/x86/guest/xen/xen.c
@@ -233,16 +233,12 @@ static void cf_check xen_evtchn_upcall(void)
     ack_APIC_irq();
 }
 
+static uint8_t __ro_after_init evtchn_upcall_vector;
+
 static int init_evtchn(void)
 {
-    static uint8_t evtchn_upcall_vector;
     int rc;
 
-    if ( !evtchn_upcall_vector )
-        alloc_direct_apic_vector(&evtchn_upcall_vector, xen_evtchn_upcall);
-
-    ASSERT(evtchn_upcall_vector);
-
     rc = xen_hypercall_set_evtchn_upcall_vector(this_cpu(vcpu_id),
                                                 evtchn_upcall_vector);
     if ( rc )
@@ -251,6 +247,10 @@ static int init_evtchn(void)
         return rc;
     }
 
+    /*
+     * HVM_PARAM_CALLBACK_IRQ is not moved on migrate, so has to be set up
+     * again on resume.
+     */
     if ( smp_processor_id() == 0 )
     {
         struct xen_hvm_param a = {
@@ -293,6 +293,8 @@ static void __init cf_check setup(void)
                XEN_LEGACY_MAX_VCPUS);
     }
 
+    alloc_direct_apic_vector(&evtchn_upcall_vector, xen_evtchn_upcall);
+
     BUG_ON(init_evtchn());
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 11:44:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 11:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170389.1495443 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNUzN-00034n-N1; Mon, 24 Nov 2025 11:44:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170389.1495443; Mon, 24 Nov 2025 11:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vNUzN-00034g-KD; Mon, 24 Nov 2025 11:44:13 +0000
Received: by outflank-mailman (input) for mailman id 1170389;
 Mon, 24 Nov 2025 11:44:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNUzM-00034W-O4
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 11:44:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzM-0062BJ-2G
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzM-007i4A-26
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=+AwyAQhxsaoscHlYtVK7L3RRHciTaBHYbfcpUppW1bg=; b=ptf1875u0Tl+Z+3kxO9g2/Mb1m
	aYN9czLy8Kcg3toZsjNXaw+S57i6PAC9IQq14uDtOuZzYhjoHA7tGMP5CcQxG7+tlG3Xgx4R4tgvL
	lH5FX6uJQx/Zfgo3GAj9lmMsO1EN95ig7jbeurZatbb6AEg+vgovI5NI2LCFnltrJC0k=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86: make Viridian support optional
Message-Id: <E1vNUzM-007i4A-26@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 11:44:12 +0000

commit 43c1c49b006c1a280118083a9a7a538e1272fff4
Author:     Sergiy Kibrik <Sergiy_Kibrik@epam.com>
AuthorDate: Mon Nov 24 11:27:10 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:27:10 2025 +0100

    x86: make Viridian support optional
    
    Add config option VIRIDIAN that covers viridian code within HVM.
    Calls to viridian functions guarded by is_viridian_domain() and related macros.
    Having this option may be beneficial by reducing code footprint for systems
    that are not using Hyper-V.
    
    [grygorii_strashko@epam.com: fixed NULL pointer deref in
    viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
    Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/Kconfig                | 10 ++++++++++
 xen/arch/x86/hvm/Makefile               |  2 +-
 xen/arch/x86/hvm/hvm.c                  |  5 +++--
 xen/arch/x86/hvm/viridian/viridian.c    |  8 ++++----
 xen/arch/x86/hvm/vlapic.c               | 11 +++++++----
 xen/arch/x86/include/asm/hvm/domain.h   |  2 ++
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 ++-
 xen/arch/x86/include/asm/hvm/vcpu.h     |  2 ++
 xen/arch/x86/include/asm/hvm/viridian.h | 15 +++++++++++++++
 9 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index c323d767e7..c1a131d185 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -63,6 +63,16 @@ config ALTP2M
 
 	  If unsure, stay with defaults.
 
+config VIRIDIAN
+	bool "Hyper-V enlightenments for guests" if EXPERT
+	default y
+	help
+	  Support optimizations for Hyper-V guests such as hypercalls, efficient
+	  timers and interrupt handling. This is to improve performance and
+	  compatibility of Windows VMs.
+
+	  If unsure, say Y.
+
 config MEM_PAGING
 	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
 	depends on VM_EVENT
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 6ec2c8f2db..1b97bdc624 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -1,6 +1,6 @@
 obj-$(CONFIG_AMD_SVM) += svm/
+obj-$(CONFIG_VIRIDIAN) += viridian/
 obj-$(CONFIG_INTEL_VMX) += vmx/
-obj-y += viridian/
 
 obj-y += asid.o
 obj-y += dm.o
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 4a8e339f97..d7acc16cb3 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4231,8 +4231,9 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
             rc = -EINVAL;
         break;
     case HVM_PARAM_VIRIDIAN:
-        if ( (value & ~HVMPV_feature_mask) ||
-             !(value & HVMPV_base_freq) )
+        if ( !IS_ENABLED(CONFIG_VIRIDIAN) )
+            rc = -ENODEV;
+        else if ( (value & ~HVMPV_feature_mask) || !(value & HVMPV_base_freq) )
             rc = -EINVAL;
         break;
     case HVM_PARAM_IDENT_PT:
diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
index f79cffcb37..90e749ceb5 100644
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -1097,14 +1097,14 @@ static int cf_check viridian_save_domain_ctxt(
 {
     const struct domain *d = v->domain;
     const struct viridian_domain *vd = d->arch.hvm.viridian;
-    struct hvm_viridian_domain_context ctxt = {
-        .hypercall_gpa = vd->hypercall_gpa.raw,
-        .guest_os_id = vd->guest_os_id.raw,
-    };
+    struct hvm_viridian_domain_context ctxt = {};
 
     if ( !is_viridian_domain(d) )
         return 0;
 
+    ctxt.hypercall_gpa = vd->hypercall_gpa.raw;
+    ctxt.guest_os_id = vd->guest_os_id.raw,
+
     viridian_time_save_domain_ctxt(d, &ctxt);
     viridian_synic_save_domain_ctxt(d, &ctxt);
 
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 993e972cd7..79697487ba 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -426,7 +426,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * priority vector and then recurse to handle the lower priority
      * vector.
      */
-    bool missed_eoi = viridian_apic_assist_completed(v);
+    bool missed_eoi = has_viridian_apic_assist(v->domain) &&
+                      viridian_apic_assist_completed(v);
     int vector;
 
  again:
@@ -442,7 +443,7 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * NOTE: It is harmless to call viridian_apic_assist_clear() on a
      *       recursion, even though it is not necessary.
      */
-    if ( !missed_eoi )
+    if ( has_viridian_apic_assist(v->domain) && !missed_eoi )
         viridian_apic_assist_clear(v);
 
     vlapic_clear_vector(vector, &vlapic->regs->data[APIC_ISR]);
@@ -1360,7 +1361,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
      * If so, we need to emulate the EOI here before comparing ISR
      * with IRR.
      */
-    if ( viridian_apic_assist_completed(v) )
+    if ( has_viridian_apic_assist(v->domain) &&
+         viridian_apic_assist_completed(v) )
         vlapic_EOI_set(vlapic);
 
     isr = vlapic_find_highest_isr(vlapic);
@@ -1373,7 +1375,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( isr >= 0 &&
          (irr & 0xf0) <= (isr & 0xf0) )
     {
-        viridian_apic_assist_clear(v);
+        if ( has_viridian_apic_assist(v->domain) )
+            viridian_apic_assist_clear(v);
         return -1;
     }
 
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 94d19730b2..83be2bd1c2 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -105,7 +105,9 @@ struct hvm_domain {
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
 
+#ifdef CONFIG_VIRIDIAN
     struct viridian_domain *viridian;
+#endif
 
     /*
      * TSC value that VCPUs use to calculate their tsc_offset value.
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 56ad63dc57..7412256a2d 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -512,7 +512,8 @@ hvm_get_cpl(struct vcpu *v)
     (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
 
 #define is_viridian_domain(d) \
-    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
+    (IS_ENABLED(CONFIG_VIRIDIAN) && \
+     is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
 
 #define is_viridian_vcpu(v) \
     is_viridian_domain((v)->domain)
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
index 3cf7a71fd3..eae9ac5376 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -173,7 +173,9 @@ struct hvm_vcpu {
     /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
     struct x86_event     inject_event;
 
+#ifdef CONFIG_VIRIDIAN
     struct viridian_vcpu *viridian;
+#endif
 };
 
 #endif /* __ASM_X86_HVM_VCPU_H__ */
diff --git a/xen/arch/x86/include/asm/hvm/viridian.h b/xen/arch/x86/include/asm/hvm/viridian.h
index 47c9d13841..80159f5fbc 100644
--- a/xen/arch/x86/include/asm/hvm/viridian.h
+++ b/xen/arch/x86/include/asm/hvm/viridian.h
@@ -86,11 +86,26 @@ viridian_hypercall(struct cpu_user_regs *regs);
 void viridian_time_domain_freeze(const struct domain *d);
 void viridian_time_domain_thaw(const struct domain *d);
 
+#ifdef CONFIG_VIRIDIAN
 int viridian_vcpu_init(struct vcpu *v);
 int viridian_domain_init(struct domain *d);
 
 void viridian_vcpu_deinit(struct vcpu *v);
 void viridian_domain_deinit(struct domain *d);
+#else
+static inline int viridian_vcpu_init(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline int viridian_domain_init(struct domain *d)
+{
+    return 0;
+}
+
+static inline void viridian_vcpu_deinit(struct vcpu *v) {}
+static inline void viridian_domain_deinit(struct domain *d) {}
+#endif
 
 void viridian_apic_assist_set(const struct vcpu *v);
 bool viridian_apic_assist_completed(const struct vcpu *v);
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 11:44:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 11:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170390.1495447 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNUzX-00037G-OK; Mon, 24 Nov 2025 11:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170390.1495447; Mon, 24 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vNUzX-000378-Lp; Mon, 24 Nov 2025 11:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1170390;
 Mon, 24 Nov 2025 11:44:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNUzW-000371-QK
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 11:44:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzW-0062BQ-2X
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzW-007i6I-2R
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=L/nkNxxPVLqozk4tLQJpH+qHuSJsOHUOs8x0nR57c1Q=; b=Hek/kR2Yb0t5JNCR4TuO7lx6AA
	/QGiNc/hL9TrYgsSppAG5eeSMnkqIs13dbtNv3EgdiOzMZx6R1zNC/cJkRYJ+7DVJurDTOWzbTbm3
	7GhDmjsM5vh0CIUu8B203Y7MGc3QPGLMVEdRZMCqBMvCTXXXdtRTbz2lZxFZPXGrt+nI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNUzW-007i6I-2R@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 11:44:22 +0000

commit c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 24 11:28:47 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:28:47 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index fefa29a06c..3e02580a35 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -98,7 +98,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 11:44:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 11:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170391.1495451 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNUzh-00039a-Ps; Mon, 24 Nov 2025 11:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170391.1495451; Mon, 24 Nov 2025 11:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNUzh-00039S-ND; Mon, 24 Nov 2025 11:44:33 +0000
Received: by outflank-mailman (input) for mailman id 1170391;
 Mon, 24 Nov 2025 11:44:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNUzg-00039I-TQ
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 11:44:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzg-0062BV-2q
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNUzg-007i81-2i
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 11:44:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=g4wuTThrc8BVoz/6MQQZ1E6XPzYeY6FdHIlnMWnomSA=; b=BHJDscb3aqU2NTBxXrH4TXYyPz
	VZnQWlX9QUnJxPmBSAathF9kA3KFkZH6bXfkc2neyq46rnTd8MopGDeNNIbHLtgRrRI6xfsSwQPcs
	JcrDyqX1K+hrNCh/2cbEWbO2I9hBZOnUI+Ds4o+r1zsP2V/u56IClqgVfNBH2ReLrTOM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/sched: address violation of MISRA C Rule 16.3
Message-Id: <E1vNUzg-007i81-2i@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 11:44:32 +0000

commit 1f02168eeb387e0b949259267512f94bce697b3b
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Mon Nov 24 11:34:30 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:34:30 2025 +0100

    xen/sched: address violation of MISRA C Rule 16.3
    
    The rule states: An unconditional `break' statement shall terminate
    every switch-clause.
    
    Use the `fallthrough' pseudo-keyword for which an ECLAIR deviation
    is already in place.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/credit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index 6dcf6b2c8b..e9a91d11c3 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -1288,7 +1288,7 @@ csched_sys_cntl(const struct scheduler *ops,
         prv->unit_migr_delay = MICROSECS(params->vcpu_migr_delay_us);
         spin_unlock_irqrestore(&prv->lock, flags);
 
-        /* FALLTHRU */
+        fallthrough;
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice / MILLISECS(1);
         params->ratelimit_us = prv->ratelimit / MICROSECS(1);
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 13:22:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 13:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170907.1495925 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWW2-0004sP-4q; Mon, 24 Nov 2025 13:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170907.1495925; Mon, 24 Nov 2025 13:22:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWW2-0004sH-2L; Mon, 24 Nov 2025 13:22:02 +0000
Received: by outflank-mailman (input) for mailman id 1170907;
 Mon, 24 Nov 2025 13:22:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNWW1-0004sB-Sa
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 13:22:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWW1-0064Em-23
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWW1-007xB1-1k
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=KmUU35q5D0ERPSWT6FGR1Ltew46paT16OKfIKketoHs=; b=7NlDfuoo0yL8jDkdUTBp9rqwTt
	dkN8z2I3sKwbPvMUgN9PT8WSishab76+8ruLGPi4vt8E+vo9fnppsQuNrHkDo07lfGN1esBT/RTyD
	/bs35O4IujqsONQJndChA2v5VPabxpEX7PZK8eoRlslEmUtLisNaQC8zldCfW8v4iqLU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/guest: move allocation of Xen upcall vector to init code
Message-Id: <E1vNWW1-007xB1-1k@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 13:22:01 +0000

commit 731c47684ff7de39405c2ed3affc5f043225e543
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 24 11:25:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:25:08 2025 +0100

    x86/guest: move allocation of Xen upcall vector to init code
    
    There's no need to do this every time init_evtchn() is called. Just do it
    once when setting up CPU0. Drop the assertion as well, as
    alloc_hipriority_vector() (called by alloc_direct_apic_vector()) uses more
    restrictive BUG_ON() anyway. Then evtchn_upcall_vector can also validly
    become ro-after-init, just that it needs to move out of init_evtchn().
    
    While touching the function, add a comment why other seemingly-BSP code
    can't move out of there (into e.g. an __init one).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/guest/xen/xen.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
index 5c9f393c75..77a3a8742a 100644
--- a/xen/arch/x86/guest/xen/xen.c
+++ b/xen/arch/x86/guest/xen/xen.c
@@ -233,16 +233,12 @@ static void cf_check xen_evtchn_upcall(void)
     ack_APIC_irq();
 }
 
+static uint8_t __ro_after_init evtchn_upcall_vector;
+
 static int init_evtchn(void)
 {
-    static uint8_t evtchn_upcall_vector;
     int rc;
 
-    if ( !evtchn_upcall_vector )
-        alloc_direct_apic_vector(&evtchn_upcall_vector, xen_evtchn_upcall);
-
-    ASSERT(evtchn_upcall_vector);
-
     rc = xen_hypercall_set_evtchn_upcall_vector(this_cpu(vcpu_id),
                                                 evtchn_upcall_vector);
     if ( rc )
@@ -251,6 +247,10 @@ static int init_evtchn(void)
         return rc;
     }
 
+    /*
+     * HVM_PARAM_CALLBACK_IRQ is not moved on migrate, so has to be set up
+     * again on resume.
+     */
     if ( smp_processor_id() == 0 )
     {
         struct xen_hvm_param a = {
@@ -293,6 +293,8 @@ static void __init cf_check setup(void)
                XEN_LEGACY_MAX_VCPUS);
     }
 
+    alloc_direct_apic_vector(&evtchn_upcall_vector, xen_evtchn_upcall);
+
     BUG_ON(init_evtchn());
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 13:22:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 13:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170908.1495929 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWWC-0004vc-6M; Mon, 24 Nov 2025 13:22:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170908.1495929; Mon, 24 Nov 2025 13: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-changelog-bounces@lists.xenproject.org>)
	id 1vNWWC-0004vU-3h; Mon, 24 Nov 2025 13:22:12 +0000
Received: by outflank-mailman (input) for mailman id 1170908;
 Mon, 24 Nov 2025 13:22:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNWWB-0004vM-RO
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 13:22:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWWB-0064Eq-2b
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWWB-007xBk-2G
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=VWYSmDqDMnaJoFOFdnQ3JmvMWpWeUU4V+unGiDoLxq8=; b=hRcgWcJagUGHDqHIsGP7dHPWE9
	Pi5cWNi4p8vkAl6Ic3bSfOteZiveV1w3NHR7IHf7TZ75EfuLw4YLifBRHclSeKiH6EUA2y7gZlpdD
	gEFTBiy3AeAzRKi/y6tz7TPqa4fCWk7fkbvpa7iIENZ9NMabwMS9rOqR5bZfdA4vAT08=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86: make Viridian support optional
Message-Id: <E1vNWWB-007xBk-2G@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 13:22:11 +0000

commit 43c1c49b006c1a280118083a9a7a538e1272fff4
Author:     Sergiy Kibrik <Sergiy_Kibrik@epam.com>
AuthorDate: Mon Nov 24 11:27:10 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:27:10 2025 +0100

    x86: make Viridian support optional
    
    Add config option VIRIDIAN that covers viridian code within HVM.
    Calls to viridian functions guarded by is_viridian_domain() and related macros.
    Having this option may be beneficial by reducing code footprint for systems
    that are not using Hyper-V.
    
    [grygorii_strashko@epam.com: fixed NULL pointer deref in
    viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
    Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
    Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/Kconfig                | 10 ++++++++++
 xen/arch/x86/hvm/Makefile               |  2 +-
 xen/arch/x86/hvm/hvm.c                  |  5 +++--
 xen/arch/x86/hvm/viridian/viridian.c    |  8 ++++----
 xen/arch/x86/hvm/vlapic.c               | 11 +++++++----
 xen/arch/x86/include/asm/hvm/domain.h   |  2 ++
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 ++-
 xen/arch/x86/include/asm/hvm/vcpu.h     |  2 ++
 xen/arch/x86/include/asm/hvm/viridian.h | 15 +++++++++++++++
 9 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index c323d767e7..c1a131d185 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -63,6 +63,16 @@ config ALTP2M
 
 	  If unsure, stay with defaults.
 
+config VIRIDIAN
+	bool "Hyper-V enlightenments for guests" if EXPERT
+	default y
+	help
+	  Support optimizations for Hyper-V guests such as hypercalls, efficient
+	  timers and interrupt handling. This is to improve performance and
+	  compatibility of Windows VMs.
+
+	  If unsure, say Y.
+
 config MEM_PAGING
 	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
 	depends on VM_EVENT
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 6ec2c8f2db..1b97bdc624 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -1,6 +1,6 @@
 obj-$(CONFIG_AMD_SVM) += svm/
+obj-$(CONFIG_VIRIDIAN) += viridian/
 obj-$(CONFIG_INTEL_VMX) += vmx/
-obj-y += viridian/
 
 obj-y += asid.o
 obj-y += dm.o
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 4a8e339f97..d7acc16cb3 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4231,8 +4231,9 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
             rc = -EINVAL;
         break;
     case HVM_PARAM_VIRIDIAN:
-        if ( (value & ~HVMPV_feature_mask) ||
-             !(value & HVMPV_base_freq) )
+        if ( !IS_ENABLED(CONFIG_VIRIDIAN) )
+            rc = -ENODEV;
+        else if ( (value & ~HVMPV_feature_mask) || !(value & HVMPV_base_freq) )
             rc = -EINVAL;
         break;
     case HVM_PARAM_IDENT_PT:
diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
index f79cffcb37..90e749ceb5 100644
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -1097,14 +1097,14 @@ static int cf_check viridian_save_domain_ctxt(
 {
     const struct domain *d = v->domain;
     const struct viridian_domain *vd = d->arch.hvm.viridian;
-    struct hvm_viridian_domain_context ctxt = {
-        .hypercall_gpa = vd->hypercall_gpa.raw,
-        .guest_os_id = vd->guest_os_id.raw,
-    };
+    struct hvm_viridian_domain_context ctxt = {};
 
     if ( !is_viridian_domain(d) )
         return 0;
 
+    ctxt.hypercall_gpa = vd->hypercall_gpa.raw;
+    ctxt.guest_os_id = vd->guest_os_id.raw,
+
     viridian_time_save_domain_ctxt(d, &ctxt);
     viridian_synic_save_domain_ctxt(d, &ctxt);
 
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 993e972cd7..79697487ba 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -426,7 +426,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * priority vector and then recurse to handle the lower priority
      * vector.
      */
-    bool missed_eoi = viridian_apic_assist_completed(v);
+    bool missed_eoi = has_viridian_apic_assist(v->domain) &&
+                      viridian_apic_assist_completed(v);
     int vector;
 
  again:
@@ -442,7 +443,7 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * NOTE: It is harmless to call viridian_apic_assist_clear() on a
      *       recursion, even though it is not necessary.
      */
-    if ( !missed_eoi )
+    if ( has_viridian_apic_assist(v->domain) && !missed_eoi )
         viridian_apic_assist_clear(v);
 
     vlapic_clear_vector(vector, &vlapic->regs->data[APIC_ISR]);
@@ -1360,7 +1361,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
      * If so, we need to emulate the EOI here before comparing ISR
      * with IRR.
      */
-    if ( viridian_apic_assist_completed(v) )
+    if ( has_viridian_apic_assist(v->domain) &&
+         viridian_apic_assist_completed(v) )
         vlapic_EOI_set(vlapic);
 
     isr = vlapic_find_highest_isr(vlapic);
@@ -1373,7 +1375,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( isr >= 0 &&
          (irr & 0xf0) <= (isr & 0xf0) )
     {
-        viridian_apic_assist_clear(v);
+        if ( has_viridian_apic_assist(v->domain) )
+            viridian_apic_assist_clear(v);
         return -1;
     }
 
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 94d19730b2..83be2bd1c2 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -105,7 +105,9 @@ struct hvm_domain {
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
 
+#ifdef CONFIG_VIRIDIAN
     struct viridian_domain *viridian;
+#endif
 
     /*
      * TSC value that VCPUs use to calculate their tsc_offset value.
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 56ad63dc57..7412256a2d 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -512,7 +512,8 @@ hvm_get_cpl(struct vcpu *v)
     (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
 
 #define is_viridian_domain(d) \
-    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
+    (IS_ENABLED(CONFIG_VIRIDIAN) && \
+     is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
 
 #define is_viridian_vcpu(v) \
     is_viridian_domain((v)->domain)
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
index 3cf7a71fd3..eae9ac5376 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -173,7 +173,9 @@ struct hvm_vcpu {
     /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
     struct x86_event     inject_event;
 
+#ifdef CONFIG_VIRIDIAN
     struct viridian_vcpu *viridian;
+#endif
 };
 
 #endif /* __ASM_X86_HVM_VCPU_H__ */
diff --git a/xen/arch/x86/include/asm/hvm/viridian.h b/xen/arch/x86/include/asm/hvm/viridian.h
index 47c9d13841..80159f5fbc 100644
--- a/xen/arch/x86/include/asm/hvm/viridian.h
+++ b/xen/arch/x86/include/asm/hvm/viridian.h
@@ -86,11 +86,26 @@ viridian_hypercall(struct cpu_user_regs *regs);
 void viridian_time_domain_freeze(const struct domain *d);
 void viridian_time_domain_thaw(const struct domain *d);
 
+#ifdef CONFIG_VIRIDIAN
 int viridian_vcpu_init(struct vcpu *v);
 int viridian_domain_init(struct domain *d);
 
 void viridian_vcpu_deinit(struct vcpu *v);
 void viridian_domain_deinit(struct domain *d);
+#else
+static inline int viridian_vcpu_init(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline int viridian_domain_init(struct domain *d)
+{
+    return 0;
+}
+
+static inline void viridian_vcpu_deinit(struct vcpu *v) {}
+static inline void viridian_domain_deinit(struct domain *d) {}
+#endif
 
 void viridian_apic_assist_set(const struct vcpu *v);
 bool viridian_apic_assist_completed(const struct vcpu *v);
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 13:22:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 13:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170909.1495933 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWWN-00051S-7k; Mon, 24 Nov 2025 13:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170909.1495933; Mon, 24 Nov 2025 13:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWWN-00051K-55; Mon, 24 Nov 2025 13:22:23 +0000
Received: by outflank-mailman (input) for mailman id 1170909;
 Mon, 24 Nov 2025 13:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNWWM-00051C-1A
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 13:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWWL-0064Ex-33
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWWL-007xD2-2m
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ZJgv/JtbTT6FQDsBSy5RqUAOpp4BOXZklLVOhDWAKXU=; b=wZVf5b3EV0gPOCG9YK2tRJ+Hr8
	ljYAiYj7WMgktAZPcLtdGAzjAthFMCS+NLTYRXsQt2EFlepWdRwzeRWmpntmSbWyhnzirNXnOGKlv
	v3IRMHvsIyy8cQSR56787VtA4zdUCFlluqskmOUI0pywWCmTiJe0MQahfoLBjfZlEauo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNWWL-007xD2-2m@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 13:22:21 +0000

commit c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Nov 24 11:28:47 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:28:47 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index fefa29a06c..3e02580a35 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -98,7 +98,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 13:22:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 13:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1170910.1495937 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWWX-00056U-9D; Mon, 24 Nov 2025 13:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1170910.1495937; Mon, 24 Nov 2025 13:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWWX-00056K-6U; Mon, 24 Nov 2025 13:22:33 +0000
Received: by outflank-mailman (input) for mailman id 1170910;
 Mon, 24 Nov 2025 13:22:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNWWW-00055h-2B
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 13:22:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWWW-0064F3-07
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWWW-007xEG-00
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:22:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ZayPesLOTqWhrfTPNwfizq/BpiifsdkVKfNiBTtoQJI=; b=fPWnruk0sSYF3dKjRisgr3d1/X
	dyDI5LYD2CcmQ8zcSnd48YU2hyjn5K7RTHrZTUmaCKc/HhwrlZeshRwfqfjx1cqo9OBpXeFsT4frR
	O/lO0yTGshU8v5fM8HIw02NMCNmdpC1S6/2JBFlGlgMZDxcFBJJhqf8vWiB3pI+YkDBs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/sched: address violation of MISRA C Rule 16.3
Message-Id: <E1vNWWW-007xEG-00@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 13:22:32 +0000

commit 1f02168eeb387e0b949259267512f94bce697b3b
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Mon Nov 24 11:34:30 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Nov 24 11:34:30 2025 +0100

    xen/sched: address violation of MISRA C Rule 16.3
    
    The rule states: An unconditional `break' statement shall terminate
    every switch-clause.
    
    Use the `fallthrough' pseudo-keyword for which an ECLAIR deviation
    is already in place.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Juergen Gross <jgross@suse.com>
---
 xen/common/sched/credit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index 6dcf6b2c8b..e9a91d11c3 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -1288,7 +1288,7 @@ csched_sys_cntl(const struct scheduler *ops,
         prv->unit_migr_delay = MICROSECS(params->vcpu_migr_delay_us);
         spin_unlock_irqrestore(&prv->lock, flags);
 
-        /* FALLTHRU */
+        fallthrough;
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice / MILLISECS(1);
         params->ratelimit_us = prv->ratelimit / MICROSECS(1);
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 13:44:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 13:44:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171084.1496100 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWrO-00013m-1E; Mon, 24 Nov 2025 13:44:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171084.1496100; Mon, 24 Nov 2025 13: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-changelog-bounces@lists.xenproject.org>)
	id 1vNWrN-00013e-Uo; Mon, 24 Nov 2025 13:44:05 +0000
Received: by outflank-mailman (input) for mailman id 1171084;
 Mon, 24 Nov 2025 13:44:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNWrM-00012w-8u
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 13:44:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWrM-0064iU-06
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:44:04 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWrJ-00814Q-1v
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=7U5q4A1NTpilf4kcDtYmMZTfnGD7X9kEy6FHuLijacw=; b=28ySfd59naoyVJETA1kJ45kqLb
	kKHrkqilQ9Bmae435NgJp7QTzjndaBH3GDAzQUucmdNYZQGR8xRjJ96B1nnITGHOgNsBSrSgYm3TC
	jnwg0UBCAi6Et18zbvhEi2ZBVqQ92uiS6uvTIrllNBHvYAd/Kt+m8SEMyuortWSxbFwQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] arm/mpu: Implement setup_mm for MPU systems
Message-Id: <E1vNWrJ-00814Q-1v@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 13:44:01 +0000

commit 5c4b1283bb7cd6499f7d5b75b00695efc51392c4
Author:     Harry Ramsey <harry.ramsey@arm.com>
AuthorDate: Wed Nov 19 07:53:49 2025 +0000
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Mon Nov 24 13:53:47 2025 +0100

    arm/mpu: Implement setup_mm for MPU systems
    
    Implement `setup_mm` for MPU systems. This variant does not require
    setting up a direct map.
    
    To reduce code duplication the common initalisation code for both MPU
    and MMU Arm64 configurations is refactored into `setup_mm`. Platform-specific
    setup steps are now handled by a new helper function `setup_mm_helper`.
    
    Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm64/mmu/mm.c   | 26 +------------------------
 xen/arch/arm/include/asm/mm.h |  2 ++
 xen/arch/arm/mm.c             | 45 +++++++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/mpu/mm.c         | 30 +++++++++++++++++++++++++++--
 4 files changed, 76 insertions(+), 27 deletions(-)

diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index 3e64be6ae6..70b53be032 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -4,8 +4,6 @@
 #include <xen/llc-coloring.h>
 #include <xen/mm.h>
 #include <xen/pfn.h>
-#include <xen/static-memory.h>
-#include <xen/static-shmem.h>
 
 #include <asm/setup.h>
 
@@ -240,33 +238,18 @@ static void __init setup_directmap_mappings(unsigned long base_mfn,
         panic("Unable to setup the directmap mappings.\n");
 }
 
-void __init setup_mm(void)
+void __init setup_mm_helper(void)
 {
     const struct membanks *banks = bootinfo_get_mem();
     paddr_t ram_start = INVALID_PADDR;
     paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
     unsigned int i;
 
-    init_pdx();
-
-    /*
-     * We need some memory to allocate the page-tables used for the directmap
-     * mappings. But some regions may contain memory already allocated
-     * for other uses (e.g. modules, reserved-memory...).
-     *
-     * For simplicity, add all the free regions in the boot allocator.
-     */
-    populate_boot_allocator();
-
-    total_pages = 0;
-
     for ( i = 0; i < banks->nr_banks; i++ )
     {
         const struct membank *bank = &banks->bank[i];
         paddr_t bank_end = bank->start + bank->size;
 
-        ram_size = ram_size + bank->size;
         ram_start = min(ram_start, bank->start);
         ram_end = max(ram_end, bank_end);
 
@@ -274,16 +257,9 @@ void __init setup_mm(void)
                                  PFN_DOWN(bank->size));
     }
 
-    total_pages += ram_size >> PAGE_SHIFT;
-
     directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
     directmap_mfn_start = maddr_to_mfn(ram_start);
     directmap_mfn_end = maddr_to_mfn(ram_end);
-
-    setup_frametable_mappings(ram_start, ram_end);
-
-    init_staticmem_pages();
-    init_sharedmem_pages();
 }
 
 /*
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 7a93dad2ed..f702f4a0d6 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -202,6 +202,8 @@ extern void remove_early_mappings(void);
 extern int prepare_secondary_mm(int cpu);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
+/* Helper function to setup memory management */
+void setup_mm_helper(void);
 /* map a physical range in virtual memory */
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int attributes);
 
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 3b05b46ee0..6df8b616e4 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -12,8 +12,12 @@
 #include <xen/grant_table.h>
 #include <xen/guest_access.h>
 #include <xen/mm.h>
+#include <xen/static-memory.h>
+#include <xen/static-shmem.h>
 #include <xen/vmap.h>
 
+#include <asm/setup.h>
+
 #include <xsm/xsm.h>
 
 #include <public/memory.h>
@@ -24,6 +28,47 @@
 
 unsigned long frametable_base_pdx __read_mostly;
 
+#if defined(CONFIG_ARM_64) || defined(CONFIG_MPU)
+void __init setup_mm(void)
+{
+    const struct membanks *banks = bootinfo_get_mem();
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_end = 0;
+    paddr_t ram_size = 0;
+    unsigned int i;
+
+    init_pdx();
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        ram_size = ram_size + bank->size;
+        ram_start = min(ram_start, bank->start);
+        ram_end = max(ram_end, bank_end);
+    }
+
+    total_pages = ram_size >> PAGE_SHIFT;
+
+    /*
+     * On MMU systems we need some memory to allocate the page-tables used for
+     * the direct mapmappings. But some regions may contain memory already
+     * allocated for other uses (e.g. modules, reserved-memory...).
+     *
+     * For simplicity, add all the free regions in the boot allocator.
+     */
+    populate_boot_allocator();
+
+    setup_mm_helper();
+
+    setup_frametable_mappings(ram_start, ram_end);
+
+    init_staticmem_pages();
+    init_sharedmem_pages();
+}
+#endif
+
 bool flags_has_rwx(unsigned int flags)
 {
     /*
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 3f155b7db2..b80edcf1ca 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -5,12 +5,14 @@
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
+#include <xen/pfn.h>
 #include <xen/sizes.h>
 #include <xen/spinlock.h>
 #include <xen/types.h>
 #include <asm/mpu.h>
 #include <asm/mpu/mm.h>
 #include <asm/page.h>
+#include <asm/setup.h>
 #include <asm/sysregs.h>
 
 struct page_info *frame_table;
@@ -378,9 +380,33 @@ int map_pages_to_xen(unsigned long virt, mfn_t mfn, unsigned long nr_mfns,
     return xen_mpumap_update(virt, mfn_to_maddr(mfn_add(mfn, nr_mfns)), flags);
 }
 
-void __init setup_mm(void)
+/*
+ * Heap must be statically configured in Device Tree through "xen,static-heap"
+ * on MPU systems, use setup_mm_helper() for that.
+ */
+void __init setup_mm_helper(void)
 {
-    BUG_ON("unimplemented");
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+    unsigned int bank = 0;
+
+    for ( ; bank < reserved_mem->nr_banks; bank++ )
+    {
+        if ( reserved_mem->bank[bank].type == MEMBANK_STATIC_HEAP )
+        {
+            paddr_t bank_start = round_pgup(reserved_mem->bank[bank].start);
+            paddr_t bank_size = round_pgdown(reserved_mem->bank[bank].size);
+            paddr_t bank_end = bank_start + bank_size;
+
+            /* Map static heap with one MPU protection region */
+            if ( xen_mpumap_update(bank_start, bank_end, PAGE_HYPERVISOR) )
+                panic("Failed to map static heap\n");
+
+            break;
+        }
+    }
+
+    if ( bank == reserved_mem->nr_banks )
+        panic("No static heap memory bank found\n");
 }
 
 int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 13:44:22 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 13:44:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171087.1496104 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWrY-0001Dh-3c; Mon, 24 Nov 2025 13:44:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171087.1496104; Mon, 24 Nov 2025 13: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-changelog-bounces@lists.xenproject.org>)
	id 1vNWrY-0001DZ-17; Mon, 24 Nov 2025 13:44:16 +0000
Received: by outflank-mailman (input) for mailman id 1171087;
 Mon, 24 Nov 2025 13:44:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNWrW-0001Be-5E
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 13:44:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWrW-0064ie-0Q
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:44:14 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWrW-008171-0H
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:44:14 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=yzhA8cBNx7D3tFbWoOY20529VRADsA7fi9P1X2zipKQ=; b=HofV4mZWJqKJPvrQzOuc5M+SMX
	4zAFTOp5i+hK7b0BvQC4gjw9t//W9Gj0VD/eBd0y1Axo5VHR7CsEImE2DnvFkq4tvkBwRxWgV/XQQ
	u5LupHKEDqGJ/Hpx9ktYwW4DWstLlFzQYpjWgL1/sbG3RgnOrrEiaMIg1refsmyVHaSo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] arm/mpu: Implement reference counting for inclusive regions
Message-Id: <E1vNWrW-008171-0H@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 13:44:14 +0000

commit 1128e6fe3618f5d5266e9c11e50389284d830625
Author:     Harry Ramsey <harry.ramsey@arm.com>
AuthorDate: Wed Nov 19 07:53:50 2025 +0000
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Mon Nov 24 13:53:47 2025 +0100

    arm/mpu: Implement reference counting for inclusive regions
    
    Implement reference counting to enable inclusive MPU regions. An
    inclusive region is defined as a region encapsulated inside a
    previously allocated region sharing the same permissions.
    
    Reference counts are incremented and decremented in
    xen_mpumap_update_entry. A region will be destroyed if the reference
    count is 0 upon calling destroy_xen_mappings and if the full region
    range is specified.
    
    Additionally XEN_MPUMAP_ENTRY_SHIFT and XEN_MPUMAP_ENTRY_SHIFT_ZERO are
    no longer hardcoded and defined inside asm-offsets.c.
    
    Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm32/asm-offsets.c         |  2 +
 xen/arch/arm/arm64/asm-offsets.c         |  2 +
 xen/arch/arm/include/asm/arm32/mpu.h     |  2 +
 xen/arch/arm/include/asm/arm64/mpu.h     |  2 +
 xen/arch/arm/include/asm/mpu/regions.inc | 11 ++++-
 xen/arch/arm/mpu/mm.c                    | 73 ++++++++++++++++++++++++++------
 6 files changed, 76 insertions(+), 16 deletions(-)

diff --git a/xen/arch/arm/arm32/asm-offsets.c b/xen/arch/arm/arm32/asm-offsets.c
index c203ce269d..951f8d03f3 100644
--- a/xen/arch/arm/arm32/asm-offsets.c
+++ b/xen/arch/arm/arm32/asm-offsets.c
@@ -79,6 +79,8 @@ void __dummy__(void)
 #ifdef CONFIG_MPU
    DEFINE(XEN_MPUMAP_MASK_sizeof, sizeof(xen_mpumap_mask));
    DEFINE(XEN_MPUMAP_sizeof, sizeof(xen_mpumap));
+   DEFINE(XEN_MPUMAP_ENTRY_SHIFT, ilog2(sizeof(pr_t)));
+   DEFINE(XEN_MPUMAP_ENTRY_ZERO_OFFSET, sizeof(prbar_t) + sizeof(prlar_t));
    BLANK();
 #endif
 }
diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
index 320289b281..38a3894a3b 100644
--- a/xen/arch/arm/arm64/asm-offsets.c
+++ b/xen/arch/arm/arm64/asm-offsets.c
@@ -73,6 +73,8 @@ void __dummy__(void)
 #ifdef CONFIG_MPU
    DEFINE(XEN_MPUMAP_MASK_sizeof, sizeof(xen_mpumap_mask));
    DEFINE(XEN_MPUMAP_sizeof, sizeof(xen_mpumap));
+   DEFINE(XEN_MPUMAP_ENTRY_SHIFT, ilog2(sizeof(pr_t)));
+   DEFINE(XEN_MPUMAP_ENTRY_ZERO_OFFSET, sizeof(prbar_t) + sizeof(prlar_t));
    BLANK();
 #endif
 }
diff --git a/xen/arch/arm/include/asm/arm32/mpu.h b/xen/arch/arm/include/asm/arm32/mpu.h
index 0a6930b3a0..137022d922 100644
--- a/xen/arch/arm/include/asm/arm32/mpu.h
+++ b/xen/arch/arm/include/asm/arm32/mpu.h
@@ -39,6 +39,8 @@ typedef union {
 typedef struct {
     prbar_t prbar;
     prlar_t prlar;
+    uint8_t refcount;
+    uint8_t pad[7];     /* Pad structure to 16 Bytes */
 } pr_t;
 
 #endif /* __ASSEMBLY__ */
diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/arm64/mpu.h
index f0ce344e78..17f62ccaf6 100644
--- a/xen/arch/arm/include/asm/arm64/mpu.h
+++ b/xen/arch/arm/include/asm/arm64/mpu.h
@@ -38,6 +38,8 @@ typedef union {
 typedef struct {
     prbar_t prbar;
     prlar_t prlar;
+    uint8_t refcount;
+    uint8_t pad[15];    /* Pad structure to 32 Bytes */
 } pr_t;
 
 #endif /* __ASSEMBLY__ */
diff --git a/xen/arch/arm/include/asm/mpu/regions.inc b/xen/arch/arm/include/asm/mpu/regions.inc
index 23fead3b21..0cdbb17bc3 100644
--- a/xen/arch/arm/include/asm/mpu/regions.inc
+++ b/xen/arch/arm/include/asm/mpu/regions.inc
@@ -14,14 +14,12 @@
 #define PRLAR_ELx_EN            0x1
 
 #ifdef CONFIG_ARM_64
-#define XEN_MPUMAP_ENTRY_SHIFT  0x4     /* 16 byte structure */
 
 .macro store_pair reg1, reg2, dst
     stp \reg1, \reg2, [\dst]
 .endm
 
 #else
-#define XEN_MPUMAP_ENTRY_SHIFT  0x3     /* 8 byte structure */
 
 .macro store_pair reg1, reg2, dst
     strd  \reg1, \reg2, [\dst]
@@ -97,6 +95,15 @@
 
 3:
 
+    /* Clear the rest of the xen_mpumap entry. */
+#ifdef CONFIG_ARM_64
+    stp xzr, xzr, [\base, #XEN_MPUMAP_ENTRY_ZERO_OFFSET]
+#else
+    mov \prbar, #0
+    mov \prlar, #0
+    strd \prbar, \prlar, [\base, #XEN_MPUMAP_ENTRY_ZERO_OFFSET]
+#endif
+
     add   \sel, \sel, #1
 
 1:
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index b80edcf1ca..29dd8c4622 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -106,6 +106,7 @@ pr_t pr_of_addr(paddr_t base, paddr_t limit, unsigned int flags)
     region = (pr_t) {
         .prbar = prbar,
         .prlar = prlar,
+        .refcount = 0,
     };
 
     /* Set base address and limit address. */
@@ -170,6 +171,35 @@ int mpumap_contains_region(pr_t *table, uint8_t nr_regions, paddr_t base,
     return MPUMAP_REGION_NOTFOUND;
 }
 
+static bool is_mm_attr_match(pr_t *region, unsigned int attributes)
+{
+    if ( region->prbar.reg.ro != PAGE_RO_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Access Permission attributes (%#x instead of %#x)\n",
+               region->prbar.reg.ro, PAGE_RO_MASK(attributes));
+        return false;
+    }
+
+    if ( region->prbar.reg.xn != PAGE_XN_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Execute Never attributes (%#x instead of %#x)\n",
+               region->prbar.reg.xn, PAGE_XN_MASK(attributes));
+        return false;
+    }
+
+    if ( region->prlar.reg.ai != PAGE_AI_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Memory Attribute Index (%#x instead of %#x)\n",
+               region->prlar.reg.ai, PAGE_AI_MASK(attributes));
+        return false;
+    }
+
+    return true;
+}
+
 /* Map a frame table to cover physical addresses ps through pe */
 void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
 {
@@ -284,22 +314,26 @@ static int xen_mpumap_update_entry(paddr_t base, paddr_t limit,
 
     flags_has_page_present = flags & _PAGE_PRESENT;
 
-    /* Currently we don't support modifying an existing entry. */
+    /*
+    * Currently, we only support removing/modifying a *WHOLE* MPU memory
+    * region. Part-region removal/modification is not supported as in the worst
+    * case it will leave two/three fragments behind.
+    */
     if ( flags_has_page_present && (rc >= MPUMAP_REGION_FOUND) )
     {
-        printk("Modifying an existing entry is not supported\n");
-        return -EINVAL;
-    }
+        if ( !is_mm_attr_match(&xen_mpumap[idx], flags) )
+        {
+            printk("Modifying an existing entry is not supported\n");
+            return -EINVAL;
+        }
 
-    /*
-     * Currently, we only support removing/modifying a *WHOLE* MPU memory
-     * region. Part-region removal/modification is not supported as in the worst
-     * case it will leave two/three fragments behind.
-     */
-    if ( rc == MPUMAP_REGION_INCLUSIVE )
-    {
-        printk("Part-region removal/modification is not supported\n");
-        return -EINVAL;
+        /* Check for overflow of refcount before incrementing.  */
+        if ( xen_mpumap[idx].refcount == 0xFF )
+        {
+            printk("Cannot allocate region as it would cause refcount overflow\n");
+            return -ENOENT;
+        }
+        xen_mpumap[idx].refcount += 1;
     }
 
     /* We are inserting a mapping => Create new region. */
@@ -323,7 +357,18 @@ static int xen_mpumap_update_entry(paddr_t base, paddr_t limit,
             return -EINVAL;
         }
 
-        disable_mpu_region_from_index(idx);
+        if ( xen_mpumap[idx].refcount == 0 )
+        {
+            if ( MPUMAP_REGION_FOUND == rc )
+                disable_mpu_region_from_index(idx);
+            else
+            {
+                printk("Cannot remove a partial region\n");
+                return -EINVAL;
+            }
+        }
+        else
+            xen_mpumap[idx].refcount -= 1;
     }
 
     return 0;
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 13:44:26 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 13:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171091.1496109 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWri-0001Oa-5M; Mon, 24 Nov 2025 13:44:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171091.1496109; Mon, 24 Nov 2025 13:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNWri-0001OS-2S; Mon, 24 Nov 2025 13:44:26 +0000
Received: by outflank-mailman (input) for mailman id 1171091;
 Mon, 24 Nov 2025 13:44:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNWrg-0001Lg-88
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 13:44:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWrg-0064il-0i
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:44:24 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNWrg-00819Y-0b
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 13:44:24 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=6K8DdpK0z23v0D9WT62ONUnlnv7qRIrLRWBoNn6hT5s=; b=qsYr20D6V6J0z9ZXUH9eMPESTm
	nH5SGk1MkTMxKuVFPBQXwZnvoamjd+lGl4WtpGoxE/wts4a6WlkEyL5+vYj63PB2pbz6tRO+6tlOw
	ZOeWu4juleqFAWcDT15xirSfLXEsK3++d0h+rqJANI+3VY7wJyaVBkYxy7uoMEcnvufg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] arm/mpu: Implement ioremap_attr for MPU
Message-Id: <E1vNWrg-00819Y-0b@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 13:44:24 +0000

commit efeec4c70798ecbca2919e9e8888fec45937a1af
Author:     Harry Ramsey <harry.ramsey@arm.com>
AuthorDate: Wed Nov 19 07:53:51 2025 +0000
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Mon Nov 24 13:53:47 2025 +0100

    arm/mpu: Implement ioremap_attr for MPU
    
    Implement the function `ioremap_attr` for MPU systems.
    
    Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
    Acked-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/mpu/mm.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 29dd8c4622..687dec3bc6 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -473,8 +473,14 @@ void free_init_memory(void)
 
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
 {
-    BUG_ON("unimplemented");
-    return NULL;
+    paddr_t start_pg = round_pgdown(start);
+    paddr_t end_pg = round_pgup(start_pg + len);
+
+    if ( xen_mpumap_update(start_pg, end_pg, flags) )
+        return NULL;
+
+    /* Mapped or already mapped */
+    return maddr_to_virt(start_pg);
 }
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 15:00:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 15:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171301.1496326 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNY2t-0008Io-8I; Mon, 24 Nov 2025 15:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171301.1496326; Mon, 24 Nov 2025 15:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNY2t-0008IW-5b; Mon, 24 Nov 2025 15:00:03 +0000
Received: by outflank-mailman (input) for mailman id 1171301;
 Mon, 24 Nov 2025 15:00:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNY2s-000832-3H
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 15:00:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNY2r-0066Vc-31
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:00:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNY2r-008DlR-2r
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:00:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Ql/le1KQt9qr+mrtffucc0zMaVkdoPEimE6ZEoi8QrI=; b=ATyxiFemTQCDgScCGH43nP2u8r
	4xSTB/mugWHsbXqvCpDy6bFOfrQl8YJIUjZsU23HrB17cPl8h3eD3hM/pHu3NRccx0R630/lKel4B
	EwJJfVlWc8Nzzb/Qj0nLgJ3dwaL0ed7zrxwK22iR99Vi1rQOEHSa3ia0sS7SbROSfFjE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] arm/mpu: Implement setup_mm for MPU systems
Message-Id: <E1vNY2r-008DlR-2r@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 15:00:01 +0000

commit 5c4b1283bb7cd6499f7d5b75b00695efc51392c4
Author:     Harry Ramsey <harry.ramsey@arm.com>
AuthorDate: Wed Nov 19 07:53:49 2025 +0000
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Mon Nov 24 13:53:47 2025 +0100

    arm/mpu: Implement setup_mm for MPU systems
    
    Implement `setup_mm` for MPU systems. This variant does not require
    setting up a direct map.
    
    To reduce code duplication the common initalisation code for both MPU
    and MMU Arm64 configurations is refactored into `setup_mm`. Platform-specific
    setup steps are now handled by a new helper function `setup_mm_helper`.
    
    Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm64/mmu/mm.c   | 26 +------------------------
 xen/arch/arm/include/asm/mm.h |  2 ++
 xen/arch/arm/mm.c             | 45 +++++++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/mpu/mm.c         | 30 +++++++++++++++++++++++++++--
 4 files changed, 76 insertions(+), 27 deletions(-)

diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index 3e64be6ae6..70b53be032 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -4,8 +4,6 @@
 #include <xen/llc-coloring.h>
 #include <xen/mm.h>
 #include <xen/pfn.h>
-#include <xen/static-memory.h>
-#include <xen/static-shmem.h>
 
 #include <asm/setup.h>
 
@@ -240,33 +238,18 @@ static void __init setup_directmap_mappings(unsigned long base_mfn,
         panic("Unable to setup the directmap mappings.\n");
 }
 
-void __init setup_mm(void)
+void __init setup_mm_helper(void)
 {
     const struct membanks *banks = bootinfo_get_mem();
     paddr_t ram_start = INVALID_PADDR;
     paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
     unsigned int i;
 
-    init_pdx();
-
-    /*
-     * We need some memory to allocate the page-tables used for the directmap
-     * mappings. But some regions may contain memory already allocated
-     * for other uses (e.g. modules, reserved-memory...).
-     *
-     * For simplicity, add all the free regions in the boot allocator.
-     */
-    populate_boot_allocator();
-
-    total_pages = 0;
-
     for ( i = 0; i < banks->nr_banks; i++ )
     {
         const struct membank *bank = &banks->bank[i];
         paddr_t bank_end = bank->start + bank->size;
 
-        ram_size = ram_size + bank->size;
         ram_start = min(ram_start, bank->start);
         ram_end = max(ram_end, bank_end);
 
@@ -274,16 +257,9 @@ void __init setup_mm(void)
                                  PFN_DOWN(bank->size));
     }
 
-    total_pages += ram_size >> PAGE_SHIFT;
-
     directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
     directmap_mfn_start = maddr_to_mfn(ram_start);
     directmap_mfn_end = maddr_to_mfn(ram_end);
-
-    setup_frametable_mappings(ram_start, ram_end);
-
-    init_staticmem_pages();
-    init_sharedmem_pages();
 }
 
 /*
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 7a93dad2ed..f702f4a0d6 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -202,6 +202,8 @@ extern void remove_early_mappings(void);
 extern int prepare_secondary_mm(int cpu);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
+/* Helper function to setup memory management */
+void setup_mm_helper(void);
 /* map a physical range in virtual memory */
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int attributes);
 
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 3b05b46ee0..6df8b616e4 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -12,8 +12,12 @@
 #include <xen/grant_table.h>
 #include <xen/guest_access.h>
 #include <xen/mm.h>
+#include <xen/static-memory.h>
+#include <xen/static-shmem.h>
 #include <xen/vmap.h>
 
+#include <asm/setup.h>
+
 #include <xsm/xsm.h>
 
 #include <public/memory.h>
@@ -24,6 +28,47 @@
 
 unsigned long frametable_base_pdx __read_mostly;
 
+#if defined(CONFIG_ARM_64) || defined(CONFIG_MPU)
+void __init setup_mm(void)
+{
+    const struct membanks *banks = bootinfo_get_mem();
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_end = 0;
+    paddr_t ram_size = 0;
+    unsigned int i;
+
+    init_pdx();
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        ram_size = ram_size + bank->size;
+        ram_start = min(ram_start, bank->start);
+        ram_end = max(ram_end, bank_end);
+    }
+
+    total_pages = ram_size >> PAGE_SHIFT;
+
+    /*
+     * On MMU systems we need some memory to allocate the page-tables used for
+     * the direct mapmappings. But some regions may contain memory already
+     * allocated for other uses (e.g. modules, reserved-memory...).
+     *
+     * For simplicity, add all the free regions in the boot allocator.
+     */
+    populate_boot_allocator();
+
+    setup_mm_helper();
+
+    setup_frametable_mappings(ram_start, ram_end);
+
+    init_staticmem_pages();
+    init_sharedmem_pages();
+}
+#endif
+
 bool flags_has_rwx(unsigned int flags)
 {
     /*
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 3f155b7db2..b80edcf1ca 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -5,12 +5,14 @@
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
+#include <xen/pfn.h>
 #include <xen/sizes.h>
 #include <xen/spinlock.h>
 #include <xen/types.h>
 #include <asm/mpu.h>
 #include <asm/mpu/mm.h>
 #include <asm/page.h>
+#include <asm/setup.h>
 #include <asm/sysregs.h>
 
 struct page_info *frame_table;
@@ -378,9 +380,33 @@ int map_pages_to_xen(unsigned long virt, mfn_t mfn, unsigned long nr_mfns,
     return xen_mpumap_update(virt, mfn_to_maddr(mfn_add(mfn, nr_mfns)), flags);
 }
 
-void __init setup_mm(void)
+/*
+ * Heap must be statically configured in Device Tree through "xen,static-heap"
+ * on MPU systems, use setup_mm_helper() for that.
+ */
+void __init setup_mm_helper(void)
 {
-    BUG_ON("unimplemented");
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+    unsigned int bank = 0;
+
+    for ( ; bank < reserved_mem->nr_banks; bank++ )
+    {
+        if ( reserved_mem->bank[bank].type == MEMBANK_STATIC_HEAP )
+        {
+            paddr_t bank_start = round_pgup(reserved_mem->bank[bank].start);
+            paddr_t bank_size = round_pgdown(reserved_mem->bank[bank].size);
+            paddr_t bank_end = bank_start + bank_size;
+
+            /* Map static heap with one MPU protection region */
+            if ( xen_mpumap_update(bank_start, bank_end, PAGE_HYPERVISOR) )
+                panic("Failed to map static heap\n");
+
+            break;
+        }
+    }
+
+    if ( bank == reserved_mem->nr_banks )
+        panic("No static heap memory bank found\n");
 }
 
 int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 15:00:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 15:00:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171302.1496329 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNY33-0000Wc-9X; Mon, 24 Nov 2025 15:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171302.1496329; Mon, 24 Nov 2025 15:00:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNY33-0000WU-71; Mon, 24 Nov 2025 15:00:13 +0000
Received: by outflank-mailman (input) for mailman id 1171302;
 Mon, 24 Nov 2025 15:00:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNY32-0000WG-2W
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 15:00:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNY32-0066Vg-08
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:00:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNY31-008DpU-3D
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:00:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=cByjJFMQICqZ2kEWiMleexViB0vDiC59htj61+pXx18=; b=Zq/qWdZTZYyti8ncxeRqGSweFb
	eviLcMc4aGlu8HSt862O6MpxLpHyPU9GvRUrqfj3Oqwht+SFn7d+evqOst+0A8FlRo7x2efVb5ywx
	rQEMcTUK9L7ANJ21ySVTK38eUIn1JQrfso2eaX1XNY4R2IKHb577nKM7HZMzFRRX00O4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] arm/mpu: Implement reference counting for inclusive regions
Message-Id: <E1vNY31-008DpU-3D@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 15:00:11 +0000

commit 1128e6fe3618f5d5266e9c11e50389284d830625
Author:     Harry Ramsey <harry.ramsey@arm.com>
AuthorDate: Wed Nov 19 07:53:50 2025 +0000
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Mon Nov 24 13:53:47 2025 +0100

    arm/mpu: Implement reference counting for inclusive regions
    
    Implement reference counting to enable inclusive MPU regions. An
    inclusive region is defined as a region encapsulated inside a
    previously allocated region sharing the same permissions.
    
    Reference counts are incremented and decremented in
    xen_mpumap_update_entry. A region will be destroyed if the reference
    count is 0 upon calling destroy_xen_mappings and if the full region
    range is specified.
    
    Additionally XEN_MPUMAP_ENTRY_SHIFT and XEN_MPUMAP_ENTRY_SHIFT_ZERO are
    no longer hardcoded and defined inside asm-offsets.c.
    
    Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm32/asm-offsets.c         |  2 +
 xen/arch/arm/arm64/asm-offsets.c         |  2 +
 xen/arch/arm/include/asm/arm32/mpu.h     |  2 +
 xen/arch/arm/include/asm/arm64/mpu.h     |  2 +
 xen/arch/arm/include/asm/mpu/regions.inc | 11 ++++-
 xen/arch/arm/mpu/mm.c                    | 73 ++++++++++++++++++++++++++------
 6 files changed, 76 insertions(+), 16 deletions(-)

diff --git a/xen/arch/arm/arm32/asm-offsets.c b/xen/arch/arm/arm32/asm-offsets.c
index c203ce269d..951f8d03f3 100644
--- a/xen/arch/arm/arm32/asm-offsets.c
+++ b/xen/arch/arm/arm32/asm-offsets.c
@@ -79,6 +79,8 @@ void __dummy__(void)
 #ifdef CONFIG_MPU
    DEFINE(XEN_MPUMAP_MASK_sizeof, sizeof(xen_mpumap_mask));
    DEFINE(XEN_MPUMAP_sizeof, sizeof(xen_mpumap));
+   DEFINE(XEN_MPUMAP_ENTRY_SHIFT, ilog2(sizeof(pr_t)));
+   DEFINE(XEN_MPUMAP_ENTRY_ZERO_OFFSET, sizeof(prbar_t) + sizeof(prlar_t));
    BLANK();
 #endif
 }
diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
index 320289b281..38a3894a3b 100644
--- a/xen/arch/arm/arm64/asm-offsets.c
+++ b/xen/arch/arm/arm64/asm-offsets.c
@@ -73,6 +73,8 @@ void __dummy__(void)
 #ifdef CONFIG_MPU
    DEFINE(XEN_MPUMAP_MASK_sizeof, sizeof(xen_mpumap_mask));
    DEFINE(XEN_MPUMAP_sizeof, sizeof(xen_mpumap));
+   DEFINE(XEN_MPUMAP_ENTRY_SHIFT, ilog2(sizeof(pr_t)));
+   DEFINE(XEN_MPUMAP_ENTRY_ZERO_OFFSET, sizeof(prbar_t) + sizeof(prlar_t));
    BLANK();
 #endif
 }
diff --git a/xen/arch/arm/include/asm/arm32/mpu.h b/xen/arch/arm/include/asm/arm32/mpu.h
index 0a6930b3a0..137022d922 100644
--- a/xen/arch/arm/include/asm/arm32/mpu.h
+++ b/xen/arch/arm/include/asm/arm32/mpu.h
@@ -39,6 +39,8 @@ typedef union {
 typedef struct {
     prbar_t prbar;
     prlar_t prlar;
+    uint8_t refcount;
+    uint8_t pad[7];     /* Pad structure to 16 Bytes */
 } pr_t;
 
 #endif /* __ASSEMBLY__ */
diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/arm64/mpu.h
index f0ce344e78..17f62ccaf6 100644
--- a/xen/arch/arm/include/asm/arm64/mpu.h
+++ b/xen/arch/arm/include/asm/arm64/mpu.h
@@ -38,6 +38,8 @@ typedef union {
 typedef struct {
     prbar_t prbar;
     prlar_t prlar;
+    uint8_t refcount;
+    uint8_t pad[15];    /* Pad structure to 32 Bytes */
 } pr_t;
 
 #endif /* __ASSEMBLY__ */
diff --git a/xen/arch/arm/include/asm/mpu/regions.inc b/xen/arch/arm/include/asm/mpu/regions.inc
index 23fead3b21..0cdbb17bc3 100644
--- a/xen/arch/arm/include/asm/mpu/regions.inc
+++ b/xen/arch/arm/include/asm/mpu/regions.inc
@@ -14,14 +14,12 @@
 #define PRLAR_ELx_EN            0x1
 
 #ifdef CONFIG_ARM_64
-#define XEN_MPUMAP_ENTRY_SHIFT  0x4     /* 16 byte structure */
 
 .macro store_pair reg1, reg2, dst
     stp \reg1, \reg2, [\dst]
 .endm
 
 #else
-#define XEN_MPUMAP_ENTRY_SHIFT  0x3     /* 8 byte structure */
 
 .macro store_pair reg1, reg2, dst
     strd  \reg1, \reg2, [\dst]
@@ -97,6 +95,15 @@
 
 3:
 
+    /* Clear the rest of the xen_mpumap entry. */
+#ifdef CONFIG_ARM_64
+    stp xzr, xzr, [\base, #XEN_MPUMAP_ENTRY_ZERO_OFFSET]
+#else
+    mov \prbar, #0
+    mov \prlar, #0
+    strd \prbar, \prlar, [\base, #XEN_MPUMAP_ENTRY_ZERO_OFFSET]
+#endif
+
     add   \sel, \sel, #1
 
 1:
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index b80edcf1ca..29dd8c4622 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -106,6 +106,7 @@ pr_t pr_of_addr(paddr_t base, paddr_t limit, unsigned int flags)
     region = (pr_t) {
         .prbar = prbar,
         .prlar = prlar,
+        .refcount = 0,
     };
 
     /* Set base address and limit address. */
@@ -170,6 +171,35 @@ int mpumap_contains_region(pr_t *table, uint8_t nr_regions, paddr_t base,
     return MPUMAP_REGION_NOTFOUND;
 }
 
+static bool is_mm_attr_match(pr_t *region, unsigned int attributes)
+{
+    if ( region->prbar.reg.ro != PAGE_RO_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Access Permission attributes (%#x instead of %#x)\n",
+               region->prbar.reg.ro, PAGE_RO_MASK(attributes));
+        return false;
+    }
+
+    if ( region->prbar.reg.xn != PAGE_XN_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Execute Never attributes (%#x instead of %#x)\n",
+               region->prbar.reg.xn, PAGE_XN_MASK(attributes));
+        return false;
+    }
+
+    if ( region->prlar.reg.ai != PAGE_AI_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Memory Attribute Index (%#x instead of %#x)\n",
+               region->prlar.reg.ai, PAGE_AI_MASK(attributes));
+        return false;
+    }
+
+    return true;
+}
+
 /* Map a frame table to cover physical addresses ps through pe */
 void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
 {
@@ -284,22 +314,26 @@ static int xen_mpumap_update_entry(paddr_t base, paddr_t limit,
 
     flags_has_page_present = flags & _PAGE_PRESENT;
 
-    /* Currently we don't support modifying an existing entry. */
+    /*
+    * Currently, we only support removing/modifying a *WHOLE* MPU memory
+    * region. Part-region removal/modification is not supported as in the worst
+    * case it will leave two/three fragments behind.
+    */
     if ( flags_has_page_present && (rc >= MPUMAP_REGION_FOUND) )
     {
-        printk("Modifying an existing entry is not supported\n");
-        return -EINVAL;
-    }
+        if ( !is_mm_attr_match(&xen_mpumap[idx], flags) )
+        {
+            printk("Modifying an existing entry is not supported\n");
+            return -EINVAL;
+        }
 
-    /*
-     * Currently, we only support removing/modifying a *WHOLE* MPU memory
-     * region. Part-region removal/modification is not supported as in the worst
-     * case it will leave two/three fragments behind.
-     */
-    if ( rc == MPUMAP_REGION_INCLUSIVE )
-    {
-        printk("Part-region removal/modification is not supported\n");
-        return -EINVAL;
+        /* Check for overflow of refcount before incrementing.  */
+        if ( xen_mpumap[idx].refcount == 0xFF )
+        {
+            printk("Cannot allocate region as it would cause refcount overflow\n");
+            return -ENOENT;
+        }
+        xen_mpumap[idx].refcount += 1;
     }
 
     /* We are inserting a mapping => Create new region. */
@@ -323,7 +357,18 @@ static int xen_mpumap_update_entry(paddr_t base, paddr_t limit,
             return -EINVAL;
         }
 
-        disable_mpu_region_from_index(idx);
+        if ( xen_mpumap[idx].refcount == 0 )
+        {
+            if ( MPUMAP_REGION_FOUND == rc )
+                disable_mpu_region_from_index(idx);
+            else
+            {
+                printk("Cannot remove a partial region\n");
+                return -EINVAL;
+            }
+        }
+        else
+            xen_mpumap[idx].refcount -= 1;
     }
 
     return 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 15:00:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 15:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171305.1496333 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNY3D-0000bv-CA; Mon, 24 Nov 2025 15:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171305.1496333; Mon, 24 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vNY3D-0000bn-9h; Mon, 24 Nov 2025 15:00:23 +0000
Received: by outflank-mailman (input) for mailman id 1171305;
 Mon, 24 Nov 2025 15:00:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNY3C-0000bV-5J
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 15:00:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNY3C-0066Vs-0R
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:00:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNY3C-008Dsf-0K
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:00:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=9w6cAGzbZICtBnDufp+8s3z8vDC6pYcYyTpwUfnMHmU=; b=6d7D0G1Kj3UqcBd0XGF1qDtAyM
	VG1hFmCZKLfWnZoxsxnSpHO6yW+S5H8Qmbg8DAmF74N8oOLar4CBkWnZYP/aFykiwPwGViEbMutnb
	IoYWMR6BAyg1pwNx+4aSPkuHHDmhscPkHJiOjTWLNxJD4JKL7Mi+Pjuv/ED1s0slJSm8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] arm/mpu: Implement ioremap_attr for MPU
Message-Id: <E1vNY3C-008Dsf-0K@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 15:00:22 +0000

commit efeec4c70798ecbca2919e9e8888fec45937a1af
Author:     Harry Ramsey <harry.ramsey@arm.com>
AuthorDate: Wed Nov 19 07:53:51 2025 +0000
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Mon Nov 24 13:53:47 2025 +0100

    arm/mpu: Implement ioremap_attr for MPU
    
    Implement the function `ioremap_attr` for MPU systems.
    
    Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
    Acked-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/mpu/mm.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 29dd8c4622..687dec3bc6 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -473,8 +473,14 @@ void free_init_memory(void)
 
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
 {
-    BUG_ON("unimplemented");
-    return NULL;
+    paddr_t start_pg = round_pgdown(start);
+    paddr_t end_pg = round_pgup(start_pg + len);
+
+    if ( xen_mpumap_update(start_pg, end_pg, flags) )
+        return NULL;
+
+    /* Mapped or already mapped */
+    return maddr_to_virt(start_pg);
 }
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 15:22:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 15:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171456.1496457 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNYOC-0002PM-TR; Mon, 24 Nov 2025 15:22:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171456.1496457; Mon, 24 Nov 2025 15:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vNYOC-0002PC-Qj; Mon, 24 Nov 2025 15:22:04 +0000
Received: by outflank-mailman (input) for mailman id 1171456;
 Mon, 24 Nov 2025 15:22:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNYOA-0002Nk-Vf
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 15:22:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOA-00673Q-0X
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOA-008HNY-0Q
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Q7Q+H96UEc+Ya9BlPKsGVWtGKfibMgXjbeGEAVoJi8E=; b=vtWRNQgsuUrG3F/ZTH0q1+qpfb
	U1Z88sgJg2KxnCOwxiKs5T4Ucoj91/m/H2y22MBeww32B+PE6p67gw1gmpBeDsUqkJPnBbQlLt99f
	I34BiRqVWKLXpv6WEoEQfnULXXt01eGTZ61/Cs9yQ81eFuKLOS2P7hocEJVvXiGS3rlk=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNYOA-008HNY-0Q@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 15:22:02 +0000

commit a405bf42eddeb2a2e656807882176e37bd2378af
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 17 19:00:02 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1d1a5aa4b0..ecee400f28 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -260,7 +260,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch,
@@ -271,7 +273,7 @@ static int primary_thread_work(const struct microcode_patch *patch,
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch, flags);
     if ( !ret )
@@ -313,7 +315,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -336,7 +338,7 @@ static int primary_thread_fn(const struct microcode_patch *patch,
                              unsigned int flags)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 15:22:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 15:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171457.1496460 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNYOL-0002SP-UT; Mon, 24 Nov 2025 15:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171457.1496460; Mon, 24 Nov 2025 15:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vNYOL-0002SH-S2; Mon, 24 Nov 2025 15:22:13 +0000
Received: by outflank-mailman (input) for mailman id 1171457;
 Mon, 24 Nov 2025 15:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNYOK-0002S3-9x
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 15:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOK-00673V-0s
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOK-008HP4-0i
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=GIhx+GaMmr91Q/VvmAwoe8USIkKnv4i8cjnGwJtmn68=; b=NI7JOuMJU05cvMpJuqzJrM+pR+
	VHASy0BjOs7c6cGEemE0takW7Ytvob/OuVnwTH/b6RweJ2fKHANQPe3I+t+aZmeE+hn4uIh3TK3rI
	JGsXmjALaTjI+wHmPjzsFaJZ/uD0QNfdwd7MIydwouIr2H7xGrdQdRecb0XjmZSAHIvQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/ucode: Drop structurally unreachable ASSERT()s
Message-Id: <E1vNYOK-008HP4-0i@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 15:22:12 +0000

commit 76f80eaf70b2fafa12f8533cf6aa700efa541a82
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 17 21:11:36 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    x86/ucode: Drop structurally unreachable ASSERT()s
    
    It's impossible for wait_for_state() to return false when looking for
    LOADING_EXIT, so much so that the optimiser can drop the ASSERT()s.
    
    No functional change.
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/microcode/core.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index ecee400f28..7aaf62839f 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -320,12 +320,10 @@ static int secondary_thread_fn(void)
     self_nmi();
 
     /*
-     * Wait for ucode loading is done in case that the NMI does not arrive
-     * synchronously, which may lead to a not-yet-updated CPU signature is
-     * copied below.
+     * NMIs may not be delivered synchronously.  Wait for the primary threads
+     * to be done.
      */
-    if ( unlikely(!wait_for_state(LOADING_EXIT)) )
-        ASSERT_UNREACHABLE();
+    wait_for_state(LOADING_EXIT);
 
     /* Copy update revision from the primary thread. */
     this_cpu(cpu_sig).rev =
@@ -345,12 +343,10 @@ static int primary_thread_fn(const struct microcode_patch *patch,
         self_nmi();
 
         /*
-         * Wait for ucode loading is done in case that the NMI does not arrive
-         * synchronously, which may lead to a not-yet-updated error is returned
-         * below.
+         * NMIs may not be delivered synchronously.  Wait for the primary
+         * threads to be done.
          */
-        if ( unlikely(!wait_for_state(LOADING_EXIT)) )
-            ASSERT_UNREACHABLE();
+        wait_for_state(LOADING_EXIT);
 
         return this_cpu(loading_err);
     }
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 15:22:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 15:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171458.1496465 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNYOV-0002WC-W7; Mon, 24 Nov 2025 15:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171458.1496465; Mon, 24 Nov 2025 15:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNYOV-0002W5-TT; Mon, 24 Nov 2025 15:22:23 +0000
Received: by outflank-mailman (input) for mailman id 1171458;
 Mon, 24 Nov 2025 15:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNYOU-0002Vx-CY
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 15:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOU-00673d-19
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOU-008HQA-12
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=W4ecJYx1uYYQ+vD0Ua+TQfN1Ud5yUnvpoBrrfg3NeHM=; b=YUau5tHSXPXGmCnKsAiPS6q9oU
	OXt2gIKt3dXA9YBL55CM4iaeCPQymHnPuVzgmGWScmdnARFxbnTgLNMXLGHmN55Gd8Z8MF7HNmCOj
	LYAdvbeGptvrsnDA4APsHFpP1YajXpNIQU4Y+eRdaXkdQStyvgXFI0zn4UiM7vgt/2dY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/ucode: Create a real type for loading_state
Message-Id: <E1vNYOU-008HQA-12@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 15:22:22 +0000

commit e6600dc1bad9b57e65dd1f0313ed8b6f0edb8cc3
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 17 18:28:51 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    x86/ucode: Create a real type for loading_state
    
    Using typeof() in wait_for_state()/set_state() unnecesserily cryptic, and more
    verbose than using a proper type.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/microcode/core.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 7aaf62839f..fe47c3a6c1 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -70,12 +70,13 @@ static unsigned int nr_cores;
  *  - LOADING_ENTER: all CPUs have called in. Initiate ucode loading.
  *  - LOADING_EXIT: ucode loading is done or aborted.
  */
-static enum {
+typedef enum {
     LOADING_PREPARE,
     LOADING_CALLIN,
     LOADING_ENTER,
     LOADING_EXIT,
-} loading_state;
+} loading_state_t;
+static loading_state_t loading_state;
 
 struct patch_with_flags {
     unsigned int flags;
@@ -237,9 +238,9 @@ static bool cf_check wait_cpu_callout(unsigned int nr)
     return atomic_read(&cpu_out) >= nr;
 }
 
-static bool wait_for_state(typeof(loading_state) state)
+static bool wait_for_state(loading_state_t state)
 {
-    typeof(loading_state) cur_state;
+    loading_state_t cur_state;
 
     while ( (cur_state = ACCESS_ONCE(loading_state)) != state )
     {
@@ -251,7 +252,7 @@ static bool wait_for_state(typeof(loading_state) state)
     return true;
 }
 
-static void set_state(typeof(loading_state) state)
+static void set_state(loading_state_t state)
 {
     ACCESS_ONCE(loading_state) = state;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 15:22:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 15:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171459.1496468 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNYOg-0002bF-1G; Mon, 24 Nov 2025 15:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171459.1496468; Mon, 24 Nov 2025 15:22:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNYOf-0002b7-V1; Mon, 24 Nov 2025 15:22:33 +0000
Received: by outflank-mailman (input) for mailman id 1171459;
 Mon, 24 Nov 2025 15:22:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNYOe-0002az-FW
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 15:22:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOe-00673j-1R
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNYOe-008HTb-1K
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 15:22:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=tIQriVqn04MJrsDA7VmjECfYnHjm2Th7uQMMCe2JDGY=; b=cBjKF/OcbAmhqPDMz5dlEd+J+X
	eaEYcvLvkPg5VPdX+ff9Gk8HxrkGSDdaqEjDDPJVBTbRLniRKRsSA8+N54cQ6LzHVNQh6aTlv8jah
	MP59ov9wDBT4Hq25bDSNmTigLpLk77ET+zSq/e0XMcs/JmhCpWMfBnMIms1phyv/oDbY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen: Enable MC/DC coverage for Clang
Message-Id: <E1vNYOe-008HTb-1K@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 15:22:32 +0000

commit 08c787f66cced18f0d0afafd86a040341adbd031
Author:     Saman Dehghan <samaan.dehghan@gmail.com>
AuthorDate: Mon Nov 24 07:17:24 2025 -0600
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    xen: Enable MC/DC coverage for Clang
    
    Clang >= 18 supports Modified Condition/Decision Coverage (MC/DC).
    This patch enables the detection and usage of this feature when
    compiling Xen with Clang.
    
    - Update detection logic in Kconfig to check for the required set of
      Clang flags for MC/DC:
      '-fprofile-instr-generate -fcoverage-mapping -fcoverage-mcdc'.
      This bundle is necessary because '-fcoverage-mcdc' requires
      '-fcoverage-mapping', which in turn requires '-fprofile-instr-generate'.
    - Update llvm.c to handle the profile format changes (bitmap section)
      required for MC/DC.
    - Guard -Wno-error=coverage-too-many-conditions with CONFIG_CC_IS_GCC
      to avoid passing a GCC-only warning option to Clang
    
    Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/Kconfig                |  5 +++--
 xen/Rules.mk               |  1 +
 xen/arch/x86/Makefile      |  2 +-
 xen/common/coverage/llvm.c | 18 +++++++++++++++++-
 4 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/xen/Kconfig b/xen/Kconfig
index a5e5af3b76..fe5f1179f4 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -51,9 +51,10 @@ config CC_HAS_ASM_GOTO_OUTPUT
 	depends on !GCC_ASM_GOTO_OUTPUT_BROKEN
 	depends on $(success,echo 'int foo(int x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return 0; }' | $(CC) -x c - -c -o /dev/null)
 
-# Compiler supports -fcondition-coverage aka MC/DC
+# Compiler supports Modified Condition/Decision Coverage (MC/DC).
 config CC_HAS_MCDC
-	def_bool $(cc-option,-fcondition-coverage)
+	# GCC >= 14, or Clang >= 18
+	def_bool $(cc-option,-fcondition-coverage) || $(cc-option,-fprofile-instr-generate -fcoverage-mapping -fcoverage-mcdc)
 
 # Set code alignment.
 #
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 24f447b957..2b28d1ac3c 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -136,6 +136,7 @@ non-init-objects = $(filter-out %.init.o, $(obj-y) $(obj-bin-y) $(extra-y))
 
 ifeq ($(CONFIG_CC_IS_CLANG),y)
     cov-cflags-$(CONFIG_COVERAGE) := -fprofile-instr-generate -fcoverage-mapping
+    cov-cflags-$(CONFIG_CONDITION_COVERAGE) += -fcoverage-mcdc
 else
     cov-cflags-$(CONFIG_COVERAGE) := -fprofile-arcs -ftest-coverage
     cov-cflags-$(CONFIG_CONDITION_COVERAGE) += -fcondition-coverage
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 407571c510..6c0ff67fa8 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -98,7 +98,7 @@ $(obj)/usercopy.o: CFLAGS-y += -iquote .
 ifneq ($(CONFIG_HVM),y)
 $(obj)/x86_emulate.o: CFLAGS-y += -Wno-unused-label
 endif
-ifeq ($(CONFIG_CONDITION_COVERAGE),y)
+ifeq ($(CONFIG_CONDITION_COVERAGE)$(CONFIG_CC_IS_GCC),yy)
 $(obj)/x86_emulate.o: CFLAGS-y += -Wno-error=coverage-too-many-conditions
 endif
 
diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
index 532889c857..5663fb10dd 100644
--- a/xen/common/coverage/llvm.c
+++ b/xen/common/coverage/llvm.c
@@ -120,6 +120,8 @@ extern const char __start___llvm_prf_names[];
 extern const char __stop___llvm_prf_names[];
 extern uint64_t __start___llvm_prf_cnts[];
 extern uint64_t __stop___llvm_prf_cnts[];
+extern const char __start___llvm_prf_bits[];
+extern const char __stop___llvm_prf_bits[];
 
 #define START_DATA      ((const void *)__start___llvm_prf_data)
 #define END_DATA        ((const void *)__stop___llvm_prf_data)
@@ -127,16 +129,23 @@ extern uint64_t __stop___llvm_prf_cnts[];
 #define END_NAMES       ((const void *)__stop___llvm_prf_names)
 #define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
 #define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)
+#define START_BITMAP    ((void *)__start___llvm_prf_bits)
+#define END_BITMAP      ((void *)__stop___llvm_prf_bits)
 
 static void cf_check reset_counters(void)
 {
     memset(START_COUNTERS, 0, END_COUNTERS - START_COUNTERS);
+    if ( IS_ENABLED(CONFIG_CONDITION_COVERAGE) )
+        memset(START_BITMAP, 0, END_BITMAP - START_BITMAP);
 }
 
 static uint32_t cf_check get_size(void)
 {
-    return ROUNDUP(sizeof(struct llvm_profile_header) + END_DATA - START_DATA +
+    uint32_t size = ROUNDUP(sizeof(struct llvm_profile_header) + END_DATA - START_DATA +
                    END_COUNTERS - START_COUNTERS + END_NAMES - START_NAMES, 8);
+    if ( IS_ENABLED(CONFIG_CONDITION_COVERAGE) )
+        size += ROUNDUP(END_BITMAP - START_BITMAP, 8);
+    return size;
 }
 
 static int cf_check dump(
@@ -155,6 +164,10 @@ static int cf_check dump(
 #endif
         .names_delta = (uintptr_t)START_NAMES,
         .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
+#if defined(CONFIG_CONDITION_COVERAGE) && LLVM_PROFILE_VERSION >= 9
+        .num_bitmap_bytes = END_BITMAP - START_BITMAP,
+        .bitmap_delta = START_BITMAP - START_DATA,
+#endif
     };
     unsigned int off = 0;
 
@@ -168,6 +181,9 @@ static int cf_check dump(
     APPEND_TO_BUFFER(&header, sizeof(header));
     APPEND_TO_BUFFER(START_DATA, END_DATA - START_DATA);
     APPEND_TO_BUFFER(START_COUNTERS, END_COUNTERS - START_COUNTERS);
+#if defined(CONFIG_CONDITION_COVERAGE)
+    APPEND_TO_BUFFER(START_BITMAP, END_BITMAP - START_BITMAP);
+#endif
     APPEND_TO_BUFFER(START_NAMES, END_NAMES - START_NAMES);
 #undef APPEND_TO_BUFFER
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 17:11:09 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 17:11:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171510.1496512 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa5e-0003Hk-H1; Mon, 24 Nov 2025 17:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171510.1496512; Mon, 24 Nov 2025 17:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa5e-0003Hc-ER; Mon, 24 Nov 2025 17:11:02 +0000
Received: by outflank-mailman (input) for mailman id 1171510;
 Mon, 24 Nov 2025 17:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNa5e-0003HW-0M
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 17:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa5d-0069nZ-2r
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa5d-008dJR-2k
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=FOY0pYUTNgsrEbyTH33V6b3FGdZCZrhEXPwBN+tkGbs=; b=zad7wUUpBfVvsR+l9UFdO2Cb+Y
	apFDuoW1PZCJTzFscaSnf27ifzXUuJ7gh+12GML61cpft7LjVGioh92uB0tW9CNA4Px/cv2qHUexJ
	4QXOM5KbSPBW20wvNwGbucf/HhD12NN+nVQu0MoAT49u7z/KtQJtnHzV+6iGeKpk/Xj0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNa5d-008dJR-2k@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 17:11:01 +0000

commit a405bf42eddeb2a2e656807882176e37bd2378af
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 17 19:00:02 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1d1a5aa4b0..ecee400f28 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -260,7 +260,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch,
@@ -271,7 +273,7 @@ static int primary_thread_work(const struct microcode_patch *patch,
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch, flags);
     if ( !ret )
@@ -313,7 +315,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -336,7 +338,7 @@ static int primary_thread_fn(const struct microcode_patch *patch,
                              unsigned int flags)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 17:11:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 17:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171512.1496517 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa5o-0003KH-Je; Mon, 24 Nov 2025 17:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171512.1496517; Mon, 24 Nov 2025 17:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa5o-0003K9-H3; Mon, 24 Nov 2025 17:11:12 +0000
Received: by outflank-mailman (input) for mailman id 1171512;
 Mon, 24 Nov 2025 17:11:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNa5o-0003Jz-0a
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 17:11:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa5n-0069ne-3A
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa5n-008dKX-32
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=CkPOxbBFeES4tKAT+9R4bbhqHe/Zuicqyll4PpQXFZI=; b=H3yv++TYSSFcfWpStJ19gE3CI0
	ZpaGXN6FS1BZ1S5SB9olW4jk50mLhzf2HiN/VYYgwDYvc6PByilhknK61k/W0r2xYo5/Mjy8JpRZ7
	7mKrPVNqQpipYsBgAEzCqu7VD/VEkVH6ll3OA+Ywb/2pY5FFaQsCdIcxxlqRdTFY5K98=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/ucode: Drop structurally unreachable ASSERT()s
Message-Id: <E1vNa5n-008dKX-32@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 17:11:11 +0000

commit 76f80eaf70b2fafa12f8533cf6aa700efa541a82
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 17 21:11:36 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    x86/ucode: Drop structurally unreachable ASSERT()s
    
    It's impossible for wait_for_state() to return false when looking for
    LOADING_EXIT, so much so that the optimiser can drop the ASSERT()s.
    
    No functional change.
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/microcode/core.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index ecee400f28..7aaf62839f 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -320,12 +320,10 @@ static int secondary_thread_fn(void)
     self_nmi();
 
     /*
-     * Wait for ucode loading is done in case that the NMI does not arrive
-     * synchronously, which may lead to a not-yet-updated CPU signature is
-     * copied below.
+     * NMIs may not be delivered synchronously.  Wait for the primary threads
+     * to be done.
      */
-    if ( unlikely(!wait_for_state(LOADING_EXIT)) )
-        ASSERT_UNREACHABLE();
+    wait_for_state(LOADING_EXIT);
 
     /* Copy update revision from the primary thread. */
     this_cpu(cpu_sig).rev =
@@ -345,12 +343,10 @@ static int primary_thread_fn(const struct microcode_patch *patch,
         self_nmi();
 
         /*
-         * Wait for ucode loading is done in case that the NMI does not arrive
-         * synchronously, which may lead to a not-yet-updated error is returned
-         * below.
+         * NMIs may not be delivered synchronously.  Wait for the primary
+         * threads to be done.
          */
-        if ( unlikely(!wait_for_state(LOADING_EXIT)) )
-            ASSERT_UNREACHABLE();
+        wait_for_state(LOADING_EXIT);
 
         return this_cpu(loading_err);
     }
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 17:11:22 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 17:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171513.1496522 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa5y-0003Mk-LP; Mon, 24 Nov 2025 17:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171513.1496522; Mon, 24 Nov 2025 17:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa5y-0003Mc-IX; Mon, 24 Nov 2025 17:11:22 +0000
Received: by outflank-mailman (input) for mailman id 1171513;
 Mon, 24 Nov 2025 17:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNa5y-0003MS-3v
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 17:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa5y-0069nm-0I
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa5y-008dLX-07
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=GLQsulzrF4V7THpyfyt3emPBHiUUeitaKjLtd6YqCQs=; b=3OdASJ9+DU/ZVIahbDqmGEvsXV
	nMIGZBz9q5jbrDJhbIRwGdqXyWgiSPKnobdZHIai06QcMVu1TxIYonUTvghhB3G/OQwNxWwD6Q7SZ
	0o8fdDta+vKft85g1irQh0vW7Wc3QdujBT3KgpGnzRS+9LTtpcKEwqyWLXGf9w1/vNxw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/ucode: Create a real type for loading_state
Message-Id: <E1vNa5y-008dLX-07@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 17:11:22 +0000

commit e6600dc1bad9b57e65dd1f0313ed8b6f0edb8cc3
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 17 18:28:51 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    x86/ucode: Create a real type for loading_state
    
    Using typeof() in wait_for_state()/set_state() unnecesserily cryptic, and more
    verbose than using a proper type.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/microcode/core.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 7aaf62839f..fe47c3a6c1 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -70,12 +70,13 @@ static unsigned int nr_cores;
  *  - LOADING_ENTER: all CPUs have called in. Initiate ucode loading.
  *  - LOADING_EXIT: ucode loading is done or aborted.
  */
-static enum {
+typedef enum {
     LOADING_PREPARE,
     LOADING_CALLIN,
     LOADING_ENTER,
     LOADING_EXIT,
-} loading_state;
+} loading_state_t;
+static loading_state_t loading_state;
 
 struct patch_with_flags {
     unsigned int flags;
@@ -237,9 +238,9 @@ static bool cf_check wait_cpu_callout(unsigned int nr)
     return atomic_read(&cpu_out) >= nr;
 }
 
-static bool wait_for_state(typeof(loading_state) state)
+static bool wait_for_state(loading_state_t state)
 {
-    typeof(loading_state) cur_state;
+    loading_state_t cur_state;
 
     while ( (cur_state = ACCESS_ONCE(loading_state)) != state )
     {
@@ -251,7 +252,7 @@ static bool wait_for_state(typeof(loading_state) state)
     return true;
 }
 
-static void set_state(typeof(loading_state) state)
+static void set_state(loading_state_t state)
 {
     ACCESS_ONCE(loading_state) = state;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Mon Nov 24 17:11:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Nov 2025 17:11:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171514.1496525 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa69-0003QP-Mb; Mon, 24 Nov 2025 17:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171514.1496525; Mon, 24 Nov 2025 17:11:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNa69-0003QH-Js; Mon, 24 Nov 2025 17:11:33 +0000
Received: by outflank-mailman (input) for mailman id 1171514;
 Mon, 24 Nov 2025 17:11:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNa68-0003QB-Ae
 for xen-changelog@lists.xenproject.org; Mon, 24 Nov 2025 17:11:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa68-0069nu-0y
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNa68-008dOY-0T
 for xen-changelog@lists.xenproject.org;
 Mon, 24 Nov 2025 17:11:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=y5GcNFNXnkkhx69zrOcc7ighQELZg/VQ6PZYXJmxhig=; b=RXRfc7o0tU6OG41xNXeq0Z3tj3
	j3NFMg9zLdFoJ4qisLb4l3klqVigHLlXUfvesHjrHuq8IOFH+kzYxlJ4zmbFLRAYkOl+/VDAx/p+6
	nhKol0v+2MxEr+BWPMr1GtfOuq+bF4ZwZWSViTOIeboAdHrnAPQ/wQflDuI2eS3YQLNQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen: Enable MC/DC coverage for Clang
Message-Id: <E1vNa68-008dOY-0T@xenbits.xenproject.org>
Date: Mon, 24 Nov 2025 17:11:32 +0000

commit 08c787f66cced18f0d0afafd86a040341adbd031
Author:     Saman Dehghan <samaan.dehghan@gmail.com>
AuthorDate: Mon Nov 24 07:17:24 2025 -0600
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Mon Nov 24 15:17:39 2025 +0000

    xen: Enable MC/DC coverage for Clang
    
    Clang >= 18 supports Modified Condition/Decision Coverage (MC/DC).
    This patch enables the detection and usage of this feature when
    compiling Xen with Clang.
    
    - Update detection logic in Kconfig to check for the required set of
      Clang flags for MC/DC:
      '-fprofile-instr-generate -fcoverage-mapping -fcoverage-mcdc'.
      This bundle is necessary because '-fcoverage-mcdc' requires
      '-fcoverage-mapping', which in turn requires '-fprofile-instr-generate'.
    - Update llvm.c to handle the profile format changes (bitmap section)
      required for MC/DC.
    - Guard -Wno-error=coverage-too-many-conditions with CONFIG_CC_IS_GCC
      to avoid passing a GCC-only warning option to Clang
    
    Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/Kconfig                |  5 +++--
 xen/Rules.mk               |  1 +
 xen/arch/x86/Makefile      |  2 +-
 xen/common/coverage/llvm.c | 18 +++++++++++++++++-
 4 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/xen/Kconfig b/xen/Kconfig
index a5e5af3b76..fe5f1179f4 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -51,9 +51,10 @@ config CC_HAS_ASM_GOTO_OUTPUT
 	depends on !GCC_ASM_GOTO_OUTPUT_BROKEN
 	depends on $(success,echo 'int foo(int x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return 0; }' | $(CC) -x c - -c -o /dev/null)
 
-# Compiler supports -fcondition-coverage aka MC/DC
+# Compiler supports Modified Condition/Decision Coverage (MC/DC).
 config CC_HAS_MCDC
-	def_bool $(cc-option,-fcondition-coverage)
+	# GCC >= 14, or Clang >= 18
+	def_bool $(cc-option,-fcondition-coverage) || $(cc-option,-fprofile-instr-generate -fcoverage-mapping -fcoverage-mcdc)
 
 # Set code alignment.
 #
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 24f447b957..2b28d1ac3c 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -136,6 +136,7 @@ non-init-objects = $(filter-out %.init.o, $(obj-y) $(obj-bin-y) $(extra-y))
 
 ifeq ($(CONFIG_CC_IS_CLANG),y)
     cov-cflags-$(CONFIG_COVERAGE) := -fprofile-instr-generate -fcoverage-mapping
+    cov-cflags-$(CONFIG_CONDITION_COVERAGE) += -fcoverage-mcdc
 else
     cov-cflags-$(CONFIG_COVERAGE) := -fprofile-arcs -ftest-coverage
     cov-cflags-$(CONFIG_CONDITION_COVERAGE) += -fcondition-coverage
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 407571c510..6c0ff67fa8 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -98,7 +98,7 @@ $(obj)/usercopy.o: CFLAGS-y += -iquote .
 ifneq ($(CONFIG_HVM),y)
 $(obj)/x86_emulate.o: CFLAGS-y += -Wno-unused-label
 endif
-ifeq ($(CONFIG_CONDITION_COVERAGE),y)
+ifeq ($(CONFIG_CONDITION_COVERAGE)$(CONFIG_CC_IS_GCC),yy)
 $(obj)/x86_emulate.o: CFLAGS-y += -Wno-error=coverage-too-many-conditions
 endif
 
diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
index 532889c857..5663fb10dd 100644
--- a/xen/common/coverage/llvm.c
+++ b/xen/common/coverage/llvm.c
@@ -120,6 +120,8 @@ extern const char __start___llvm_prf_names[];
 extern const char __stop___llvm_prf_names[];
 extern uint64_t __start___llvm_prf_cnts[];
 extern uint64_t __stop___llvm_prf_cnts[];
+extern const char __start___llvm_prf_bits[];
+extern const char __stop___llvm_prf_bits[];
 
 #define START_DATA      ((const void *)__start___llvm_prf_data)
 #define END_DATA        ((const void *)__stop___llvm_prf_data)
@@ -127,16 +129,23 @@ extern uint64_t __stop___llvm_prf_cnts[];
 #define END_NAMES       ((const void *)__stop___llvm_prf_names)
 #define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
 #define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)
+#define START_BITMAP    ((void *)__start___llvm_prf_bits)
+#define END_BITMAP      ((void *)__stop___llvm_prf_bits)
 
 static void cf_check reset_counters(void)
 {
     memset(START_COUNTERS, 0, END_COUNTERS - START_COUNTERS);
+    if ( IS_ENABLED(CONFIG_CONDITION_COVERAGE) )
+        memset(START_BITMAP, 0, END_BITMAP - START_BITMAP);
 }
 
 static uint32_t cf_check get_size(void)
 {
-    return ROUNDUP(sizeof(struct llvm_profile_header) + END_DATA - START_DATA +
+    uint32_t size = ROUNDUP(sizeof(struct llvm_profile_header) + END_DATA - START_DATA +
                    END_COUNTERS - START_COUNTERS + END_NAMES - START_NAMES, 8);
+    if ( IS_ENABLED(CONFIG_CONDITION_COVERAGE) )
+        size += ROUNDUP(END_BITMAP - START_BITMAP, 8);
+    return size;
 }
 
 static int cf_check dump(
@@ -155,6 +164,10 @@ static int cf_check dump(
 #endif
         .names_delta = (uintptr_t)START_NAMES,
         .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
+#if defined(CONFIG_CONDITION_COVERAGE) && LLVM_PROFILE_VERSION >= 9
+        .num_bitmap_bytes = END_BITMAP - START_BITMAP,
+        .bitmap_delta = START_BITMAP - START_DATA,
+#endif
     };
     unsigned int off = 0;
 
@@ -168,6 +181,9 @@ static int cf_check dump(
     APPEND_TO_BUFFER(&header, sizeof(header));
     APPEND_TO_BUFFER(START_DATA, END_DATA - START_DATA);
     APPEND_TO_BUFFER(START_COUNTERS, END_COUNTERS - START_COUNTERS);
+#if defined(CONFIG_CONDITION_COVERAGE)
+    APPEND_TO_BUFFER(START_BITMAP, END_BITMAP - START_BITMAP);
+#endif
     APPEND_TO_BUFFER(START_NAMES, END_NAMES - START_NAMES);
 #undef APPEND_TO_BUFFER
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:44:11 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:44:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171746.1496739 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNoeY-0001az-J4; Tue, 25 Nov 2025 08:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171746.1496739; Tue, 25 Nov 2025 08:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNoeY-0001ar-GR; Tue, 25 Nov 2025 08:44:02 +0000
Received: by outflank-mailman (input) for mailman id 1171746;
 Tue, 25 Nov 2025 08:44:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNoeX-0001al-Oh
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:44:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNoeX-007fpx-1x
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNoeX-00Apom-1o
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=YJxh4hbipFtbgHXGPeL/8FtygQNohcFtVwIltBVNc3U=; b=pAfsKGv/rUzYDteUKdkTWgJQp0
	+7//S525tfm4WvsEIvaauazIUzDyE6vqWD28N6TZ442K/4LW+/XmzLfbVKt6m7T2/flY7ToH8yTNl
	4Q/bCQlUiv22lnAl1tA+a+3hooBR4N1vEkibBDCZQajrjqkskAZNZHcE7iixsrBkTv2I=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86emul/test: extend cleaning of generated files
Message-Id: <E1vNoeX-00Apom-1o@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:44:01 +0000

commit b1df63afb0746f82ef666cb0184dfd45a2f7465a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:36:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:36:01 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
    master date: 2025-11-13 09:08:27 +0100
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 3f57ac6159..2228a8591a 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -261,7 +261,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:44:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171747.1496744 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNoei-0001cV-LL; Tue, 25 Nov 2025 08:44:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171747.1496744; Tue, 25 Nov 2025 08:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNoei-0001cN-Hu; Tue, 25 Nov 2025 08:44:12 +0000
Received: by outflank-mailman (input) for mailman id 1171747;
 Tue, 25 Nov 2025 08:44:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNoeh-0001cD-NE
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:44:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNoeh-007fqH-2E
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNoeh-00ApsU-27
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=hk8w1R7KdgCYb0uKCbA4X4W3NsmqzDQhc1ffZmst5/I=; b=rYjPL4MFZSG6i27Ei8vzR5IBcL
	u1EhgZB1m5pt06XNXNLq1b7y14DGHRcqV1eoMGs3AJGW1/DwtLnDLRbrmFFSke+08AYuTLXzsfvYm
	awg5fZ0blOdVeO/EJYxAy6mWicp4NZZSSr5xd2Pk2V91ElLnMqPs7Wf/hi58G6YMkgjA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] update Xen version to 4.20.3-pre
Message-Id: <E1vNoeh-00ApsU-27@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:44:11 +0000

commit 97e1737c3fa96bfdf9170fe6b589cc0e1c02818b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:36:43 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:36:43 2025 +0100

    update Xen version to 4.20.3-pre
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 9fa65a7571..074052d0b0 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    = 20
-export XEN_EXTRAVERSION ?= .2$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .3-pre$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:44:22 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:44:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171748.1496746 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNoes-0001ex-Lx; Tue, 25 Nov 2025 08:44:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171748.1496746; Tue, 25 Nov 2025 08:44:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNoes-0001eq-JK; Tue, 25 Nov 2025 08:44:22 +0000
Received: by outflank-mailman (input) for mailman id 1171748;
 Tue, 25 Nov 2025 08:44:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNoer-0001eg-QI
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:44:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNoer-007fqe-2W
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNoer-00Apvm-2O
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=fAG2VhXjUG2pT70Mxf60STrVfWBa+vdJdbtpZ7wZtyc=; b=7At1p0CJjck+frXqkQjFFThwlj
	LXFPtHE71mzaH8B2GmZMSiK4M7burfqrtTEkAtZzdvu5c+thH8ITt6d4f1mInx7GHpuBZTLfH5Hkb
	K++S376ini+2TJXKqB1uidrmWgukLMnDJuwJ6TEQ+cY6+9Alyc36QkSFxUIWfmSoNpmU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vNoer-00Apvm-2O@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:44:21 +0000

commit e2b5544a929898c05f38230677fd55570064f5e3
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:37:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:01 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 07e57af2b4715a9d088781b06c4f97c7d9f25b19
    master date: 2025-11-17 14:46:40 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index af7f8f8aed..0b51796791 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -652,6 +652,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:44:32 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:44:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171749.1496751 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNof2-0001hL-NW; Tue, 25 Nov 2025 08:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171749.1496751; Tue, 25 Nov 2025 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-changelog-bounces@lists.xenproject.org>)
	id 1vNof2-0001hD-Kr; Tue, 25 Nov 2025 08:44:32 +0000
Received: by outflank-mailman (input) for mailman id 1171749;
 Tue, 25 Nov 2025 08:44:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNof1-0001h5-T1
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:44:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNof1-007fqi-2o
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNof1-00Apxt-2i
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=iz1hy7e2KyFn/+gWpiaj9AjKZabdTYY2lUiOYXkERhg=; b=2qFOB70Ni1v58HegwC0es323Pq
	bAcubN3+jQJB1UnUkaoHG7Ci/1j5D+BxB/u7F1oTFf4tjuqJSupSKXd2qF0oA6OVaBnwANMUG406J
	gbCq9cMngLBnOIoHe/msa2sLDzkaudaNHH0BiH1PBqEqyisXT8nxpzas7/rRhlXDNT5U=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] xen: Fix EFI buildid alignment
Message-Id: <E1vNof1-00Apxt-2i@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:44:31 +0000

commit 247be3ab2ba8c953f198d8f986b7b8dca8d2afa6
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Tue Nov 25 09:37:28 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:28 2025 +0100

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 26b111cc22b7e36ae5d72a17758b3ec6a1156432
    master date: 2025-11-20 14:29:57 +0000
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index e6c71a8e3e..f13655567a 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -173,6 +173,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:44:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171750.1496755 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNofD-0001jZ-Pd; Tue, 25 Nov 2025 08:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171750.1496755; Tue, 25 Nov 2025 08:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vNofD-0001jR-ML; Tue, 25 Nov 2025 08:44:43 +0000
Received: by outflank-mailman (input) for mailman id 1171750;
 Tue, 25 Nov 2025 08:44:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNofC-0001jJ-3V
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:44:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofC-007fqs-04
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofB-00Aq1b-2z
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:41 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=cEEx7EzrsZ8WpUYL2xE8F69Q6840r/nZBkxmSO2jzMU=; b=DveTdmgyUUMLGcFNdo5uyfDYs7
	dDSdDmuir90ZQ6jk0iXkrvb/RZYdP16O3DEzYrFP8tTjExZI3ekeCxDH4WsGDSmdxhhTmx7XvlzhZ
	9zsxnefRO4lHdBT7civNspfMlNYeea0A+iuWrXh2/bgUbAqDHpeR0mzk01oIoWJ95O3c=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNofB-00Aq1b-2z@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:44:41 +0000

commit 840b0294dfc5bdafb2139315d65fe06b38fe6296
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:37:38 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:38 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
    master date: 2025-11-24 11:28:47 +0100
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 2228a8591a..d632c8c222 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -98,7 +98,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:44:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171752.1496759 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNofN-0001mK-S3; Tue, 25 Nov 2025 08:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171752.1496759; Tue, 25 Nov 2025 08:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vNofN-0001mC-PH; Tue, 25 Nov 2025 08:44:53 +0000
Received: by outflank-mailman (input) for mailman id 1171752;
 Tue, 25 Nov 2025 08:44:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNofM-0001m4-4D
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:44:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofM-007fqw-0K
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofM-00Aq2X-0E
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:44:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Yz43Yuz/qwVsgqdQSNq+NpSc9SClU5fVfFcNOlBQauk=; b=I8Zite7hltdUoikq50t3x31xH6
	zK1U72otzGef18dWW4IF6Im/3Myjo1kIA8YpTLV97C6A8+RDOvhKR3fcB1d366CpRCgz0xnFu6SPp
	64UkRosNAkTc62UyidrE4aohCxYhzvdKp6EcvUNfkuzghSKskM/8/ycc1jZD2fttyHC0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.20] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNofM-00Aq2X-0E@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:44:52 +0000

commit 1badcf50350741aa1946878c6bd008960c745a0d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:37:47 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:47 2025 +0100

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: a405bf42eddeb2a2e656807882176e37bd2378af
    master date: 2025-11-24 15:17:39 +0000
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 3afbc2eff8..dc913ff333 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -260,7 +260,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch,
@@ -271,7 +273,7 @@ static int primary_thread_work(const struct microcode_patch *patch,
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch, flags);
     if ( !ret )
@@ -313,7 +315,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -336,7 +338,7 @@ static int primary_thread_fn(const struct microcode_patch *patch,
                              unsigned int flags)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:45:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:45:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171753.1496763 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNofX-0001oS-TD; Tue, 25 Nov 2025 08:45:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171753.1496763; Tue, 25 Nov 2025 08: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-changelog-bounces@lists.xenproject.org>)
	id 1vNofX-0001oK-Qc; Tue, 25 Nov 2025 08:45:03 +0000
Received: by outflank-mailman (input) for mailman id 1171753;
 Tue, 25 Nov 2025 08:45:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNofW-0001oC-I7
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:45:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofW-007frO-1j
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofW-00Aq61-1b
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=aYkeArrvp7Iew12hJDpLQloZFSSHpzcNu1M7x83++4k=; b=l758rLHEeWdEflgpG4G6jIx/zp
	gfvUrx7S40Xw7j57AaOC+gII/uPlPrP+XPSOl8tqy6AhnZkHiea29JgR/dyhskE/WKOR1TlNuR3UZ
	uloxB2cjfbWk6DAOA6i+k1rWI3atybeD6SG0bi7T4bmzP+h8ikVK6UGx0WS+dLdmUFaE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86emul/test: extend cleaning of generated files
Message-Id: <E1vNofW-00Aq61-1b@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:45:02 +0000

commit e2f2beb9219de02b720efbd913bb1b89e74d337a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:38:33 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:38:33 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
    master date: 2025-11-13 09:08:27 +0100
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 834b2112e7..b310c909a3 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -264,7 +264,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:45:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:45:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171754.1496766 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNofh-0001qs-UY; Tue, 25 Nov 2025 08:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171754.1496766; Tue, 25 Nov 2025 08:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNofh-0001qk-S2; Tue, 25 Nov 2025 08:45:13 +0000
Received: by outflank-mailman (input) for mailman id 1171754;
 Tue, 25 Nov 2025 08:45:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNofg-0001qJ-Kp
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:45:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofg-007frW-1z
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofg-00Aq8v-1t
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=U/O2QB18RrUAqLfqhRqvd6kQMAU3ICL5NAslB+0VAGg=; b=N7u0EQFMpz+WsjqbBEmXERs4jn
	xZoNfKuAuSy4n9/FbqG+4VxmMW11HhioySLKywaYB1wQkdhlydFFCPiuzM3V1b98BmH4LhpQBvFqs
	wfimbTLLeaDh1oYXg7+xFZ6TYC9RSMgHqeOm4ApGHEK4Ruhs1NLn2u8JV9oK5uZLXYFM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vNofg-00Aq8v-1t@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:45:12 +0000

commit 95c1e44391477d165e3bcc7032f9998fe4e91393
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:39:04 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:04 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 07e57af2b4715a9d088781b06c4f97c7d9f25b19
    master date: 2025-11-17 14:46:40 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index b9097b9f76..3fc49dc9c6 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -644,6 +644,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:45:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171755.1496771 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNofs-0001uW-00; Tue, 25 Nov 2025 08:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171755.1496771; Tue, 25 Nov 2025 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-changelog-bounces@lists.xenproject.org>)
	id 1vNofr-0001uO-Tc; Tue, 25 Nov 2025 08:45:23 +0000
Received: by outflank-mailman (input) for mailman id 1171755;
 Tue, 25 Nov 2025 08:45:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNofq-0001uG-NP
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:45:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofq-007frz-2F
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNofq-00AqB4-2A
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=e3ufhSQOhVKrUNAct2xxWnb4U0EoJ7Jub7cL7N0jM6A=; b=AW+d1XRRsPqduOy0havWIjkr6z
	+sGb4uXFi8Gxt0LmU5MnevPVQ9zD8MSTGiOJ9zqa/Bu3rekeHkfeMFmWMZ4+TAdKWR799cHCCcuBU
	Dloj89j5UYhOmRg/kX10H4lwv17QUarkQaE8aZMDUwqVYLYTQHwldKVsmu23wNfDkl2Q=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] xen: Fix EFI buildid alignment
Message-Id: <E1vNofq-00AqB4-2A@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:45:22 +0000

commit c562cd34906d690943a3b744afae5410bdcfe183
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Tue Nov 25 09:39:26 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:26 2025 +0100

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 26b111cc22b7e36ae5d72a17758b3ec6a1156432
    master date: 2025-11-20 14:29:57 +0000
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 5069938675..29de0e7452 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -172,6 +172,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:45:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171756.1496776 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNog2-0001wc-1i; Tue, 25 Nov 2025 08:45:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171756.1496776; Tue, 25 Nov 2025 08:45: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-changelog-bounces@lists.xenproject.org>)
	id 1vNog1-0001wS-Ux; Tue, 25 Nov 2025 08:45:33 +0000
Received: by outflank-mailman (input) for mailman id 1171756;
 Tue, 25 Nov 2025 08:45:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNog0-0001wM-QD
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:45:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNog0-007fs3-2X
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNog0-00AqBt-2Q
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=gswSA1y7ztZHF8VUNFwCKnAzgIz3g4lvY9LtLjKNKNE=; b=1qhl39m/ySPUqQZ6UjGnI0Unl7
	s9Z61UP2nFqFoLv/niZhptZf9nVmKsJXaoNZBflW/CgVl8W++NHEh3UQALEUn2IekIVHv8ZbFMGgG
	FDAgHp7It+3jg2HbCawbz1eAXOswBlgW7pDY/d1v/GIkyukwHvgHOdCoYLlH73Gcw/V8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNog0-00AqBt-2Q@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:45:32 +0000

commit d1c28ed259d21002d605e0d1d27041cd1d373766
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:39:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:41 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
    master date: 2025-11-24 11:28:47 +0100
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index b310c909a3..2511b379bd 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -101,7 +101,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 08:45:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 08:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171757.1496780 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNogC-0001z8-3K; Tue, 25 Nov 2025 08:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171757.1496780; Tue, 25 Nov 2025 08:45:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNogC-0001z1-01; Tue, 25 Nov 2025 08:45:44 +0000
Received: by outflank-mailman (input) for mailman id 1171757;
 Tue, 25 Nov 2025 08:45:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNogA-0001yt-T1
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 08:45:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNogA-007fsB-2o
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNogA-00AqDF-2h
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 08:45:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=NemTq1L+SDIoPVfMdLArUZwVPc3ZKCxbD1XjmJnD4og=; b=Hd7bxGRjCxdOh/hG0H5/jsU820
	vd4ZSu2mi/GqAFD+1NVJLhwmL108Exnjok+ggvbsDTY9oJHu1yxd7K5BDTtWYbDG49xhsS/9eRUyL
	tObjuooqMYDmM8JTvlGjTLYtY16M+QlcwY9t0Ae1y9taGbDXMOzMnUMsklswW6i26tqQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.19] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNogA-00AqDF-2h@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 08:45:42 +0000

commit cda5eec07b5dbe2b9be35ace0e3479964344b866
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:39:49 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:49 2025 +0100

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: a405bf42eddeb2a2e656807882176e37bd2378af
    master date: 2025-11-24 15:17:39 +0000
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index e2d8ab8b24..e38e5eb7ff 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -376,7 +376,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch)
@@ -386,7 +388,7 @@ static int primary_thread_work(const struct microcode_patch *patch)
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch);
     if ( !ret )
@@ -427,7 +429,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -449,7 +451,7 @@ static int secondary_thread_fn(void)
 static int primary_thread_fn(const struct microcode_patch *patch)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 10:55:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 10:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171858.1496872 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqhL-0007FT-TR; Tue, 25 Nov 2025 10:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171858.1496872; Tue, 25 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqhL-0007FM-R4; Tue, 25 Nov 2025 10:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1171858;
 Tue, 25 Nov 2025 10:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqhK-0007FG-Rq
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 10:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhJ-007ifW-2D
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhJ-00B8w3-26
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=03yH5vE/6fiCcYU1M4hwSioDl7rGa0HCTTGnUgUXdN4=; b=gGWa3HixA0Dqag1sCXZrCxISwa
	1E6iuq9gKlXnIQykV2qIMngq6+uOF4lO6MYKajSj+wgKUmUvyUxCPTua3rhhbU7wouj3b3S8XND77
	gTr1bbd/6M4w3agqEOvyLRkNLwXb+jhC0zCuED6SaxsOQSYHs0IgoSvV4Z3DrDWYN3Og=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86emul/test: extend cleaning of generated files
Message-Id: <E1vNqhJ-00B8w3-26@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 10:55:01 +0000

commit b1df63afb0746f82ef666cb0184dfd45a2f7465a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:36:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:36:01 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
    master date: 2025-11-13 09:08:27 +0100
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 3f57ac6159..2228a8591a 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -261,7 +261,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 10:55:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 10:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171859.1496876 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqhU-0007HE-VT; Tue, 25 Nov 2025 10:55:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171859.1496876; Tue, 25 Nov 2025 10:55: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqhU-0007H6-SS; Tue, 25 Nov 2025 10:55:12 +0000
Received: by outflank-mailman (input) for mailman id 1171859;
 Tue, 25 Nov 2025 10:55:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqhT-0007Gw-QB
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 10:55:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhT-007ifp-2V
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhT-00B8yK-2O
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ZtvmeJa90396+El1SidMt0QrT2x5cdHtNDysxIDl5Xg=; b=DUuPCECFOxYwmMsP/3a/PYz/UB
	kilsYX3SfSTfbf0ENQTAArUtb3WRziGOt43xCnz0oWIwyld78T+dAExL0ceUvv/9elXHYDfMQXLd3
	ISr+Ylzt5AIBuDG74R79UBKb9FBPSNRGoykojrg1ITc1r43xsLSaIh1ywH9ijdM7WXNA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] update Xen version to 4.20.3-pre
Message-Id: <E1vNqhT-00B8yK-2O@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 10:55:11 +0000

commit 97e1737c3fa96bfdf9170fe6b589cc0e1c02818b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:36:43 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:36:43 2025 +0100

    update Xen version to 4.20.3-pre
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 9fa65a7571..074052d0b0 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    = 20
-export XEN_EXTRAVERSION ?= .2$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .3-pre$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 10:55:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 10:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171860.1496881 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqhf-0007Ls-1v; Tue, 25 Nov 2025 10:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171860.1496881; Tue, 25 Nov 2025 10:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqhe-0007Li-VZ; Tue, 25 Nov 2025 10:55:22 +0000
Received: by outflank-mailman (input) for mailman id 1171860;
 Tue, 25 Nov 2025 10:55:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqhd-0007La-Ss
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 10:55:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhd-007igI-2n
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhd-00B90V-2g
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Zsc8jyJ4PuE/EeYfFDuq9mtyjTSZPleoMsz+TM7jJF0=; b=TwZ0eCUsbxCJM/luXKiQLXQLbk
	r8la9OM6bLshXqCmsdw0vuISaPCZYnLZ03cLmmsLXtLYnktZbIaS4U+BRqA/LE2ZT3XIKb0ZNh/f3
	xNZaf+upHL0G6vH8U22lXSnFypYl68n7eP9PqGghdjAbXAPWG48x6DxF+Nxc678hgvRA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vNqhd-00B90V-2g@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 10:55:21 +0000

commit e2b5544a929898c05f38230677fd55570064f5e3
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:37:01 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:01 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 07e57af2b4715a9d088781b06c4f97c7d9f25b19
    master date: 2025-11-17 14:46:40 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index af7f8f8aed..0b51796791 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -652,6 +652,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 10:55:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 10:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171861.1496885 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqhp-0007O3-3A; Tue, 25 Nov 2025 10:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171861.1496885; Tue, 25 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqhp-0007Nv-0c; Tue, 25 Nov 2025 10:55:33 +0000
Received: by outflank-mailman (input) for mailman id 1171861;
 Tue, 25 Nov 2025 10:55:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqhn-0007Np-VY
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 10:55:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhn-007igM-33
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:31 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhn-00B93V-2x
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:31 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=LY2/1veJGQdjYeXqAlIlwnlWV0FpavDLQnBxtb65oIQ=; b=EjVfzetB2aBgngE/HlaUa/95+a
	vwyPqCG/MOMDCWuIQZ8Dja+RpDyqKMmtD2lrEE4+1j/bzSiT7g6RFNuGDhvbhOsH80UD2gGIDgrzr
	5T+8r0T6x2niMRl73FKEKl4+mxmOBWrTfZm6TNE3VDPekuwMIuiGNXV3aY2TJPqRDN4Q=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] xen: Fix EFI buildid alignment
Message-Id: <E1vNqhn-00B93V-2x@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 10:55:31 +0000

commit 247be3ab2ba8c953f198d8f986b7b8dca8d2afa6
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Tue Nov 25 09:37:28 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:28 2025 +0100

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 26b111cc22b7e36ae5d72a17758b3ec6a1156432
    master date: 2025-11-20 14:29:57 +0000
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index e6c71a8e3e..f13655567a 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -173,6 +173,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 10:55:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 10:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171862.1496889 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqhz-0007Q6-4c; Tue, 25 Nov 2025 10:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171862.1496889; Tue, 25 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqhz-0007Py-1w; Tue, 25 Nov 2025 10:55:43 +0000
Received: by outflank-mailman (input) for mailman id 1171862;
 Tue, 25 Nov 2025 10:55:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqhy-0007Pq-2R
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 10:55:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhy-007igQ-06
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqhx-00B94y-3D
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=atps1JbQbUgtCBi3YBPf1DwiKW2uLedvnUsQguZGZZI=; b=D8JNDAAYUn09XLCgAHlnqzFYIu
	A/G4AWzMF8kvIzmkivaoZ0NWombr4hnYAeOfo5wXeJzf/w7nUBrxh92qJyxo1FSQnrwpYDwQRt7Eg
	WL8sf31vS37s6iY8jHGVwJTlsnZyP8yh9qGCwCBuqOuNvP1DlO4jKY5EPeoClqQf5jEg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNqhx-00B94y-3D@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 10:55:41 +0000

commit 840b0294dfc5bdafb2139315d65fe06b38fe6296
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:37:38 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:38 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
    master date: 2025-11-24 11:28:47 +0100
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 2228a8591a..d632c8c222 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -98,7 +98,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 10:55:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 10:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171863.1496893 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqi9-0007SF-5u; Tue, 25 Nov 2025 10:55:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171863.1496893; Tue, 25 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqi9-0007S7-3H; Tue, 25 Nov 2025 10:55:53 +0000
Received: by outflank-mailman (input) for mailman id 1171863;
 Tue, 25 Nov 2025 10:55:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqi8-0007Rz-4r
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 10:55:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqi8-007igU-0O
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqi8-00B96X-0G
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 10:55:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=I2UcAosqoNnrznhGAIKowkIz94/XAcBJs0OSyUOTWM0=; b=owfuKLTOP9lVQ37mZc6oqWLLTk
	gBo45FsvZv3iHQb4Db8wDOLOpOePBKDlay9/oB7a/HKtb3tfnelH5MXQ5DN+rEbjicSU/vh+UPGzp
	n85h4SW2sk6RGWFG+lDDEfPLVXVxziWTPGg89x2Om0FnAFR/ZIiCfImpAcyUfR2ToHio=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.20] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNqi8-00B96X-0G@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 10:55:52 +0000

commit 1badcf50350741aa1946878c6bd008960c745a0d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:37:47 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:37:47 2025 +0100

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: a405bf42eddeb2a2e656807882176e37bd2378af
    master date: 2025-11-24 15:17:39 +0000
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 3afbc2eff8..dc913ff333 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -260,7 +260,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch,
@@ -271,7 +273,7 @@ static int primary_thread_work(const struct microcode_patch *patch,
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch, flags);
     if ( !ret )
@@ -313,7 +315,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -336,7 +338,7 @@ static int primary_thread_fn(const struct microcode_patch *patch,
                              unsigned int flags)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.20


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:11:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171864.1496898 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqwq-0001cf-90; Tue, 25 Nov 2025 11:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171864.1496898; Tue, 25 Nov 2025 11:11:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqwq-0001cX-5R; Tue, 25 Nov 2025 11:11:04 +0000
Received: by outflank-mailman (input) for mailman id 1171864;
 Tue, 25 Nov 2025 11:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqwo-0001cR-Js
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqwo-007izY-0l
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqwo-00BBJ8-0d
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ZDnmTajA0dcOChEXOhmmXLhSTgAatxn9KW7uPp+HGN0=; b=dKZaXO4RpmWbsPyYwEoFTd9zPx
	4AzxsWbh6mwbkIJzy5yF1DynsZZIQuQcSwYsZp/k0/hg5rQae5R+6zLtkD32EzV6D3Q6tY4xMJM5q
	wvqzVF6fwFY5OV7nX8lU/Vf+2xZmKtz5jAWeFEv4tDVO0KUjQfLE1DqTIiBwRTt24vHQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86emul/test: extend cleaning of generated files
Message-Id: <E1vNqwo-00BBJ8-0d@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:11:02 +0000

commit e2f2beb9219de02b720efbd913bb1b89e74d337a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:38:33 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:38:33 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
    master date: 2025-11-13 09:08:27 +0100
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 834b2112e7..b310c909a3 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -264,7 +264,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:11:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171865.1496901 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqx0-0001eL-9O; Tue, 25 Nov 2025 11:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171865.1496901; Tue, 25 Nov 2025 11:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqx0-0001eD-6p; Tue, 25 Nov 2025 11:11:14 +0000
Received: by outflank-mailman (input) for mailman id 1171865;
 Tue, 25 Nov 2025 11:11:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqwy-0001e1-CM
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:11:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqwy-007izd-16
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqwy-00BBLP-0v
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=tcrcDUQHbnNgzHyBF8ypSTs80pGwSGaeCpJte4RlRyY=; b=vjE3PIEM7Y6VsZexFfF8KAFGX8
	C0pDAqWUfptJb382WqGM0IgkDb2wHacRTjd328WhrehKoM3uzpkwU8XlXQOLxYCYbyYgrfYiuUfLx
	awyuFs9K2DeoJsTG/ZKq7OHTbdKs3Bme5Ncd2PaRltaqQ9RvTWrPySv1zFvQ8KH7pieQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86/ucode: Add extra rows to the entrysign model table (again)
Message-Id: <E1vNqwy-00BBLP-0v@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:11:12 +0000

commit 95c1e44391477d165e3bcc7032f9998fe4e91393
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:39:04 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:04 2025 +0100

    x86/ucode: Add extra rows to the entrysign model table (again)
    
    Link: https://git.kernel.org/tip/dd14022a7ce96963aa923e35cf4bcc8c32f95840
    Fixes: ff8228ab4658 ("x86/ucode: Relax digest check when Entrysign is fixed in firmware")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: 07e57af2b4715a9d088781b06c4f97c7d9f25b19
    master date: 2025-11-17 14:46:40 +0000
---
 xen/arch/x86/cpu/microcode/amd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index b9097b9f76..3fc49dc9c6 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -644,6 +644,7 @@ void __init amd_check_entrysign(void)
     case 0x0b1010: fixed_rev = 0x47; break;
     case 0x0b2040: fixed_rev = 0x32; break;
     case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b4041: fixed_rev = 0x02; break;
     case 0x0b6000: fixed_rev = 0x32; break;
     case 0x0b6080: fixed_rev = 0x32; break;
     case 0x0b7000: fixed_rev = 0x32; break;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:11:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171866.1496905 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqxA-0001h2-Ae; Tue, 25 Nov 2025 11:11:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171866.1496905; Tue, 25 Nov 2025 11:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqxA-0001gu-8B; Tue, 25 Nov 2025 11:11:24 +0000
Received: by outflank-mailman (input) for mailman id 1171866;
 Tue, 25 Nov 2025 11:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqx8-0001gj-Ga
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqx8-007j00-1Y
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqx8-00BBOJ-1G
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=xl8+5P1a+rWILZmrNmhI3atXlnW39JwmWNsEZ6NRIIM=; b=5wBSL9aTcSdwXwMsghiUGieADt
	KaJcustXmM8GpfH0TXNeS2OAZtBn4HEUSmeVL5VutMMRBWfugmv7DCxV1S0mfIeUe5uv3OakhhdN/
	reGdsiyUUoihTHQFH7ocTrH5coGvcPzlXloa6FiNqcVrvmBeLCtGY4qhG2v+O9XEK/Kw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] xen: Fix EFI buildid alignment
Message-Id: <E1vNqx8-00BBOJ-1G@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:11:22 +0000

commit c562cd34906d690943a3b744afae5410bdcfe183
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Tue Nov 25 09:39:26 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:26 2025 +0100

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 26b111cc22b7e36ae5d72a17758b3ec6a1156432
    master date: 2025-11-20 14:29:57 +0000
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 5069938675..29de0e7452 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -172,6 +172,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:11:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171867.1496908 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqxK-0001lp-CN; Tue, 25 Nov 2025 11:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171867.1496908; Tue, 25 Nov 2025 11:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqxK-0001lh-9V; Tue, 25 Nov 2025 11:11:34 +0000
Received: by outflank-mailman (input) for mailman id 1171867;
 Tue, 25 Nov 2025 11:11:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqxI-0001lb-Ji
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:11:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqxI-007j04-1s
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqxI-00BBQM-1j
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=PFBHgiCGUu0/iLDNowkI8OEwv2y3t7aclqk29lxDfAY=; b=f/UGEAaNPTJQU7XoylqYG+OMYe
	PUmSD+G76VNvFXHDRd3IiYohFOJ48LVlPmmxsPfktnWZL2xbE33jq9AL5dXW/QknoNzv0tMA/9ZwS
	Pbq6ljGkxMQSi0cdBGVA3M6+IBe0d8a1rzc4qkFLUD3pdyxZpMujkMTzTKVSGSS+xcac=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNqxI-00BBQM-1j@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:11:32 +0000

commit d1c28ed259d21002d605e0d1d27041cd1d373766
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 09:39:41 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:41 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
    master date: 2025-11-24 11:28:47 +0100
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index b310c909a3..2511b379bd 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -101,7 +101,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:11:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:11:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171868.1496913 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNqxU-0001pY-Ew; Tue, 25 Nov 2025 11:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171868.1496913; Tue, 25 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vNqxU-0001pQ-CA; Tue, 25 Nov 2025 11:11:44 +0000
Received: by outflank-mailman (input) for mailman id 1171868;
 Tue, 25 Nov 2025 11:11:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNqxS-0001pK-Mu
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:11:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqxS-007j08-2C
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNqxS-00BBRC-22
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:11:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ntAb9JA145uUh9lMfjTrxMTHfGg/l454oq7L+2kYySg=; b=fE/lC/jQ48nCAHACdUBTlYtaFr
	qNiUytQwV6UBIGzVthazjgIkwLfEZTFpVli2hsTpKYQRtivCqOyk7tg8F6As12Vwb+Yw0bnjwk3mV
	2GIhVXtyO/T+oK81zzM+ttk92DM9Hco4idF39cfMkUywL34nQQiPQTs/CPwl/tS3ypj0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.19] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNqxS-00BBRC-22@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:11:42 +0000

commit cda5eec07b5dbe2b9be35ace0e3479964344b866
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 09:39:49 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 09:39:49 2025 +0100

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: a405bf42eddeb2a2e656807882176e37bd2378af
    master date: 2025-11-24 15:17:39 +0000
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index e2d8ab8b24..e38e5eb7ff 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -376,7 +376,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch)
@@ -386,7 +388,7 @@ static int primary_thread_work(const struct microcode_patch *patch)
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch);
     if ( !ret )
@@ -427,7 +429,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -449,7 +451,7 @@ static int secondary_thread_fn(void)
 static int primary_thread_fn(const struct microcode_patch *patch)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:33:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:33:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171869.1496917 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrI8-0004xV-Ua; Tue, 25 Nov 2025 11:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171869.1496917; Tue, 25 Nov 2025 11:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrI8-0004xM-S0; Tue, 25 Nov 2025 11:33:04 +0000
Received: by outflank-mailman (input) for mailman id 1171869;
 Tue, 25 Nov 2025 11:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNrI6-0004xG-St
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrI5-007jOF-35
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrI5-00BFGm-2k
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=a3xgIV2Kpdko6OIwa/C8WT1DP413hax1Mbio3/AWR7w=; b=SsY4YfIHabTYmExFltWQ8vypCr
	kuj3D4QmkxCbGPIGwHWEanu2t4z0Os9fxmxQZ7B4S8HcksIb/JKY4fQ3QOtJfXu56DAIR9pJZC9FS
	LBdgMg0lLucQWRV7zbgapO6bUWXUsEfktW8v/PCL45lpZZiAGmUzFDljeyjAIMA1wft0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/param: address violation of MISRA C Rule 20.7
Message-Id: <E1vNrI5-00BFGm-2k@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:33:01 +0000

commit c7376ee3229a4dca9fffb4ab82f415921a7fa09c
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Tue Nov 25 10:23:11 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:23:11 2025 +0100

    xen/param: address violation of MISRA C Rule 20.7
    
    The rule states: Expressions resulting from the expansion of
    macro parameters shall be enclosed in parentheses.
    
    Add parentheses in the defition of `custom_runtime_var_sz' to
    address the violations.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/param.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/param.h b/xen/include/xen/param.h
index 1bdbab34ab..f5a2189400 100644
--- a/xen/include/xen/param.h
+++ b/xen/include/xen/param.h
@@ -102,8 +102,8 @@ extern struct param_hypfs __paramhypfs_start[], __paramhypfs_end[];
 
 #define custom_runtime_set_var_sz(parfs, var, sz) \
     { \
-        (parfs)->hypfs.u.content = var; \
-        (parfs)->hypfs.e.max_size = sz; \
+        (parfs)->hypfs.u.content = (var); \
+        (parfs)->hypfs.e.max_size = (sz); \
         (parfs)->hypfs.e.size = strlen(var) + 1; \
     }
 #define custom_runtime_set_var(parfs, var) \
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:33:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171870.1496920 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrIH-0004yz-Vt; Tue, 25 Nov 2025 11:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171870.1496920; Tue, 25 Nov 2025 11:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrIH-0004yr-TJ; Tue, 25 Nov 2025 11:33:13 +0000
Received: by outflank-mailman (input) for mailman id 1171870;
 Tue, 25 Nov 2025 11:33:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNrIG-0004yS-31
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:33:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIG-007jOJ-0C
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIG-00BFJ3-02
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Aq/ol3cJnT3IkuO326xm5xLJ5rK2eJi/ffofJkrS/S8=; b=dDzyl5CRsLLmUTzwWHSz8ume2X
	BeJ/uBAat0ep2pYYGEOqg2/N7tn9XfHgcoSmyw7aj8GKnJS3JkRDlAr7rrEdiJyEZvsYK+9sdMVoK
	35I2UIcAqtkCNcOvrJA8kl2lXhRqt7s2q+Dp9GrsGOigeibLC8JPIJ4otoRGF0LQDq3U=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/param: address violation of MISRA C Rule 8.2
Message-Id: <E1vNrIG-00BFJ3-02@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:33:12 +0000

commit 7d5e0fac535698291b1a8fa550f4a13756e4a994
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Tue Nov 25 10:24:00 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:24:00 2025 +0100

    xen/param: address violation of MISRA C Rule 8.2
    
    Add missing parameter name in function pointer member declaration.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/param.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/param.h b/xen/include/xen/param.h
index f5a2189400..3b6f134b07 100644
--- a/xen/include/xen/param.h
+++ b/xen/include/xen/param.h
@@ -90,7 +90,7 @@ extern const struct kernel_param __setup_start[], __setup_end[];
 struct param_hypfs {
     struct hypfs_entry_leaf hypfs;
     void (*init_leaf)(struct param_hypfs *par);
-    int (*func)(const char *);
+    int (*func)(const char *s);
 };
 
 extern struct param_hypfs __paramhypfs_start[], __paramhypfs_end[];
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:33:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:33:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171871.1496925 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrIS-00051u-1P; Tue, 25 Nov 2025 11:33:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171871.1496925; Tue, 25 Nov 2025 11:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vNrIR-00051l-Ur; Tue, 25 Nov 2025 11:33:23 +0000
Received: by outflank-mailman (input) for mailman id 1171871;
 Tue, 25 Nov 2025 11:33:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNrIQ-00051b-5l
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:33:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIQ-007jOg-0T
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIQ-00BFKV-0M
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Xi5e+4vsbpETZeqAunKgLnsOAPbxEchpoFPs4bUnJHQ=; b=ba9s4I/3QrSkkelxAjPGG8UQN5
	DlCX3DaEF3ea/s4CyRaFLvQGmPKqrOk4adhKuZK7M+nTnRk8+oLeSsAwpVZ5MUvD3GXDslw04BFj+
	1ZLGaY4Qnv5SgwO0zqDgyFgAuA+K3tV215+K6eDagwgAhqfK2HnYdpFUKfVE6qTEG9ng=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/vPMU: move APIC ack past the handling of the interrupt
Message-Id: <E1vNrIQ-00BFKV-0M@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:33:22 +0000

commit f4a4287dbbcf0e3d80bb706c09da3e6d48f55234
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 10:24:38 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:24:38 2025 +0100

    x86/vPMU: move APIC ack past the handling of the interrupt
    
    While benign as long as it's using a direct-APIC-vector (handlers for
    which are called with IRQs off), follow the more usual pattern of ack-ing
    the IRQ only after handling it.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/apic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 7747718600..fb38be7ec3 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1319,8 +1319,8 @@ static void cf_check error_interrupt(void)
 
 static void cf_check pmu_interrupt(void)
 {
-    ack_APIC_irq();
     vpmu_do_interrupt();
+    ack_APIC_irq();
 }
 
 void __init apic_intr_init(void)
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:33:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:33:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171872.1496928 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrIc-00053x-2Q; Tue, 25 Nov 2025 11:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171872.1496928; Tue, 25 Nov 2025 11:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrIb-00053q-WD; Tue, 25 Nov 2025 11:33:34 +0000
Received: by outflank-mailman (input) for mailman id 1171872;
 Tue, 25 Nov 2025 11:33:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNrIa-00053g-8n
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:33:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIa-007jRB-0l
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIa-00BFM4-0e
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=o/VMon2GwLKOTK87C2UyoxPcvUArbjtR55cN8HXrfPc=; b=DMtuBtv3iLYSusOA7nQasepFxi
	xczpPZ3Ox5DDyfH678ggYTh09sIMItgixJp50hppahSL9lOJTmd5Kl0epf2RbGd5E+GWqLkx/+yR/
	AfbIZtIst9JsGppnnCrgBLVKdlMz/mz73wFIBtITUBC5O/eiN38qex6//BEXldmPcEdY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xenstored: Default priv_domid to store_domid
Message-Id: <E1vNrIa-00BFM4-0e@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:33:32 +0000

commit 31778404a1bb9fe09c53f87cdccc8ca92f729756
Author:     Jason Andryuk <jason.andryuk@amd.com>
AuthorDate: Tue Nov 25 10:24:57 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:24:57 2025 +0100

    xenstored: Default priv_domid to store_domid
    
    On a system without a control domain, a hardware|xenstore domain
    starting xenstored shows:
    common/grant_table.c:1041:d2v0 Could not find domain 32756
    gnttab: error: mmap failed: Invalid argument
    Could not initialize dom32756
    
    setup_structure() does not get called without priv_domid.  Subsequent
    introduce_domain() calls will fault when calling fire_special_watches().
    
    Default priv_domid to store_domid when there is no control domain.
    
    Fixes: e5b0a9405571 ("tools/xenstored: Auto-introduce domains")
    Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/domain.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 5ce539d640..d504e9994b 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1388,6 +1388,12 @@ void init_domains(void)
 	if (store_domid == DOMID_INVALID)
 		barf("Could not determine xenstore domid\n");
 
+	if (priv_domid == DOMID_INVALID)
+	{
+		priv_domid = store_domid;
+		xprintf("priv_domid defaulted to %u\n", priv_domid);
+	}
+
 	snprintf(store_domain_path, sizeof(store_domain_path),
 		 "/local/domain/%u", store_domid);
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 11:33:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 11:33:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171873.1496933 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrIm-00056D-40; Tue, 25 Nov 2025 11:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171873.1496933; Tue, 25 Nov 2025 11:33:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNrIm-000565-1R; Tue, 25 Nov 2025 11:33:44 +0000
Received: by outflank-mailman (input) for mailman id 1171873;
 Tue, 25 Nov 2025 11:33:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNrIk-00055w-BU
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 11:33:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIk-007jRM-12
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNrIk-00BFRQ-0w
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 11:33:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=8/c6ayNhT7E0/iWfaXh6yTnqIr6QJDJS4/1RwTtgIhM=; b=kpqi7WbNsFrryHykx1u7E8s39/
	/FBYQTHo9NRuD63bpSYY0dOra7LCEpd5vRlIZdpDnf+fdry3D1Bp10SQ9uozBoBIZHeISFjy/ALkh
	eUxf5KFWviwMIcO7ZjEnIoTRwa2RJisLtasscuMfU6jGLKrj2nt6lIzq4AyKaowHir2k=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xenstored: Add newline to error message
Message-Id: <E1vNrIk-00BFRQ-0w@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 11:33:42 +0000

commit 9c68f5e90c223d16418aeb3783b2e5123d2071a3
Author:     Jason Andryuk <jason.andryuk@amd.com>
AuthorDate: Tue Nov 25 10:25:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:25:08 2025 +0100

    xenstored: Add newline to error message
    
    Unlike barf(), xprintf() does not add a newline.  Add one.
    
    Fixes: e5b0a9405571 ("tools/xenstored: Auto-introduce domains")
    Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/domain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index d504e9994b..10ac1c1a8f 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1333,7 +1333,7 @@ static bool init_domain(unsigned int domid)
 
 	domain = introduce_domain(NULL, domid, port, false);
 	if (!domain) {
-		xprintf("Could not initialize dom%u", domid);
+		xprintf("Could not initialize dom%u\n", domid);
 		return false;
 	}
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 12:44:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 12:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171887.1496947 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNsOp-0005Mk-6L; Tue, 25 Nov 2025 12:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171887.1496947; Tue, 25 Nov 2025 12:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNsOp-0005Mc-3b; Tue, 25 Nov 2025 12:44:03 +0000
Received: by outflank-mailman (input) for mailman id 1171887;
 Tue, 25 Nov 2025 12:44:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNsOo-0005MW-6v
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 12:44:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsOn-007koY-2y
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsOn-00BNjR-2n
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=2JphRb2cfl96obtZMWVQD9q6C+ToUyylmwD6ld0QEtk=; b=aKAhnJk+dQ+lZRIpmjTMAvZafr
	dU6FlarSAfIsTtQCd0wziFBJ/QkDSbV6Z7eR0o05Djd8LiaSit9uj8VIrjQcIdlBaMgiHVqvW8S1N
	XOSjF9p7oKZwdNg4idTBaUJmZTKoasX2Y+Luf44Jl4cSlVmHhJjNF0nUTwZKVOHDz2rg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/param: address violation of MISRA C Rule 20.7
Message-Id: <E1vNsOn-00BNjR-2n@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 12:44:01 +0000

commit c7376ee3229a4dca9fffb4ab82f415921a7fa09c
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Tue Nov 25 10:23:11 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:23:11 2025 +0100

    xen/param: address violation of MISRA C Rule 20.7
    
    The rule states: Expressions resulting from the expansion of
    macro parameters shall be enclosed in parentheses.
    
    Add parentheses in the defition of `custom_runtime_var_sz' to
    address the violations.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/param.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/param.h b/xen/include/xen/param.h
index 1bdbab34ab..f5a2189400 100644
--- a/xen/include/xen/param.h
+++ b/xen/include/xen/param.h
@@ -102,8 +102,8 @@ extern struct param_hypfs __paramhypfs_start[], __paramhypfs_end[];
 
 #define custom_runtime_set_var_sz(parfs, var, sz) \
     { \
-        (parfs)->hypfs.u.content = var; \
-        (parfs)->hypfs.e.max_size = sz; \
+        (parfs)->hypfs.u.content = (var); \
+        (parfs)->hypfs.e.max_size = (sz); \
         (parfs)->hypfs.e.size = strlen(var) + 1; \
     }
 #define custom_runtime_set_var(parfs, var) \
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 12:44:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 12:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171888.1496951 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNsOz-0005OE-7X; Tue, 25 Nov 2025 12:44:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171888.1496951; Tue, 25 Nov 2025 12:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vNsOz-0005O6-4s; Tue, 25 Nov 2025 12:44:13 +0000
Received: by outflank-mailman (input) for mailman id 1171888;
 Tue, 25 Nov 2025 12:44:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNsOy-0005Nf-1E
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 12:44:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsOy-007kof-01
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsOx-00BNm8-38
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=2acYt5szMTMH+jWxvbDBL8+e3to5fRq4/l8+iJYcp8w=; b=FRsgCf7NaUUuEPRWnv1CYDwpy+
	RpIj7it8DQWX9Y973PZIMcwRvEGEaI0AXAfXRvIgsNhR6ewe+WDS71svMzJgOS+FJNKtEJABrwe8W
	CCuYS1hiwWR724BgAyV0cNajLz5f8zRvD3bIMuf28v6pnX9XT2OnrNYwMo9tGqAQgHmw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/param: address violation of MISRA C Rule 8.2
Message-Id: <E1vNsOx-00BNm8-38@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 12:44:11 +0000

commit 7d5e0fac535698291b1a8fa550f4a13756e4a994
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Tue Nov 25 10:24:00 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:24:00 2025 +0100

    xen/param: address violation of MISRA C Rule 8.2
    
    Add missing parameter name in function pointer member declaration.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/param.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/param.h b/xen/include/xen/param.h
index f5a2189400..3b6f134b07 100644
--- a/xen/include/xen/param.h
+++ b/xen/include/xen/param.h
@@ -90,7 +90,7 @@ extern const struct kernel_param __setup_start[], __setup_end[];
 struct param_hypfs {
     struct hypfs_entry_leaf hypfs;
     void (*init_leaf)(struct param_hypfs *par);
-    int (*func)(const char *);
+    int (*func)(const char *s);
 };
 
 extern struct param_hypfs __paramhypfs_start[], __paramhypfs_end[];
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 12:44:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 12:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171889.1496954 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNsP9-0005Qn-8k; Tue, 25 Nov 2025 12:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171889.1496954; Tue, 25 Nov 2025 12: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-changelog-bounces@lists.xenproject.org>)
	id 1vNsP9-0005Qf-6C; Tue, 25 Nov 2025 12:44:23 +0000
Received: by outflank-mailman (input) for mailman id 1171889;
 Tue, 25 Nov 2025 12:44:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNsP8-0005QN-4d
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 12:44:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsP8-007kp0-0J
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsP8-00BNps-0C
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=sDkvabhXNBn+TyhlSiAKo1fC4eAujz5ZgpzHJqO4t/Q=; b=WueXpvxYsyhvc3D9oQEQW72Psy
	BX7UoHkKmZQJF/jQRHZeDeuA8hysa+8cGqYNCbpYi4ij1mK5n1uISzoHuzWANpnl9DwpiED3KLHtr
	GOET68nSX3/V0FSvo/1bCvl95seBVroy1GRU+l4qoNvjbP2CbXGW94x1o8WAcaP5EkCw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/vPMU: move APIC ack past the handling of the interrupt
Message-Id: <E1vNsP8-00BNps-0C@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 12:44:22 +0000

commit f4a4287dbbcf0e3d80bb706c09da3e6d48f55234
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 10:24:38 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:24:38 2025 +0100

    x86/vPMU: move APIC ack past the handling of the interrupt
    
    While benign as long as it's using a direct-APIC-vector (handlers for
    which are called with IRQs off), follow the more usual pattern of ack-ing
    the IRQ only after handling it.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/apic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 7747718600..fb38be7ec3 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1319,8 +1319,8 @@ static void cf_check error_interrupt(void)
 
 static void cf_check pmu_interrupt(void)
 {
-    ack_APIC_irq();
     vpmu_do_interrupt();
+    ack_APIC_irq();
 }
 
 void __init apic_intr_init(void)
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 12:44:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 12:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171890.1496959 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNsPJ-0005T8-A3; Tue, 25 Nov 2025 12:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171890.1496959; Tue, 25 Nov 2025 12:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNsPJ-0005T0-7U; Tue, 25 Nov 2025 12:44:33 +0000
Received: by outflank-mailman (input) for mailman id 1171890;
 Tue, 25 Nov 2025 12:44:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNsPI-0005Ss-8m
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 12:44:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsPI-007kp4-0b
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsPI-00BNrF-0U
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=I3sBkkc2Ij3exgOk7aK6EdH+9ZFswVfAcDBEd5Kr55U=; b=y5CMuc1Jg3U35yGkQh9vXr+/Hg
	MAR5EzqVP2W+U7jIxXVwXvu46YL2cjhsThKjOqS4D6rv5S9O+5ignTw8uh6iqxNbT+t/N0DRiaOAb
	wg9nX+MhP+/gGk6cLBTe9GIBB4iCTWBYu4SFXv/B6Al4K1JbpndyB1+mtvuCFfRLIMQ8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xenstored: Default priv_domid to store_domid
Message-Id: <E1vNsPI-00BNrF-0U@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 12:44:32 +0000

commit 31778404a1bb9fe09c53f87cdccc8ca92f729756
Author:     Jason Andryuk <jason.andryuk@amd.com>
AuthorDate: Tue Nov 25 10:24:57 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:24:57 2025 +0100

    xenstored: Default priv_domid to store_domid
    
    On a system without a control domain, a hardware|xenstore domain
    starting xenstored shows:
    common/grant_table.c:1041:d2v0 Could not find domain 32756
    gnttab: error: mmap failed: Invalid argument
    Could not initialize dom32756
    
    setup_structure() does not get called without priv_domid.  Subsequent
    introduce_domain() calls will fault when calling fire_special_watches().
    
    Default priv_domid to store_domid when there is no control domain.
    
    Fixes: e5b0a9405571 ("tools/xenstored: Auto-introduce domains")
    Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/domain.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 5ce539d640..d504e9994b 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1388,6 +1388,12 @@ void init_domains(void)
 	if (store_domid == DOMID_INVALID)
 		barf("Could not determine xenstore domid\n");
 
+	if (priv_domid == DOMID_INVALID)
+	{
+		priv_domid = store_domid;
+		xprintf("priv_domid defaulted to %u\n", priv_domid);
+	}
+
 	snprintf(store_domain_path, sizeof(store_domain_path),
 		 "/local/domain/%u", store_domid);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 12:44:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 12:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1171891.1496963 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNsPT-0005VP-BV; Tue, 25 Nov 2025 12:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1171891.1496963; Tue, 25 Nov 2025 12:44: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-changelog-bounces@lists.xenproject.org>)
	id 1vNsPT-0005VH-8q; Tue, 25 Nov 2025 12:44:43 +0000
Received: by outflank-mailman (input) for mailman id 1171891;
 Tue, 25 Nov 2025 12:44:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNsPS-0005V9-CX
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 12:44:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsPS-007kpC-17
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNsPS-00BNrs-0m
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 12:44:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=7clw99+g6vmWyxqbbSDIAuvYkvWwHOms+haNeeG9nVk=; b=OKKH4th1/kuQwXPquFwi7PZuGq
	zpn0ye3cDRXBEVRPY8KcZ0Prs8cJrME6zGUp8LneL+Y3xwXStquFJvZhr911YnkNQHWCbKHZUary2
	o0I5YXfFGXJcy6iTltnWbErqniQz8yMF+tnoXH5jZIH0sP6OZIiSnFrKmQbKaBwgojEY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xenstored: Add newline to error message
Message-Id: <E1vNsPS-00BNrs-0m@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 12:44:42 +0000

commit 9c68f5e90c223d16418aeb3783b2e5123d2071a3
Author:     Jason Andryuk <jason.andryuk@amd.com>
AuthorDate: Tue Nov 25 10:25:08 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 10:25:08 2025 +0100

    xenstored: Add newline to error message
    
    Unlike barf(), xprintf() does not add a newline.  Add one.
    
    Fixes: e5b0a9405571 ("tools/xenstored: Auto-introduce domains")
    Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/domain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index d504e9994b..10ac1c1a8f 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1333,7 +1333,7 @@ static bool init_domain(unsigned int domid)
 
 	domain = introduce_domain(NULL, domid, port, false);
 	if (!domain) {
-		xprintf("Could not initialize dom%u", domid);
+		xprintf("Could not initialize dom%u\n", domid);
 		return false;
 	}
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 15:22:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 15:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172039.1497109 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNurj-00072N-Hg; Tue, 25 Nov 2025 15:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172039.1497109; Tue, 25 Nov 2025 15: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-changelog-bounces@lists.xenproject.org>)
	id 1vNurj-00072F-F9; Tue, 25 Nov 2025 15:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1172039;
 Tue, 25 Nov 2025 15:22:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNuri-000726-8r
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 15:22:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNuri-007o6T-06
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNurh-00BlBy-3C
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=VHflkhlvwgOKuiiFZEGuWzdHAa1y+dw0EBJlYBkAr7o=; b=nG7p+I5RQfPHmG7pzcItr43HVS
	YTcMX8DU1TBSoQEtbo4vzzhyPBk3SVJ9c7z3ehP5pP8UGvqqqegtpE56WH9p+GStHDjzc44CfYDSE
	NVv5DqlU6JfTtbt5WN3gHN2YFKGaZwacidQVyX4uT6BNQHlKzkt+An4MhTqP6yOUQWSE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] update Xen version to 4.21.1-pre
Message-Id: <E1vNurh-00BlBy-3C@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 15:22:01 +0000

commit 14ad692e3b8eaf6798002a6610ab3e3e47c0af4c
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 16:08:00 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:08:00 2025 +0100

    update Xen version to 4.21.1-pre
---
 MAINTAINERS  | 106 +++++------------------------------------------------------
 xen/Makefile |   2 +-
 2 files changed, 10 insertions(+), 98 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ad4de908b8..829c827d16 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -54,6 +54,15 @@ list. Remember to copy the appropriate stable branch maintainer who
 will be listed in this section of the MAINTAINERS file in the
 appropriate branch.
 
+The maintainer for this branch is:
+
+	Jan Beulich <jbeulich@suse.com>
+
+Tools backport requests should also be copied to:
+
+       Anthony Perard <anthony.perard@vates.tech>
+
+
 	Unstable Subsystem Maintainers
 	==============================
 
@@ -104,103 +113,6 @@ Descriptions of section entries:
 	   xen-maintainers-<version format number of this file>
 
 
-	Check-in policy
-	===============
-
-In order for a patch to be checked in, in general, several conditions
-must be met:
-
-1. In order to get a change to a given file committed, it must have
-   the approval of at least one maintainer of that file.
-
-   A patch of course needs Acks from the maintainers of each file that
-   it changes; so a patch which changes xen/arch/x86/traps.c,
-   xen/arch/x86/mm/p2m.c, and xen/arch/x86/mm/shadow/multi.c would
-   require an Ack from each of the three sets of maintainers.
-
-   See below for rules on nested maintainership.
-
-2. Each change must have appropriate approval from someone other than
-   the person who wrote it.  This can be either:
-
-  a. An Acked-by from a maintainer of the code being touched (a
-     co-maintainer if available, or a more general level maintainer if
-     not available; see the secton on nested maintainership)
-
-  b. A Reviewed-by by anyone of suitable stature in the community
-
-3. Sufficient time must have been given for anyone to respond.  This
-   depends in large part upon the urgency and nature of the patch.
-   For a straightforward uncontroversial patch, a day or two may be
-   sufficient; for a controversial patch, a week or two may be better.
-
-4. There must be no "open" objections.
-
-In a case where one person submits a patch and a maintainer gives an
-Ack, the Ack stands in for both the approval requirement (#1) and the
-Acked-by-non-submitter requirement (#2).
-
-In a case where a maintainer themselves submits a patch, the
-Signed-off-by meets the approval requirement (#1); so a Review
-from anyone in the community suffices for requirement #2.
-
-Before a maintainer checks in their own patch with another community
-member's R-b but no co-maintainer Ack, it is especially important to
-give their co-maintainer opportunity to give feedback, perhaps
-declaring their intention to check it in without their co-maintainers
-ack a day before doing so.
-
-In the case where two people collaborate on a patch, at least one of
-whom is a maintainer -- typically where one maintainer will do an
-early version of the patch, and another maintainer will pick it up and
-revise it -- there should be two Signed-off-by's and one Acked-by or
-Reviewed-by; with the maintainer who did the most recent change
-sending the patch, and an Acked-by or Reviewed-by coming from the
-maintainer who did not most recently edit the patch.  This satisfies
-the requirement #2 because a) the Signed-off-by of the sender approves
-the final version of the patch; including all parts of the patch that
-the sender did not write b) the Reviewed-by approves the final version
-of the patch, including all patches that the reviewer did not write.
-Thus all code in the patch has been approved by someone who did not
-write it.
-
-Maintainers may choose to override non-maintainer objections in the
-case that consensus can't be reached.
-
-As always, no policy can cover all possible situations.  In
-exceptional circumstances, committers may commit a patch in absence of
-one or more of the above requirements, if they are reasonably
-confident that the other maintainers will approve of their decision in
-retrospect.
-
-       The meaning of nesting
-       ======================
-
-Many maintainership areas are "nested": for example, there are entries
-for xen/arch/x86 as well as xen/arch/x86/mm, and even
-xen/arch/x86/mm/shadow; and there is a section at the end called "THE
-REST" which lists all committers.  The meaning of nesting is that:
-
-1. Under normal circumstances, the Ack of the most specific maintainer
-is both necessary and sufficient to get a change to a given file
-committed.  So a change to xen/arch/x86/mm/shadow/multi.c requires the
-the Ack of the xen/arch/x86/mm/shadow maintainer for that part of the
-patch, but would not require the Ack of the xen/arch/x86 maintainer or
-the xen/arch/x86/mm maintainer.
-
-2. In unusual circumstances, a more general maintainer's Ack can stand
-in for or even overrule a specific maintainer's Ack.  Unusual
-circumstances might include:
- - The patch is fixing a high-priority issue causing immediate pain,
- and the more specific maintainer is not available.
- - The more specific maintainer has not responded either to the
- original patch, nor to "pings", within a reasonable amount of time.
- - The more general maintainer wants to overrule the more specific
- maintainer on some issue. (This should be exceptional.)
- - In the case of a disagreement between maintainers, THE REST can
- settle the matter by majority vote.  (This should be very exceptional
- indeed.)
-
 
 Maintainers List (try to look for most precise areas first)
 
diff --git a/xen/Makefile b/xen/Makefile
index 37ca2e657e..bbe7c4d379 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= .0$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .1-pre$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 15:22:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 15:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172040.1497114 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNurt-00075h-JN; Tue, 25 Nov 2025 15:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172040.1497114; Tue, 25 Nov 2025 15:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vNurt-00075X-GZ; Tue, 25 Nov 2025 15:22:13 +0000
Received: by outflank-mailman (input) for mailman id 1172040;
 Tue, 25 Nov 2025 15:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNurs-00075N-5S
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 15:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNurs-007o6Y-0R
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNurs-00BlDG-0I
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=yJbbC4lh62zTcatJB7TSgC1Vxdd42JwTQunj6NF8AVs=; b=siQewvCIkI6vvv7RUk4e3ftvJY
	guw1pl7fXkHsyJGGjVhux0c6yw4rKHo0NAYNZ6VGgD393EJx/dV5pUyNfdmEJ8mBYiWZKGRs020Gy
	jQnXbhjt7+lrEfMeojEdZMZTOKK5txxP4aFCcaq7RyPc8sAIFjQF/G1vEs1m8maCa3zc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vNurs-00BlDG-0I@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 15:22:12 +0000

commit 3d966b5f13613aad9947b0deb9d5065ce43c8c8c
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Tue Nov 25 16:09:03 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:09:03 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: c22b6dced06a74d59cc0b9770366acf7be7515fe
    master date: 2025-11-11 14:44:47 +0100
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index eadf108aa5..c2e756bf4b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index 829c827d16..346c24a13e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -301,7 +301,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 07c4accf88..a5e5af3b76 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 15:22:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 15:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172041.1497117 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNus3-00079M-KT; Tue, 25 Nov 2025 15:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172041.1497117; Tue, 25 Nov 2025 15:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNus3-00079D-Hu; Tue, 25 Nov 2025 15:22:23 +0000
Received: by outflank-mailman (input) for mailman id 1172041;
 Tue, 25 Nov 2025 15:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNus2-000794-AE
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 15:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNus2-007o6u-0v
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNus2-00BlES-0c
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=/FH6DB4CmR0Y6lYIvMFVT5km6wpuOOIdXysE8VbHtQ8=; b=z/j+HCk21R0ZLtvC+yg8usileJ
	PvdK6Ba4EI9lH/+PI1uFAlkV0JZenkpbLCaYG9VRwqOaCitmcpdg6D2eW+/Ji9uFy7LJF1HLRjL7V
	IaYUM3Hh+QO9FVdrZLkmBCpXJ0OiDRh36UzAUQKlohoaS7yrm614lP69Ygus2nVnmhJs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] x86emul/test: extend cleaning of generated files
Message-Id: <E1vNus2-00BlES-0c@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 15:22:22 +0000

commit 653a3dd92a87844398b963851202aeee3fd153d4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 16:09:30 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:09:30 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
    master date: 2025-11-13 09:08:27 +0100
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 34f48d83b3..fefa29a06c 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -261,7 +261,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 15:22:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 15:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172042.1497121 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNusD-0007EY-Mv; Tue, 25 Nov 2025 15:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172042.1497121; Tue, 25 Nov 2025 15:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNusD-0007EQ-KO; Tue, 25 Nov 2025 15:22:33 +0000
Received: by outflank-mailman (input) for mailman id 1172042;
 Tue, 25 Nov 2025 15:22:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNusC-0007Dn-Cu
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 15:22:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNusC-007o6z-1C
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNusC-00BlFg-15
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=NMF7xyIpRfAnWBT6fRrnLxxhEnEjq31KtrA30+M/EUM=; b=RE/s6FUHcOG97wYOFreDc55261
	3IB0JPWxGNDwQw8zszu6JPww0zps2qVkAnC4HVh27dQeW82Fed2kwvjH0TvzmAmLNy0FxPDc5mwcR
	80DvmuPMDavOQ2upmmkTtepM/4PZp5mD4CpBReG+FvnXMs3IbbDje6oE+5SER2b7YRtg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] xen: Fix EFI buildid alignment
Message-Id: <E1vNusC-00BlFg-15@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 15:22:32 +0000

commit 6adf28094f9dacf35bee1f6bdc85ecddca52d944
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Tue Nov 25 16:09:40 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:09:40 2025 +0100

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 26b111cc22b7e36ae5d72a17758b3ec6a1156432
    master date: 2025-11-20 14:29:57 +0000
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 5d02f83a40..527872a6db 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -171,6 +171,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 15:22:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 15:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172043.1497125 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNusN-0007Hq-OO; Tue, 25 Nov 2025 15:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172043.1497125; Tue, 25 Nov 2025 15:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vNusN-0007Hi-Lj; Tue, 25 Nov 2025 15:22:43 +0000
Received: by outflank-mailman (input) for mailman id 1172043;
 Tue, 25 Nov 2025 15:22:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNusM-0007Ha-Fh
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 15:22:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNusM-007o78-1T
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNusM-00BlIE-1N
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=BLkyO/NxwBKf3g6GdF9CKrQhbKUM0P2EIpIgPhT//9k=; b=Sni3ZGPe13DQfKWO4aRF0OEUwV
	b5KmsnfWlw1tzCcEEsbF2ZGrbn/0om2Vs329Y7/O+OD9jeLmF0c8sy25CC9PfbVMGK147MknceAf4
	YwSlTYwfHyW8Xf2m7LNceiCVyj+jMkzcSFyk2rX2f28ck7O0NVQZ5BFsHoCKQn7JqsUY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNusM-00BlIE-1N@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 15:22:42 +0000

commit 5d002b7470774a861f56bba20c08f314edc6d7b1
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 16:10:10 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:10:10 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
    master date: 2025-11-24 11:28:47 +0100
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index fefa29a06c..3e02580a35 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -98,7 +98,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 15:22:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 15:22:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172044.1497130 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNusX-0007LL-QH; Tue, 25 Nov 2025 15:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172044.1497130; Tue, 25 Nov 2025 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-changelog-bounces@lists.xenproject.org>)
	id 1vNusX-0007LC-N4; Tue, 25 Nov 2025 15:22:53 +0000
Received: by outflank-mailman (input) for mailman id 1172044;
 Tue, 25 Nov 2025 15:22:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNusW-0007L3-KJ
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 15:22:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNusW-007o7E-1v
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNusW-00BlJY-1e
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 15:22:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=OTYM/xetOW6I5Cqt/rfsMRC0fMgMOSXRGgPIgIdvTdg=; b=zaHjH7OfY4xfk3IR9pdfFpLLF+
	kNWoFq0jcuaaAUR7exLHRPFzi7RYuWyLKOV6yjhhLpOiYaq+BlT1PN1SXKEo4MMAoOZxeOqKJHR+J
	/WqMGLydRuoYb4L22Pgo+ZLp9rExPG7bJatfeZgKHf9HSYvxOjtZwgO/wFJmLpMGZ0zo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging-4.21] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNusW-00BlJY-1e@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 15:22:52 +0000

commit c7e69564e517fbe625b166e2a91bed3151ec4c13
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 16:10:19 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:10:19 2025 +0100

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: a405bf42eddeb2a2e656807882176e37bd2378af
    master date: 2025-11-24 15:17:39 +0000
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1d1a5aa4b0..ecee400f28 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -260,7 +260,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch,
@@ -271,7 +273,7 @@ static int primary_thread_work(const struct microcode_patch *patch,
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch, flags);
     if ( !ret )
@@ -313,7 +315,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -336,7 +338,7 @@ static int primary_thread_fn(const struct microcode_patch *patch,
                              unsigned int flags)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 16:11:10 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 16:11:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172081.1497163 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvd9-0007wf-NJ; Tue, 25 Nov 2025 16:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172081.1497163; Tue, 25 Nov 2025 16:11:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvd9-0007wX-Kj; Tue, 25 Nov 2025 16:11:03 +0000
Received: by outflank-mailman (input) for mailman id 1172081;
 Tue, 25 Nov 2025 16:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNvd8-0007wR-KI
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 16:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvd7-007pek-2H
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvd7-00BsiZ-2A
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=uoaMi5BtraLpuNacWR3bX/fTVnJOPuM/zz1VarY4yWQ=; b=kqaF0K9b7v4nWsRFW4hOjtiLXE
	z9fZGHqWG1coXgJ2LMX7KfiR0QPnON/ePRHlBJb3DVEJwWHczLbnHg4lxMvcp6a6x/h7FrRpCTlUu
	EvIO3izDKXgVV6kQgb86SeOOp8aQVn8CtSqpbICRZN//2MpFDTR5iJghQEQ19p4jCmtg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] update Xen version to 4.21.1-pre
Message-Id: <E1vNvd7-00BsiZ-2A@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 16:11:01 +0000

commit 14ad692e3b8eaf6798002a6610ab3e3e47c0af4c
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 16:08:00 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:08:00 2025 +0100

    update Xen version to 4.21.1-pre
---
 MAINTAINERS  | 106 +++++------------------------------------------------------
 xen/Makefile |   2 +-
 2 files changed, 10 insertions(+), 98 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ad4de908b8..829c827d16 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -54,6 +54,15 @@ list. Remember to copy the appropriate stable branch maintainer who
 will be listed in this section of the MAINTAINERS file in the
 appropriate branch.
 
+The maintainer for this branch is:
+
+	Jan Beulich <jbeulich@suse.com>
+
+Tools backport requests should also be copied to:
+
+       Anthony Perard <anthony.perard@vates.tech>
+
+
 	Unstable Subsystem Maintainers
 	==============================
 
@@ -104,103 +113,6 @@ Descriptions of section entries:
 	   xen-maintainers-<version format number of this file>
 
 
-	Check-in policy
-	===============
-
-In order for a patch to be checked in, in general, several conditions
-must be met:
-
-1. In order to get a change to a given file committed, it must have
-   the approval of at least one maintainer of that file.
-
-   A patch of course needs Acks from the maintainers of each file that
-   it changes; so a patch which changes xen/arch/x86/traps.c,
-   xen/arch/x86/mm/p2m.c, and xen/arch/x86/mm/shadow/multi.c would
-   require an Ack from each of the three sets of maintainers.
-
-   See below for rules on nested maintainership.
-
-2. Each change must have appropriate approval from someone other than
-   the person who wrote it.  This can be either:
-
-  a. An Acked-by from a maintainer of the code being touched (a
-     co-maintainer if available, or a more general level maintainer if
-     not available; see the secton on nested maintainership)
-
-  b. A Reviewed-by by anyone of suitable stature in the community
-
-3. Sufficient time must have been given for anyone to respond.  This
-   depends in large part upon the urgency and nature of the patch.
-   For a straightforward uncontroversial patch, a day or two may be
-   sufficient; for a controversial patch, a week or two may be better.
-
-4. There must be no "open" objections.
-
-In a case where one person submits a patch and a maintainer gives an
-Ack, the Ack stands in for both the approval requirement (#1) and the
-Acked-by-non-submitter requirement (#2).
-
-In a case where a maintainer themselves submits a patch, the
-Signed-off-by meets the approval requirement (#1); so a Review
-from anyone in the community suffices for requirement #2.
-
-Before a maintainer checks in their own patch with another community
-member's R-b but no co-maintainer Ack, it is especially important to
-give their co-maintainer opportunity to give feedback, perhaps
-declaring their intention to check it in without their co-maintainers
-ack a day before doing so.
-
-In the case where two people collaborate on a patch, at least one of
-whom is a maintainer -- typically where one maintainer will do an
-early version of the patch, and another maintainer will pick it up and
-revise it -- there should be two Signed-off-by's and one Acked-by or
-Reviewed-by; with the maintainer who did the most recent change
-sending the patch, and an Acked-by or Reviewed-by coming from the
-maintainer who did not most recently edit the patch.  This satisfies
-the requirement #2 because a) the Signed-off-by of the sender approves
-the final version of the patch; including all parts of the patch that
-the sender did not write b) the Reviewed-by approves the final version
-of the patch, including all patches that the reviewer did not write.
-Thus all code in the patch has been approved by someone who did not
-write it.
-
-Maintainers may choose to override non-maintainer objections in the
-case that consensus can't be reached.
-
-As always, no policy can cover all possible situations.  In
-exceptional circumstances, committers may commit a patch in absence of
-one or more of the above requirements, if they are reasonably
-confident that the other maintainers will approve of their decision in
-retrospect.
-
-       The meaning of nesting
-       ======================
-
-Many maintainership areas are "nested": for example, there are entries
-for xen/arch/x86 as well as xen/arch/x86/mm, and even
-xen/arch/x86/mm/shadow; and there is a section at the end called "THE
-REST" which lists all committers.  The meaning of nesting is that:
-
-1. Under normal circumstances, the Ack of the most specific maintainer
-is both necessary and sufficient to get a change to a given file
-committed.  So a change to xen/arch/x86/mm/shadow/multi.c requires the
-the Ack of the xen/arch/x86/mm/shadow maintainer for that part of the
-patch, but would not require the Ack of the xen/arch/x86 maintainer or
-the xen/arch/x86/mm maintainer.
-
-2. In unusual circumstances, a more general maintainer's Ack can stand
-in for or even overrule a specific maintainer's Ack.  Unusual
-circumstances might include:
- - The patch is fixing a high-priority issue causing immediate pain,
- and the more specific maintainer is not available.
- - The more specific maintainer has not responded either to the
- original patch, nor to "pings", within a reasonable amount of time.
- - The more general maintainer wants to overrule the more specific
- maintainer on some issue. (This should be exceptional.)
- - In the case of a disagreement between maintainers, THE REST can
- settle the matter by majority vote.  (This should be very exceptional
- indeed.)
-
 
 Maintainers List (try to look for most precise areas first)
 
diff --git a/xen/Makefile b/xen/Makefile
index 37ca2e657e..bbe7c4d379 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= .0$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .1-pre$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 16:11:12 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 16:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172082.1497167 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdI-0007yB-Od; Tue, 25 Nov 2025 16:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172082.1497167; Tue, 25 Nov 2025 16:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdI-0007y3-M3; Tue, 25 Nov 2025 16:11:12 +0000
Received: by outflank-mailman (input) for mailman id 1172082;
 Tue, 25 Nov 2025 16:11:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNvdH-0007xt-Ug
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 16:11:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdH-007peo-2n
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdH-00BsjJ-2S
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=x1zJQuQwAQ+S+5Qbc7i+YGGVOek5R1Zd7OV2ZVLYQqM=; b=jDpovwL21IHPuUXXo/1s13uNbs
	Y/AkRz4xZDVY4/G0tHtLC0WkkzjgM8WWMP7fTtOpLmSC1h0PnX+1VtWvPa4FV5krCYziUjyRmu0Sb
	zOFlygM9jicYTeiuxEigUnE3LgWBEW3JvCaGWXanyMx7hxrrzBba0rmV919eazMT0cu0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] kconfig: remove references to docs/misc/kconfig{,-language}.txt files
Message-Id: <E1vNvdH-00BsjJ-2S@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 16:11:11 +0000

commit 3d966b5f13613aad9947b0deb9d5065ce43c8c8c
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
AuthorDate: Tue Nov 25 16:09:03 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:09:03 2025 +0100

    kconfig: remove references to docs/misc/kconfig{,-language}.txt files
    
    These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
    references are still present in Xen. Remove them to clean-up.
    
    Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation")
    Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    master commit: c22b6dced06a74d59cc0b9770366acf7be7515fe
    master date: 2025-11-11 14:44:47 +0100
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index eadf108aa5..c2e756bf4b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 ==============
 
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
 
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index 829c827d16..346c24a13e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -301,7 +301,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
 
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 07c4accf88..a5e5af3b76 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 16:11:22 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 16:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172083.1497172 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdS-00080s-QL; Tue, 25 Nov 2025 16:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172083.1497172; Tue, 25 Nov 2025 16:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdS-00080g-NO; Tue, 25 Nov 2025 16:11:22 +0000
Received: by outflank-mailman (input) for mailman id 1172083;
 Tue, 25 Nov 2025 16:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNvdS-00080Y-06
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 16:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdR-007pfB-39
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdR-00BskN-2y
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=5m4fKot8xBkUYM3xhU01B2tNjgbDNYG6ZllvqNhHVUI=; b=aFFXKU2MkJDsNlussn5qYNq7tD
	9CSqolW7yr2h85fj8fX+k+x5hinq8PUTLo/5M61Cq+axA51ybLdM1eeVgFTkfopxNGwIq2NSs0Jlw
	Y47UeiRFyPuXesv69bs3x6l/RRiqNx3MKTYQFbY8BZQZ2+8HSudL84Acm7xycnSQFjN4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] x86emul/test: extend cleaning of generated files
Message-Id: <E1vNvdR-00BskN-2y@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 16:11:21 +0000

commit 653a3dd92a87844398b963851202aeee3fd153d4
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 16:09:30 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:09:30 2025 +0100

    x86emul/test: extend cleaning of generated files
    
    Many *.c files are symlinked while building, so along with generated *.h
    files they ought to be removed. Conversely $(TARGET) doesn't need removing
    twice.
    
    Fixes: cb4fcf70b2f3 ("x86emul: parallelize SIMD test code building")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 774c382b28bf6e6e29f9c8b0a2bbf65c0fc71d4f
    master date: 2025-11-13 09:08:27 +0100
---
 tools/tests/x86_emulator/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 34f48d83b3..fefa29a06c 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -261,7 +261,8 @@ $(TARGET): $(OBJS)
 .PHONY: clean
 clean:
 	rm -rf $(TARGET) *.o *~ core *.bin x86_emulate
-	rm -rf $(TARGET) $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))
+	rm -rf $(addsuffix .c,$(filter-out blowfish,$(TESTCASES)))
 
 .PHONY: distclean
 distclean: clean
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 16:11:32 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 16:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172084.1497175 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdc-00083D-RY; Tue, 25 Nov 2025 16:11:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172084.1497175; Tue, 25 Nov 2025 16:11:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdc-000835-Oi; Tue, 25 Nov 2025 16:11:32 +0000
Received: by outflank-mailman (input) for mailman id 1172084;
 Tue, 25 Nov 2025 16:11:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNvdc-00082x-2x
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 16:11:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdc-007pfF-0D
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdc-00Bsl1-06
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ALDxoyFqYPJHfIKqN+ih7sHwYHUtk4VjxFFlEkIqK6w=; b=b7X4ha/ZxUbwNRj0FpxsSWZjrI
	Q0iTdQNQmwE5Q//qixX4Bhnpz9e9tdGEge5R0DLgb7qPKU2bpsO9lNkl7oj+leYSYDh05hs42xCbN
	ub6qx3gNnLOE+9Kz5ap5sGM+oDc12yXfEpEy5cYQpZToPCEfDeMBkGswWjyqQHONu22k=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] xen: Fix EFI buildid alignment
Message-Id: <E1vNvdc-00Bsl1-06@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 16:11:32 +0000

commit 6adf28094f9dacf35bee1f6bdc85ecddca52d944
Author:     Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
AuthorDate: Tue Nov 25 16:09:40 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:09:40 2025 +0100

    xen: Fix EFI buildid alignment
    
    Old binutils get confused about .buildid overlapping (in VA space) with
    earlier section. That confusion results in weird errors down the road,
    like this one:
    
        objcopy: xen.efi: Data Directory size (1c) exceeds space left in section (8)
    
    While the bug is fixed in later binutils version, force alignment of the
    buildid to avoid overlapping and make it work with older versions too.
    This can be reverted once toolchain base is raised at or above binutils
    2.36.
    
    Details at https://lore.kernel.org/xen-devel/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/T/#u
    
    Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build ID")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 26b111cc22b7e36ae5d72a17758b3ec6a1156432
    master date: 2025-11-20 14:29:57 +0000
---
 xen/arch/x86/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 5d02f83a40..527872a6db 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -171,6 +171,8 @@ SECTIONS
        __note_gnu_build_id_end = .;
   } PHDR(note) PHDR(text)
 #elif defined(BUILD_ID_EFI)
+  /* Workaround bug in binutils < 2.36 */
+  . = ALIGN(32);
   DECL_SECTION(.buildid) {
        __note_gnu_build_id_start = .;
        *(.buildid)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 16:11:42 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 16:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172085.1497179 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdm-00088a-Tr; Tue, 25 Nov 2025 16:11:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172085.1497179; Tue, 25 Nov 2025 16:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdm-00088S-RK; Tue, 25 Nov 2025 16:11:42 +0000
Received: by outflank-mailman (input) for mailman id 1172085;
 Tue, 25 Nov 2025 16:11:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNvdm-00088M-5q
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 16:11:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdm-007pfN-0U
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdm-00BsqW-0N
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Wenp84RP0KR72IXtDsgdeXJlr4AbEFObbRyMI7Cq40Y=; b=V3EtGADPqjvPSa57QQoOgQvQOc
	/MMTBAFpuCHgUuFpcrvM+g6jhMxYOh81Sxd5egYUrgp9j+0qHBT1Se5p3mvkKr5jAx50YxLfKLUWu
	Wy+9hREAj0Q1yxCaCio2fjXQg1T//7OC1qBCN0IBLwSADSpZvcrRoGnzircj7C0JtnFU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] x86emul/test: correct compiler checking and avoid it when merely cleaning
Message-Id: <E1vNvdm-00BsqW-0N@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 16:11:42 +0000

commit 5d002b7470774a861f56bba20c08f314edc6d7b1
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Nov 25 16:10:10 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:10:10 2025 +0100

    x86emul/test: correct compiler checking and avoid it when merely cleaning
    
    The error messages that the compiler may emit can be confusing.
    
    The check was also the wrong way round in case multiple make targets are
    specified: We want to do the check whenever targets other than the running
    and cleaning ones are specified.
    
    Fixes: 05f4cc219235 ("x86emul: suppress default test harness build with incapable compiler")
    Fixes: d5997399b7ad ("x86emul: suppress "not built" warning for test harness'es run targets")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c482d1f59fc723d5b0aca3b288ca2f6007cd00a4
    master date: 2025-11-24 11:28:47 +0100
---
 tools/tests/x86_emulator/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index fefa29a06c..3e02580a35 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -98,7 +98,7 @@ avx512bw-opmask-vecs := 4 8
 # partially even with older compilers.
 TARGET-y := $(TARGET)
 
-ifeq ($(filter run%,$(MAKECMDGOALS)),)
+ifneq ($(filter-out run% clean% distclean,$(MAKECMDGOALS)),)
 
 define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Tue Nov 25 16:11:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Nov 2025 16:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172087.1497183 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vNvdx-0008C1-VC; Tue, 25 Nov 2025 16:11:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172087.1497183; Tue, 25 Nov 2025 16:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vNvdx-0008Bt-Si; Tue, 25 Nov 2025 16:11:53 +0000
Received: by outflank-mailman (input) for mailman id 1172087;
 Tue, 25 Nov 2025 16:11:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vNvdw-0008Bj-8t
 for xen-changelog@lists.xenproject.org; Tue, 25 Nov 2025 16:11:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdw-007pfX-0n
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vNvdw-00Bsr9-0f
 for xen-changelog@lists.xenproject.org;
 Tue, 25 Nov 2025 16:11:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=/puZ5aRYmHAMlItQOkRo7ipBgO/6XY68WcP/qPRfrZA=; b=tw4Av2njMw96tIx33bqfJ9Jll0
	L7MArHSYPbaGUEVt8HZuZN3dYdHZz9tiIcxU+gN1eUUjJbLWhhTU8p2qC2KmCvVr4atM+s1dMa3hK
	hgoDa7gUk0o9vbu/98iFDcATJa6Kt9mkFinkbQgC0FT9zbSehQWmYZMiK4TmA/w4zBew=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen stable-4.21] x86/ucode: Fix error handling during parallel ucode load
Message-Id: <E1vNvdw-00Bsr9-0f@xenbits.xenproject.org>
Date: Tue, 25 Nov 2025 16:11:52 +0000

commit c7e69564e517fbe625b166e2a91bed3151ec4c13
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 16:10:19 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Nov 25 16:10:19 2025 +0100

    x86/ucode: Fix error handling during parallel ucode load
    
    The xen-ucode utility is sensitive to the overall error as -EEXIST is a
    special case for success, but the real error can get clobbered with -EBUSY.
    
    This can be demonstrated most easily by force loading an old microcode, which
    should yield -EIO but yields -EBUSY:
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Device or resource busy)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    wait_for_state() returns false on encountering LOADING_EXIT.  Right now, this
    is always transformed into -EBUSY and passed back to callers.
    
    However, control_thread_fn() can move directly to this state in the case of an
    early error; it is not an error condition for APs, but the latest write into
    stopmachine_data.fn_result wins, causing the real error, -EIO, to get
    clobbered with -EBUSY.
    
    Drop all the -EBUSY's, and treat hitting LOADING_EXIT as a success case.  This
    causes only a single error to be returned through stop_machine_run(), and
    preserves the -EIO
    
      # xen-ucode /lib/firmware/amd-ucode/microcode_amd_fam17h.bin --force
      Failed to update microcode. (err: Input/output error)
    
      (XEN) 256 cores are to update their microcode
      (XEN) microcode: CPU0 update rev 0x830107d to 0x830107c failed, result 0x830107d
      (XEN) Late loading aborted: CPU0 failed to update ucode: -5
    
    Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: a405bf42eddeb2a2e656807882176e37bd2378af
    master date: 2025-11-24 15:17:39 +0000
---
 xen/arch/x86/cpu/microcode/core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1d1a5aa4b0..ecee400f28 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -260,7 +260,9 @@ static int secondary_nmi_work(void)
 {
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
-    return wait_for_state(LOADING_EXIT) ? 0 : -EBUSY;
+    wait_for_state(LOADING_EXIT);
+
+    return 0;
 }
 
 static int primary_thread_work(const struct microcode_patch *patch,
@@ -271,7 +273,7 @@ static int primary_thread_work(const struct microcode_patch *patch,
     cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
 
     if ( !wait_for_state(LOADING_ENTER) )
-        return -EBUSY;
+        return 0;
 
     ret = alternative_call(ucode_ops.apply_microcode, patch, flags);
     if ( !ret )
@@ -313,7 +315,7 @@ static int cf_check microcode_nmi_callback(
 static int secondary_thread_fn(void)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     self_nmi();
 
@@ -336,7 +338,7 @@ static int primary_thread_fn(const struct microcode_patch *patch,
                              unsigned int flags)
 {
     if ( !wait_for_state(LOADING_CALLIN) )
-        return -EBUSY;
+        return 0;
 
     if ( ucode_in_nmi )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.21


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 11:11:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 11:11:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172537.1497595 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODQO-0003iF-Ly; Wed, 26 Nov 2025 11:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172537.1497595; Wed, 26 Nov 2025 11:11:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODQO-0003i8-JG; Wed, 26 Nov 2025 11:11:04 +0000
Received: by outflank-mailman (input) for mailman id 1172537;
 Wed, 26 Nov 2025 11:11:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vODQN-0003hw-IU
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 11:11:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQM-009QnA-1j
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQM-00E0n9-1Z
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=niJaekdR/9XuI4zQVU4J9EI5RQQfCxHYskcd/2hS/o0=; b=InbcWM+XwHnECGAB9WYy2EjnIU
	PmXOF54UVeEHOSZTXl2ECgmj0WasYfeGONW1Xg2LJPFCxFq6pzoD5ofMy7ghjm6oBrZM7xaaE+Qth
	pYD0wdG2LFzZbAGMMWALAjFmje0AikPXwC53/lLPXfB2/wmpGwlzYxz8tKNTKZUtD8nw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/apic: remove cpu_mask_to_apicid hook
Message-Id: <E1vODQM-00E0n9-1Z@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 11:11:02 +0000

commit 4fad52d207f3d3505cdb5e519ab4d71fcac7f067
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Mon Oct 13 15:55:17 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/apic: remove cpu_mask_to_apicid hook
    
    All implementations use the same hook.  No functional change intended.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/genapic/bigsmp.c      |  1 -
 xen/arch/x86/genapic/default.c     |  1 -
 xen/arch/x86/genapic/delivery.c    |  2 +-
 xen/arch/x86/genapic/x2apic.c      |  2 --
 xen/arch/x86/include/asm/genapic.h | 13 +------------
 5 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index ddb3a0b5d7..066feb4a17 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -48,7 +48,6 @@ const struct genapic __initconst_cf_clobber apic_bigsmp = {
 	APIC_INIT("bigsmp", probe_bigsmp),
 	.init_apic_ldr = init_apic_ldr_phys,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
-	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 	.send_IPI_mask = send_IPI_mask_phys,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index 16e1875f63..ab9a292464 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -18,7 +18,6 @@ const struct genapic __initconst_cf_clobber apic_default = {
 	APIC_INIT("default", NULL),
 	.init_apic_ldr = init_apic_ldr_flat,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
-	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 	.send_IPI_mask = send_IPI_mask_flat,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/delivery.c b/xen/arch/x86/genapic/delivery.c
index 15100439be..5d105e8485 100644
--- a/xen/arch/x86/genapic/delivery.c
+++ b/xen/arch/x86/genapic/delivery.c
@@ -35,7 +35,7 @@ const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu)
 	return cpumask_of(cpu);
 }
 
-unsigned int cf_check cpu_mask_to_apicid_phys(const cpumask_t *cpumask)
+unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask)
 {
 	/* As we are using single CPU as destination, pick only one CPU here */
 	return cpu_physical_id(cpumask_any(cpumask));
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 58157c217e..f4709ab929 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -142,7 +142,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
     APIC_INIT("x2apic_phys", NULL),
     .init_apic_ldr = init_apic_ldr_phys,
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
-    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
     .send_IPI_mask = send_IPI_mask_x2apic_phys,
     .send_IPI_self = send_IPI_self_x2apic
 };
@@ -162,7 +161,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
      * hence are set to use Physical destination mode handlers.
      */
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
-    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 
     /*
      * The following fields are exclusively used by IPIs and hence are set to
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index 04d3f1de7a..6d979279bd 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -25,7 +25,6 @@ struct genapic {
 
 	void (*init_apic_ldr)(void);
 	const cpumask_t *(*vector_allocation_cpumask)(int cpu);
-	unsigned int (*cpu_mask_to_apicid)(const cpumask_t *cpumask);
 	void (*send_IPI_mask)(const cpumask_t *mask, int vector);
     void (*send_IPI_self)(uint8_t vector);
 };
@@ -36,16 +35,6 @@ struct genapic {
 
 #define TARGET_CPUS ((const typeof(cpu_online_map) *)&cpu_online_map)
 #define init_apic_ldr() alternative_vcall(genapic.init_apic_ldr)
-#define cpu_mask_to_apicid(mask) ({ \
-	/* \
-	 * There are a number of places where the address of a local variable \
-	 * gets passed here. The use of ?: in alternative_call<N>() triggers an \
-	 * "address of ... is always true" warning in such a case with at least \
-	 * gcc 7 and 8. Hence the seemingly pointless local variable here. \
-	 */ \
-	const cpumask_t *m_ = (mask); \
-	alternative_call(genapic.cpu_mask_to_apicid, m_); \
-})
 #define vector_allocation_cpumask(cpu) \
 	alternative_call(genapic.vector_allocation_cpumask, cpu)
 
@@ -59,7 +48,7 @@ void cf_check init_apic_ldr_flat(void);
 void cf_check send_IPI_mask_flat(const cpumask_t *cpumask, int vector);
 
 void cf_check init_apic_ldr_phys(void);
-unsigned int cf_check cpu_mask_to_apicid_phys(const cpumask_t *cpumask);
+unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask);
 void cf_check send_IPI_mask_phys(const cpumask_t *mask, int vector);
 const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu);
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 11:11:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 11:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172538.1497599 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODQX-0003kG-Ng; Wed, 26 Nov 2025 11:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172538.1497599; Wed, 26 Nov 2025 11:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vODQX-0003k8-Ku; Wed, 26 Nov 2025 11:11:13 +0000
Received: by outflank-mailman (input) for mailman id 1172538;
 Wed, 26 Nov 2025 11:11:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vODQW-0003jw-NE
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 11:11:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQW-009QnE-2E
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQW-00E0o6-1v
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=MlemNtZ/6+Hg8N7it8qMwNugTJfG/V9VGHMZzG4r4aU=; b=cmB5FOg4xnM6P/SxbIny+i8dBs
	1KWUDtzQbgOs1DKK8S5JG7sKi43XiEMJ6lCji8/j5UdyeUpJc7YDxztdkeSzsipzb6ht/twgZiaUr
	aMD80qoSVNYX5TQ0/2fYqJppfia5xxTYkkXtNI8eF3cnElMQiwW3AzrOW7xobuW/AWDQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/apic: remove vector_allocation_cpumask hook
Message-Id: <E1vODQW-00E0o6-1v@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 11:11:12 +0000

commit 76e51bc152428f10df06fb9e0e4b9de7a942e7a9
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Mon Oct 13 16:05:28 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/apic: remove vector_allocation_cpumask hook
    
    All implementations use the same hook which is a wrapper around
    cpumask_of(cpu).  Adjust callers to no longer use such dummy mask with a
    single CPU set, as the CPU is already known to the caller.  This removes a
    pair of usages of for_each_cpu().
    
    No functional change intended.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/genapic/bigsmp.c      |  1 -
 xen/arch/x86/genapic/default.c     |  1 -
 xen/arch/x86/genapic/delivery.c    |  5 -----
 xen/arch/x86/genapic/x2apic.c      |  7 -------
 xen/arch/x86/include/asm/genapic.h |  4 ----
 xen/arch/x86/irq.c                 | 19 +++++++------------
 6 files changed, 7 insertions(+), 30 deletions(-)

diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index 066feb4a17..c0bcee659f 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -47,7 +47,6 @@ static int __init cf_check probe_bigsmp(void)
 const struct genapic __initconst_cf_clobber apic_bigsmp = {
 	APIC_INIT("bigsmp", probe_bigsmp),
 	.init_apic_ldr = init_apic_ldr_phys,
-	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.send_IPI_mask = send_IPI_mask_phys,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index ab9a292464..58b5884aac 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -17,7 +17,6 @@
 const struct genapic __initconst_cf_clobber apic_default = {
 	APIC_INIT("default", NULL),
 	.init_apic_ldr = init_apic_ldr_flat,
-	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.send_IPI_mask = send_IPI_mask_flat,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/delivery.c b/xen/arch/x86/genapic/delivery.c
index 5d105e8485..777570f3b6 100644
--- a/xen/arch/x86/genapic/delivery.c
+++ b/xen/arch/x86/genapic/delivery.c
@@ -30,11 +30,6 @@ void cf_check init_apic_ldr_phys(void)
 	/* We only deliver in phys mode - no setup needed. */
 }
 
-const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu)
-{
-	return cpumask_of(cpu);
-}
-
 unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask)
 {
 	/* As we are using single CPU as destination, pick only one CPU here */
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index f4709ab929..89d66bc627 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -141,7 +141,6 @@ static void cf_check send_IPI_mask_x2apic_cluster(
 static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
     APIC_INIT("x2apic_phys", NULL),
     .init_apic_ldr = init_apic_ldr_phys,
-    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
     .send_IPI_mask = send_IPI_mask_x2apic_phys,
     .send_IPI_self = send_IPI_self_x2apic
 };
@@ -156,12 +155,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
 static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
     APIC_INIT("x2apic_mixed", NULL),
 
-    /*
-     * The following fields are exclusively used by external interrupts and
-     * hence are set to use Physical destination mode handlers.
-     */
-    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
-
     /*
      * The following fields are exclusively used by IPIs and hence are set to
      * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index 6d979279bd..33ec492a6f 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -24,7 +24,6 @@ struct genapic {
 	int (*probe)(void);
 
 	void (*init_apic_ldr)(void);
-	const cpumask_t *(*vector_allocation_cpumask)(int cpu);
 	void (*send_IPI_mask)(const cpumask_t *mask, int vector);
     void (*send_IPI_self)(uint8_t vector);
 };
@@ -35,8 +34,6 @@ struct genapic {
 
 #define TARGET_CPUS ((const typeof(cpu_online_map) *)&cpu_online_map)
 #define init_apic_ldr() alternative_vcall(genapic.init_apic_ldr)
-#define vector_allocation_cpumask(cpu) \
-	alternative_call(genapic.vector_allocation_cpumask, cpu)
 
 extern struct genapic genapic;
 extern const struct genapic apic_default;
@@ -50,7 +47,6 @@ void cf_check send_IPI_mask_flat(const cpumask_t *cpumask, int vector);
 void cf_check init_apic_ldr_phys(void);
 unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask);
 void cf_check send_IPI_mask_phys(const cpumask_t *mask, int vector);
-const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu);
 
 void generic_apic_probe(void);
 void generic_bigsmp_probe(void);
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 80f7417d21..fd34cd4cbe 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -621,16 +621,12 @@ static int _assign_irq_vector(struct irq_desc *desc, const cpumask_t *mask)
 
     for_each_cpu(cpu, mask)
     {
-        const cpumask_t *vec_mask;
-        int new_cpu;
         int vector, offset;
 
         /* Only try and allocate irqs on cpus that are present. */
         if (!cpu_online(cpu))
             continue;
 
-        vec_mask = vector_allocation_cpumask(cpu);
-
         vector = current_vector;
         offset = current_offset;
 next:
@@ -650,13 +646,13 @@ next:
             && test_bit(vector, irq_used_vectors) )
             goto next;
 
-        if ( cpumask_test_cpu(0, vec_mask) &&
+        if ( !cpu &&
              vector >= FIRST_LEGACY_VECTOR && vector <= LAST_LEGACY_VECTOR )
             goto next;
 
-        for_each_cpu(new_cpu, vec_mask)
-            if (per_cpu(vector_irq, new_cpu)[vector] >= 0)
-                goto next;
+        if ( per_cpu(vector_irq, cpu)[vector] >= 0 )
+            goto next;
+
         /* Found one! */
         current_vector = vector;
         current_offset = offset;
@@ -688,12 +684,11 @@ next:
                 release_old_vec(desc);
         }
 
-        trace_irq_mask(TRC_HW_IRQ_ASSIGN_VECTOR, irq, vector, vec_mask);
+        trace_irq_mask(TRC_HW_IRQ_ASSIGN_VECTOR, irq, vector, cpumask_of(cpu));
 
-        for_each_cpu(new_cpu, vec_mask)
-            per_cpu(vector_irq, new_cpu)[vector] = irq;
+        per_cpu(vector_irq, cpu)[vector] = irq;
         desc->arch.vector = vector;
-        cpumask_copy(desc->arch.cpu_mask, vec_mask);
+        cpumask_copy(desc->arch.cpu_mask, cpumask_of(cpu));
 
         desc->arch.used = IRQ_USED;
         ASSERT((desc->arch.used_vectors == NULL)
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 11:11:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 11:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172539.1497603 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODQh-0003mi-P3; Wed, 26 Nov 2025 11:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172539.1497603; Wed, 26 Nov 2025 11:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODQh-0003ma-MN; Wed, 26 Nov 2025 11:11:23 +0000
Received: by outflank-mailman (input) for mailman id 1172539;
 Wed, 26 Nov 2025 11:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vODQg-0003mT-SO
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 11:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQg-009QnI-2Z
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQg-00E0pA-2P
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=I0Z5xwrjOafMe4L3tVhThrTkP8vhW5j384FU6uSuYo4=; b=2FiJ8ZfDNNRKi9MQZR9k92EUUf
	rixeDZTwUTwWMKQybW9oY9Zp0X5AZx3flcVFNGwmOPyttgC5pKsgKn7kQ87gReh31yA1MOD2kxFIp
	vcB1SgHBOfshaUk7jEY1J2uHphiAlNEe9NrGZpnkeohlCQUZKZwsT61XnBIxFflzzAro=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/irq: introduce local irq_desc
Message-Id: <E1vODQg-00E0pA-2P@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 11:11:22 +0000

commit c2d6dc7c68e3c986614fcc7c814e1794aef4905a
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Sun Oct 19 18:02:24 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/irq: introduce local irq_desc
    
    Avoid duplicated calls to irq_to_desc() by storing the result in a local
    variable.  No functional change.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/smpboot.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 8d3161248d..7fab555233 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1455,12 +1455,16 @@ void __init smp_intr_init(void)
      */
     for ( seridx = 0; seridx <= SERHND_IDX; seridx++ )
     {
+        struct irq_desc *desc;
+
         if ( (irq = serial_irq(seridx)) < 0 )
             continue;
         vector = alloc_hipriority_vector();
         per_cpu(vector_irq, cpu)[vector] = irq;
-        irq_to_desc(irq)->arch.vector = vector;
-        cpumask_copy(irq_to_desc(irq)->arch.cpu_mask, &cpu_online_map);
+
+        desc = irq_to_desc(irq);
+        desc->arch.vector = vector;
+        cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
     }
 
     /* Direct IPI vectors. */
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 11:11:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 11:11:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172540.1497607 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODQr-0003qd-R1; Wed, 26 Nov 2025 11:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172540.1497607; Wed, 26 Nov 2025 11:11:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODQr-0003qV-Nj; Wed, 26 Nov 2025 11:11:33 +0000
Received: by outflank-mailman (input) for mailman id 1172540;
 Wed, 26 Nov 2025 11:11:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vODQq-0003qN-VF
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 11:11:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQq-009QnM-32
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODQq-00E0qS-2k
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=95Jo3kqmRPZod1BvtYeZVFZfUOFgwfXGD0F8HNW/nvE=; b=YMTYPOD8TZlSA4n6sHLOErcKzF
	6fy2pNvzJu3O9ld80Qd35g9Z9zew2KeO3bH/FSjqlQooFX0Byljr8Qo47LIexOg6ln9zEjv05B0yY
	6D3sO3iIHbSDcGuRC9uVk31bsgG6xU+kqglQ/L+lR3yzwWzzglN+XY3DEV+xRrorVV1k=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/irq: set accurate cpu_mask for high priority vectors used by external interrupts
Message-Id: <E1vODQq-00E0qS-2k@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 11:11:32 +0000

commit 68dda501d9889ae93008e43d9d558ad9e730fa42
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Oct 24 09:22:08 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/irq: set accurate cpu_mask for high priority vectors used by external interrupts
    
    Setting the irq descriptor target CPU mask of high priority interrupts to
    contain all online CPUs is not accurate.  External interrupts are
    exclusively delivered using physical destination mode, and hence can only
    target a single CPU.  Setting the descriptor CPU mask to contain all online
    CPUs makes it impossible for Xen to figure out which CPU the interrupt is
    really targeting.
    
    Instead handle high priority vectors used by external interrupts similarly
    to normal vectors, keeping the target CPU mask accurate.  Introduce
    specific code in _assign_irq_vector() to deal with moving high priority
    vectors across CPUs, this is needed at least for fixup_irqs() to be able to
    evacuate those if the target CPU goes offline.
    
    Fixes: fc0c3fa2ad5c ("x86/IO-APIC: fix setup of Xen internally used IRQs (take 2)")
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/irq.c     | 30 ++++++++++++++++++++++++------
 xen/arch/x86/smpboot.c |  3 ++-
 2 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index fd34cd4cbe..92b8604dc8 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -547,6 +547,20 @@ static int _assign_irq_vector(struct irq_desc *desc, const cpumask_t *mask)
         cpumask_t tmp_mask;
 
         cpumask_and(&tmp_mask, mask, &cpu_online_map);
+
+        /*
+         * High priority vectors are reserved on all CPUs, hence moving them
+         * just requires changing the target CPU.  There's no need for vector
+         * allocation on the destination.
+         */
+        if ( old_vector >= FIRST_HIPRIORITY_VECTOR &&
+             old_vector <= LAST_HIPRIORITY_VECTOR )
+        {
+            cpumask_copy(desc->arch.cpu_mask,
+                         cpumask_of(cpumask_any(&tmp_mask)));
+            return 0;
+        }
+
         if (cpumask_intersects(&tmp_mask, desc->arch.cpu_mask)) {
             desc->arch.vector = old_vector;
             return 0;
@@ -756,12 +770,16 @@ void setup_vector_irq(unsigned int cpu)
         if ( !irq_desc_initialized(desc) )
             continue;
         vector = irq_to_vector(irq);
-        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
-             vector <= LAST_HIPRIORITY_VECTOR )
-            cpumask_set_cpu(cpu, desc->arch.cpu_mask);
-        else if ( !cpumask_test_cpu(cpu, desc->arch.cpu_mask) )
-            continue;
-        per_cpu(vector_irq, cpu)[vector] = irq;
+        if ( cpumask_test_cpu(cpu, desc->arch.cpu_mask) ||
+             /*
+              * High-priority vectors are reserved on all CPUs.  Set
+              * the vector to IRQ assignment on all CPUs, even if the
+              * interrupt is not targeting this CPU.  That makes
+              * shuffling those interrupts around CPUs easier.
+              */
+             (vector >= FIRST_HIPRIORITY_VECTOR &&
+              vector <= LAST_HIPRIORITY_VECTOR) )
+            per_cpu(vector_irq, cpu)[vector] = irq;
     }
 }
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 7fab555233..69cc9bbc6e 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1464,7 +1464,8 @@ void __init smp_intr_init(void)
 
         desc = irq_to_desc(irq);
         desc->arch.vector = vector;
-        cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
+        cpumask_copy(desc->arch.cpu_mask, cpumask_of(cpu));
+        cpumask_setall(desc->affinity);
     }
 
     /* Direct IPI vectors. */
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 11:11:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 11:11:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172541.1497611 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODR2-0003yH-Tt; Wed, 26 Nov 2025 11:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172541.1497611; Wed, 26 Nov 2025 11: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-changelog-bounces@lists.xenproject.org>)
	id 1vODR2-0003y9-RJ; Wed, 26 Nov 2025 11:11:44 +0000
Received: by outflank-mailman (input) for mailman id 1172541;
 Wed, 26 Nov 2025 11:11:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vODR1-0003xx-1b
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 11:11:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODR1-009Qnj-04
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:43 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODR0-00E0sQ-3C
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=NHmgpbr/qv5YII8EP4GrXxwP4Q/UnFFKGLBbU4yONU8=; b=Zd4dkMrDv0Eu9Hmr1L6HGULd04
	zE290oE/Uz5B4kCmLQEJ8nWTdIIVXcPDRMwat0f8elZ+W81MYcDdw8OrQDUxDJdyeTJvnMd4v4x/2
	6Ca0NlpLQzz5MWfh0gqZ3LnZU9n5aF6MSv7rcWSaScjdy+NL25uBQ/UfsQmbRNKh/C+g=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/msix: fix incorrect refcount decrease in msixtlb
Message-Id: <E1vODR0-00E0sQ-3C@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 11:11:42 +0000

commit ea87662c7781c5abeddcd62923eb405d10522ae9
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Tue Nov 25 09:22:02 2025 +0100
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/msix: fix incorrect refcount decrease in msixtlb
    
    The usage of atomic_dec_and_test() in msixtbl_pt_unregister() is inverted:
    the function will return true when the refcount reaches 0.  The current
    code does the opposite and calls del_msixtbl_entry() when there are still
    refcounts held on the object.
    
    However all callers of msixtbl_pt_unregister() are serialized on the domctl
    lock, and hence there cannot be parallel calls to msixtbl_pt_unregister()
    that could lead to double freeing of the same object.
    
    The incorrect freeing with active msixtlb entries will result in a possible
    guest visible malfunction, but no internal Xen state corruption.
    
    While entries are leaked once the last pIRQ is unbound, the same entry
    would get re-used if the device has pIRQs bound again.  The guest cannot
    exploit this incorrect refcount check to leak arbitrary amounts of memory
    by repeatedly enabling and disabling (binding and unbinding) MSI-X entries.
    
    Fixes: 34097f0d3080 ('hvm: passthrough MSI-X mask bit acceleration')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/vmsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 32e417bc15..27b1f089e2 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -716,7 +716,7 @@ out:
     return;
 
 found:
-    if ( !atomic_dec_and_test(&entry->refcnt) )
+    if ( atomic_dec_and_test(&entry->refcnt) )
         del_msixtbl_entry(entry);
 
     spin_unlock_irq(&irqd->lock);
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 11:11:55 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 11:11:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172542.1497614 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vODRC-00045m-VL; Wed, 26 Nov 2025 11:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172542.1497614; Wed, 26 Nov 2025 11:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vODRC-00045e-Sn; Wed, 26 Nov 2025 11:11:54 +0000
Received: by outflank-mailman (input) for mailman id 1172542;
 Wed, 26 Nov 2025 11:11:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vODRB-00045S-5F
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 11:11:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODRB-009Qnn-0Q
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:53 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vODRB-00E0tL-0E
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 11:11:53 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Bii6plQw0mTMXVv0BvLp693Wig1qSBW7g99ZpjK+mxE=; b=imUdt5Kh4/22IEPTJ26bWgorlD
	/f9spzvCXf1N334mfr1V4PGmb6E82FT3xGWMof+ep0hoT43PNY/q8Ra5u0T7BYVlufCHM5uPdCobR
	PCWsPVKqqBdSyFSuQAMxxXrl3ddn3MAyARXGapg8ADbOIvyVbmXCm/cC7bMvs9AA3W4Y=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/linker: be more selective about defining LLVM_COV_*
Message-Id: <E1vODRB-00E0tL-0E@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 11:11:53 +0000

commit 63107e02c2f78dd9c013c8f6428b55101bcd38d2
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Tue Nov 25 15:23:34 2025 +0100
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 10:42:20 2025 +0100

    xen/linker: be more selective about defining LLVM_COV_*
    
    There's no need to place the LLVM coverage sections in the linker script if
    not building with clang, or if code coverage is not enabled.
    
    No functional change intended.
    
    Fixes: 186c02e85961 ('xen: Support LLVM raw profile versions 5, 6, 7, 8, 9, and 10')
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/xen.lds.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index d80c895959..f54fb2d152 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -81,6 +81,7 @@
   .stab.index 0 : { *(.stab.index) }         \
   .stab.indexstr 0 : { *(.stab.indexstr) }
 
+#if defined(CONFIG_CC_IS_CLANG) && defined(CONFIG_COVERAGE)
 /* Clang coverage sections. */
 #define LLVM_COV_RW_DATA                                   \
     DECL_SECTION(__llvm_prf_cnts) { *(__llvm_prf_cnts) }   \
@@ -93,6 +94,11 @@
 #define LLVM_COV_DEBUG                                     \
     DECL_DEBUG(__llvm_covfun, 8)                           \
     DECL_DEBUG(__llvm_covmap, 8)
+#else
+#define LLVM_COV_RW_DATA
+#define LLVM_COV_RO_DATA
+#define LLVM_COV_DEBUG
+#endif
 
 /*
  * ELF sections.
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 12:11:05 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 12:11:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172590.1497659 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOEMR-0005VO-0X; Wed, 26 Nov 2025 12:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172590.1497659; Wed, 26 Nov 2025 12:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOEMQ-0005VG-UA; Wed, 26 Nov 2025 12:11:02 +0000
Received: by outflank-mailman (input) for mailman id 1172590;
 Wed, 26 Nov 2025 12:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOEMP-0005VA-Vx
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 12:11:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMP-009S4J-2H
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMP-00E8lI-25
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=/1pG9E+hvAEReT05NtsfLNPQLDGVP9OQo4ARKKpJebk=; b=Q6K3k0zzDPFLBzp1UWmenNKLeS
	kydYWV/54sqnIzuqTccGCgXZsrkMQPtp2+LMNWASZQ21UiZZSHXuhkLXiK7fcGOiznm2fKZkhko6a
	rTBKUqhaNk581V2wsbAKbskZ/wOGabd3g6OTKpCyMypXuS+ThBoWXqKbmoyPDnfXVMac=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/apic: remove cpu_mask_to_apicid hook
Message-Id: <E1vOEMP-00E8lI-25@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 12:11:01 +0000

commit 4fad52d207f3d3505cdb5e519ab4d71fcac7f067
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Mon Oct 13 15:55:17 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/apic: remove cpu_mask_to_apicid hook
    
    All implementations use the same hook.  No functional change intended.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/genapic/bigsmp.c      |  1 -
 xen/arch/x86/genapic/default.c     |  1 -
 xen/arch/x86/genapic/delivery.c    |  2 +-
 xen/arch/x86/genapic/x2apic.c      |  2 --
 xen/arch/x86/include/asm/genapic.h | 13 +------------
 5 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index ddb3a0b5d7..066feb4a17 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -48,7 +48,6 @@ const struct genapic __initconst_cf_clobber apic_bigsmp = {
 	APIC_INIT("bigsmp", probe_bigsmp),
 	.init_apic_ldr = init_apic_ldr_phys,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
-	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 	.send_IPI_mask = send_IPI_mask_phys,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index 16e1875f63..ab9a292464 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -18,7 +18,6 @@ const struct genapic __initconst_cf_clobber apic_default = {
 	APIC_INIT("default", NULL),
 	.init_apic_ldr = init_apic_ldr_flat,
 	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
-	.cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 	.send_IPI_mask = send_IPI_mask_flat,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/delivery.c b/xen/arch/x86/genapic/delivery.c
index 15100439be..5d105e8485 100644
--- a/xen/arch/x86/genapic/delivery.c
+++ b/xen/arch/x86/genapic/delivery.c
@@ -35,7 +35,7 @@ const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu)
 	return cpumask_of(cpu);
 }
 
-unsigned int cf_check cpu_mask_to_apicid_phys(const cpumask_t *cpumask)
+unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask)
 {
 	/* As we are using single CPU as destination, pick only one CPU here */
 	return cpu_physical_id(cpumask_any(cpumask));
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 58157c217e..f4709ab929 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -142,7 +142,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
     APIC_INIT("x2apic_phys", NULL),
     .init_apic_ldr = init_apic_ldr_phys,
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
-    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
     .send_IPI_mask = send_IPI_mask_x2apic_phys,
     .send_IPI_self = send_IPI_self_x2apic
 };
@@ -162,7 +161,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
      * hence are set to use Physical destination mode handlers.
      */
     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
-    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
 
     /*
      * The following fields are exclusively used by IPIs and hence are set to
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index 04d3f1de7a..6d979279bd 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -25,7 +25,6 @@ struct genapic {
 
 	void (*init_apic_ldr)(void);
 	const cpumask_t *(*vector_allocation_cpumask)(int cpu);
-	unsigned int (*cpu_mask_to_apicid)(const cpumask_t *cpumask);
 	void (*send_IPI_mask)(const cpumask_t *mask, int vector);
     void (*send_IPI_self)(uint8_t vector);
 };
@@ -36,16 +35,6 @@ struct genapic {
 
 #define TARGET_CPUS ((const typeof(cpu_online_map) *)&cpu_online_map)
 #define init_apic_ldr() alternative_vcall(genapic.init_apic_ldr)
-#define cpu_mask_to_apicid(mask) ({ \
-	/* \
-	 * There are a number of places where the address of a local variable \
-	 * gets passed here. The use of ?: in alternative_call<N>() triggers an \
-	 * "address of ... is always true" warning in such a case with at least \
-	 * gcc 7 and 8. Hence the seemingly pointless local variable here. \
-	 */ \
-	const cpumask_t *m_ = (mask); \
-	alternative_call(genapic.cpu_mask_to_apicid, m_); \
-})
 #define vector_allocation_cpumask(cpu) \
 	alternative_call(genapic.vector_allocation_cpumask, cpu)
 
@@ -59,7 +48,7 @@ void cf_check init_apic_ldr_flat(void);
 void cf_check send_IPI_mask_flat(const cpumask_t *cpumask, int vector);
 
 void cf_check init_apic_ldr_phys(void);
-unsigned int cf_check cpu_mask_to_apicid_phys(const cpumask_t *cpumask);
+unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask);
 void cf_check send_IPI_mask_phys(const cpumask_t *mask, int vector);
 const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 12:11:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 12:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172591.1497663 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOEMb-0005XC-2A; Wed, 26 Nov 2025 12:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172591.1497663; Wed, 26 Nov 2025 12:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vOEMa-0005X4-VR; Wed, 26 Nov 2025 12:11:12 +0000
Received: by outflank-mailman (input) for mailman id 1172591;
 Wed, 26 Nov 2025 12:11:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOEMZ-0005Ws-RT
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 12:11:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMZ-009S4P-2e
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMZ-00E8mN-2T
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=vtBzShs/6EYvhpV6Lg7YPJ3+2CsdmkxxBgoLdWWQ4UE=; b=q4Tb9lpcziZ+GllT+vE+NFuxtl
	nxTyhlL5gw2YJ7IO+h/JJgpcxn7oTcWRj3lfIoKK1Odz9dLgmOQIQJdtb4b/Jf3s1W3KEt5Ey1c3Z
	961jylENqiThBNqsat47RjF8oANTiBC4VoeFTEC2MZdDWgrizmZEw6oK0dIsMVf9JpL8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/apic: remove vector_allocation_cpumask hook
Message-Id: <E1vOEMZ-00E8mN-2T@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 12:11:11 +0000

commit 76e51bc152428f10df06fb9e0e4b9de7a942e7a9
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Mon Oct 13 16:05:28 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/apic: remove vector_allocation_cpumask hook
    
    All implementations use the same hook which is a wrapper around
    cpumask_of(cpu).  Adjust callers to no longer use such dummy mask with a
    single CPU set, as the CPU is already known to the caller.  This removes a
    pair of usages of for_each_cpu().
    
    No functional change intended.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/genapic/bigsmp.c      |  1 -
 xen/arch/x86/genapic/default.c     |  1 -
 xen/arch/x86/genapic/delivery.c    |  5 -----
 xen/arch/x86/genapic/x2apic.c      |  7 -------
 xen/arch/x86/include/asm/genapic.h |  4 ----
 xen/arch/x86/irq.c                 | 19 +++++++------------
 6 files changed, 7 insertions(+), 30 deletions(-)

diff --git a/xen/arch/x86/genapic/bigsmp.c b/xen/arch/x86/genapic/bigsmp.c
index 066feb4a17..c0bcee659f 100644
--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -47,7 +47,6 @@ static int __init cf_check probe_bigsmp(void)
 const struct genapic __initconst_cf_clobber apic_bigsmp = {
 	APIC_INIT("bigsmp", probe_bigsmp),
 	.init_apic_ldr = init_apic_ldr_phys,
-	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.send_IPI_mask = send_IPI_mask_phys,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/default.c b/xen/arch/x86/genapic/default.c
index ab9a292464..58b5884aac 100644
--- a/xen/arch/x86/genapic/default.c
+++ b/xen/arch/x86/genapic/default.c
@@ -17,7 +17,6 @@
 const struct genapic __initconst_cf_clobber apic_default = {
 	APIC_INIT("default", NULL),
 	.init_apic_ldr = init_apic_ldr_flat,
-	.vector_allocation_cpumask = vector_allocation_cpumask_phys,
 	.send_IPI_mask = send_IPI_mask_flat,
 	.send_IPI_self = send_IPI_self_legacy
 };
diff --git a/xen/arch/x86/genapic/delivery.c b/xen/arch/x86/genapic/delivery.c
index 5d105e8485..777570f3b6 100644
--- a/xen/arch/x86/genapic/delivery.c
+++ b/xen/arch/x86/genapic/delivery.c
@@ -30,11 +30,6 @@ void cf_check init_apic_ldr_phys(void)
 	/* We only deliver in phys mode - no setup needed. */
 }
 
-const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu)
-{
-	return cpumask_of(cpu);
-}
-
 unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask)
 {
 	/* As we are using single CPU as destination, pick only one CPU here */
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index f4709ab929..89d66bc627 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -141,7 +141,6 @@ static void cf_check send_IPI_mask_x2apic_cluster(
 static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
     APIC_INIT("x2apic_phys", NULL),
     .init_apic_ldr = init_apic_ldr_phys,
-    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
     .send_IPI_mask = send_IPI_mask_x2apic_phys,
     .send_IPI_self = send_IPI_self_x2apic
 };
@@ -156,12 +155,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
 static const struct genapic __initconst_cf_clobber apic_x2apic_mixed = {
     APIC_INIT("x2apic_mixed", NULL),
 
-    /*
-     * The following fields are exclusively used by external interrupts and
-     * hence are set to use Physical destination mode handlers.
-     */
-    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
-
     /*
      * The following fields are exclusively used by IPIs and hence are set to
      * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index 6d979279bd..33ec492a6f 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -24,7 +24,6 @@ struct genapic {
 	int (*probe)(void);
 
 	void (*init_apic_ldr)(void);
-	const cpumask_t *(*vector_allocation_cpumask)(int cpu);
 	void (*send_IPI_mask)(const cpumask_t *mask, int vector);
     void (*send_IPI_self)(uint8_t vector);
 };
@@ -35,8 +34,6 @@ struct genapic {
 
 #define TARGET_CPUS ((const typeof(cpu_online_map) *)&cpu_online_map)
 #define init_apic_ldr() alternative_vcall(genapic.init_apic_ldr)
-#define vector_allocation_cpumask(cpu) \
-	alternative_call(genapic.vector_allocation_cpumask, cpu)
 
 extern struct genapic genapic;
 extern const struct genapic apic_default;
@@ -50,7 +47,6 @@ void cf_check send_IPI_mask_flat(const cpumask_t *cpumask, int vector);
 void cf_check init_apic_ldr_phys(void);
 unsigned int cpu_mask_to_apicid(const cpumask_t *cpumask);
 void cf_check send_IPI_mask_phys(const cpumask_t *mask, int vector);
-const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu);
 
 void generic_apic_probe(void);
 void generic_bigsmp_probe(void);
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 80f7417d21..fd34cd4cbe 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -621,16 +621,12 @@ static int _assign_irq_vector(struct irq_desc *desc, const cpumask_t *mask)
 
     for_each_cpu(cpu, mask)
     {
-        const cpumask_t *vec_mask;
-        int new_cpu;
         int vector, offset;
 
         /* Only try and allocate irqs on cpus that are present. */
         if (!cpu_online(cpu))
             continue;
 
-        vec_mask = vector_allocation_cpumask(cpu);
-
         vector = current_vector;
         offset = current_offset;
 next:
@@ -650,13 +646,13 @@ next:
             && test_bit(vector, irq_used_vectors) )
             goto next;
 
-        if ( cpumask_test_cpu(0, vec_mask) &&
+        if ( !cpu &&
              vector >= FIRST_LEGACY_VECTOR && vector <= LAST_LEGACY_VECTOR )
             goto next;
 
-        for_each_cpu(new_cpu, vec_mask)
-            if (per_cpu(vector_irq, new_cpu)[vector] >= 0)
-                goto next;
+        if ( per_cpu(vector_irq, cpu)[vector] >= 0 )
+            goto next;
+
         /* Found one! */
         current_vector = vector;
         current_offset = offset;
@@ -688,12 +684,11 @@ next:
                 release_old_vec(desc);
         }
 
-        trace_irq_mask(TRC_HW_IRQ_ASSIGN_VECTOR, irq, vector, vec_mask);
+        trace_irq_mask(TRC_HW_IRQ_ASSIGN_VECTOR, irq, vector, cpumask_of(cpu));
 
-        for_each_cpu(new_cpu, vec_mask)
-            per_cpu(vector_irq, new_cpu)[vector] = irq;
+        per_cpu(vector_irq, cpu)[vector] = irq;
         desc->arch.vector = vector;
-        cpumask_copy(desc->arch.cpu_mask, vec_mask);
+        cpumask_copy(desc->arch.cpu_mask, cpumask_of(cpu));
 
         desc->arch.used = IRQ_USED;
         ASSERT((desc->arch.used_vectors == NULL)
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 12:11:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 12:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172592.1497667 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOEMl-0005ZF-2y; Wed, 26 Nov 2025 12:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172592.1497667; Wed, 26 Nov 2025 12:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOEMl-0005Z7-0U; Wed, 26 Nov 2025 12:11:23 +0000
Received: by outflank-mailman (input) for mailman id 1172592;
 Wed, 26 Nov 2025 12:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOEMj-0005Yx-W7
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 12:11:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMj-009S4T-37
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:21 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMj-00E8nG-2o
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:21 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=eEavkksofIoq+mWYLF1VxG9Wcp5ptHhirsbJNzWswb4=; b=q4msCxVPTWrDi9XJjyNycc5bts
	8tZ7/W8mO4zu/7r5aEyKYwWFCLgrSZzNlxf8gpPICAnpNJzomqJB7r7iY6i8LihzSGY1iERcjr/PS
	0acaS2mRQn2FG2txWqced07M61ZHvgHkHk2RPnzTmhEpJshT3GFgwxcsDrxymhyqZeJs=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/irq: introduce local irq_desc
Message-Id: <E1vOEMj-00E8nG-2o@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 12:11:21 +0000

commit c2d6dc7c68e3c986614fcc7c814e1794aef4905a
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Sun Oct 19 18:02:24 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/irq: introduce local irq_desc
    
    Avoid duplicated calls to irq_to_desc() by storing the result in a local
    variable.  No functional change.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/smpboot.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 8d3161248d..7fab555233 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1455,12 +1455,16 @@ void __init smp_intr_init(void)
      */
     for ( seridx = 0; seridx <= SERHND_IDX; seridx++ )
     {
+        struct irq_desc *desc;
+
         if ( (irq = serial_irq(seridx)) < 0 )
             continue;
         vector = alloc_hipriority_vector();
         per_cpu(vector_irq, cpu)[vector] = irq;
-        irq_to_desc(irq)->arch.vector = vector;
-        cpumask_copy(irq_to_desc(irq)->arch.cpu_mask, &cpu_online_map);
+
+        desc = irq_to_desc(irq);
+        desc->arch.vector = vector;
+        cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
     }
 
     /* Direct IPI vectors. */
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 12:11:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 12:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172593.1497671 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOEMw-0005dR-4Q; Wed, 26 Nov 2025 12:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172593.1497671; Wed, 26 Nov 2025 12:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vOEMw-0005dJ-1q; Wed, 26 Nov 2025 12:11:34 +0000
Received: by outflank-mailman (input) for mailman id 1172593;
 Wed, 26 Nov 2025 12:11:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOEMu-0005d7-5Q
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 12:11:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMu-009S4X-0R
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEMu-00E8o8-04
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=QQURWPnAWnHkTtK+ixP362Fwv5OpC5UuBrdVXj3DVII=; b=zBRzlTkA3XRuWugYueFr2L3XzK
	+Y/h3KVY+fUxlqqIfg+P8IPruTF8a5gs+lUvMgL0sAkZTCi4OMp9zjceL2VsAaQipZHnI6oXL5Toj
	Qi2VP18XCeVXoOttmMRnjMkInS27g1fAING2WJ/bkQtMjx/xMrXk4K+tVBA6AcFFeieM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/irq: set accurate cpu_mask for high priority vectors used by external interrupts
Message-Id: <E1vOEMu-00E8o8-04@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 12:11:32 +0000

commit 68dda501d9889ae93008e43d9d558ad9e730fa42
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Oct 24 09:22:08 2025 +0200
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/irq: set accurate cpu_mask for high priority vectors used by external interrupts
    
    Setting the irq descriptor target CPU mask of high priority interrupts to
    contain all online CPUs is not accurate.  External interrupts are
    exclusively delivered using physical destination mode, and hence can only
    target a single CPU.  Setting the descriptor CPU mask to contain all online
    CPUs makes it impossible for Xen to figure out which CPU the interrupt is
    really targeting.
    
    Instead handle high priority vectors used by external interrupts similarly
    to normal vectors, keeping the target CPU mask accurate.  Introduce
    specific code in _assign_irq_vector() to deal with moving high priority
    vectors across CPUs, this is needed at least for fixup_irqs() to be able to
    evacuate those if the target CPU goes offline.
    
    Fixes: fc0c3fa2ad5c ("x86/IO-APIC: fix setup of Xen internally used IRQs (take 2)")
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/irq.c     | 30 ++++++++++++++++++++++++------
 xen/arch/x86/smpboot.c |  3 ++-
 2 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index fd34cd4cbe..92b8604dc8 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -547,6 +547,20 @@ static int _assign_irq_vector(struct irq_desc *desc, const cpumask_t *mask)
         cpumask_t tmp_mask;
 
         cpumask_and(&tmp_mask, mask, &cpu_online_map);
+
+        /*
+         * High priority vectors are reserved on all CPUs, hence moving them
+         * just requires changing the target CPU.  There's no need for vector
+         * allocation on the destination.
+         */
+        if ( old_vector >= FIRST_HIPRIORITY_VECTOR &&
+             old_vector <= LAST_HIPRIORITY_VECTOR )
+        {
+            cpumask_copy(desc->arch.cpu_mask,
+                         cpumask_of(cpumask_any(&tmp_mask)));
+            return 0;
+        }
+
         if (cpumask_intersects(&tmp_mask, desc->arch.cpu_mask)) {
             desc->arch.vector = old_vector;
             return 0;
@@ -756,12 +770,16 @@ void setup_vector_irq(unsigned int cpu)
         if ( !irq_desc_initialized(desc) )
             continue;
         vector = irq_to_vector(irq);
-        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
-             vector <= LAST_HIPRIORITY_VECTOR )
-            cpumask_set_cpu(cpu, desc->arch.cpu_mask);
-        else if ( !cpumask_test_cpu(cpu, desc->arch.cpu_mask) )
-            continue;
-        per_cpu(vector_irq, cpu)[vector] = irq;
+        if ( cpumask_test_cpu(cpu, desc->arch.cpu_mask) ||
+             /*
+              * High-priority vectors are reserved on all CPUs.  Set
+              * the vector to IRQ assignment on all CPUs, even if the
+              * interrupt is not targeting this CPU.  That makes
+              * shuffling those interrupts around CPUs easier.
+              */
+             (vector >= FIRST_HIPRIORITY_VECTOR &&
+              vector <= LAST_HIPRIORITY_VECTOR) )
+            per_cpu(vector_irq, cpu)[vector] = irq;
     }
 }
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 7fab555233..69cc9bbc6e 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1464,7 +1464,8 @@ void __init smp_intr_init(void)
 
         desc = irq_to_desc(irq);
         desc->arch.vector = vector;
-        cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
+        cpumask_copy(desc->arch.cpu_mask, cpumask_of(cpu));
+        cpumask_setall(desc->affinity);
     }
 
     /* Direct IPI vectors. */
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 12:11:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 12:11:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172594.1497675 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOEN6-0005i0-66; Wed, 26 Nov 2025 12:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172594.1497675; Wed, 26 Nov 2025 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-changelog-bounces@lists.xenproject.org>)
	id 1vOEN6-0005hs-3F; Wed, 26 Nov 2025 12:11:44 +0000
Received: by outflank-mailman (input) for mailman id 1172594;
 Wed, 26 Nov 2025 12:11:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOEN4-0005hl-80
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 12:11:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEN4-009S4u-0i
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOEN4-00E8pj-0b
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Gq0wJwYeQqJPQrBQutJxkJZhkYyllMIilAliyppWuG0=; b=zY7scBnHBowzCPfbsGUY/mmpWN
	Vvxh5UXJg/cMYpKNyRbM1M/PtVHj3lF+zapr/5KpmKYjdQkX3Sm5Dc7LGknxM7tak41E2dMTA7UA6
	q3Aal19fdv1KomrlF+DCDSpg58n7ATXmmgRX43Mie2F2sgyKKzpr6wH/CizQE1XQ+lmI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/msix: fix incorrect refcount decrease in msixtlb
Message-Id: <E1vOEN4-00E8pj-0b@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 12:11:42 +0000

commit ea87662c7781c5abeddcd62923eb405d10522ae9
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Tue Nov 25 09:22:02 2025 +0100
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 09:46:17 2025 +0100

    x86/msix: fix incorrect refcount decrease in msixtlb
    
    The usage of atomic_dec_and_test() in msixtbl_pt_unregister() is inverted:
    the function will return true when the refcount reaches 0.  The current
    code does the opposite and calls del_msixtbl_entry() when there are still
    refcounts held on the object.
    
    However all callers of msixtbl_pt_unregister() are serialized on the domctl
    lock, and hence there cannot be parallel calls to msixtbl_pt_unregister()
    that could lead to double freeing of the same object.
    
    The incorrect freeing with active msixtlb entries will result in a possible
    guest visible malfunction, but no internal Xen state corruption.
    
    While entries are leaked once the last pIRQ is unbound, the same entry
    would get re-used if the device has pIRQs bound again.  The guest cannot
    exploit this incorrect refcount check to leak arbitrary amounts of memory
    by repeatedly enabling and disabling (binding and unbinding) MSI-X entries.
    
    Fixes: 34097f0d3080 ('hvm: passthrough MSI-X mask bit acceleration')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/vmsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 32e417bc15..27b1f089e2 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -716,7 +716,7 @@ out:
     return;
 
 found:
-    if ( !atomic_dec_and_test(&entry->refcnt) )
+    if ( atomic_dec_and_test(&entry->refcnt) )
         del_msixtbl_entry(entry);
 
     spin_unlock_irq(&irqd->lock);
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 12:11:54 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 12:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172595.1497678 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOENG-0005k8-7L; Wed, 26 Nov 2025 12:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172595.1497678; Wed, 26 Nov 2025 12:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vOENG-0005k0-4Y; Wed, 26 Nov 2025 12:11:54 +0000
Received: by outflank-mailman (input) for mailman id 1172595;
 Wed, 26 Nov 2025 12:11:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOENE-0005js-B8
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 12:11:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOENE-009S51-0y
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOENE-00E8rj-0s
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 12:11:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=tpHBhH+j0uL6pxM8bWtWwfhraczhwmpzBRvlzguPbrA=; b=pxVIopQYrXSmL0uNr/pdfkjDrD
	IunGvvwR0AamWkFPnam0QivOtLjjvELz5XRoDUwPuNc259AxjlXDDT3rwiO9ucxe3wBI0Xb0pAphg
	R0huIizXAQ/gynvrRVFz0p/Fd4clSkFb5fThJrXE6+jblsH6WOfljPyHyh4IQht8YtyY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/linker: be more selective about defining LLVM_COV_*
Message-Id: <E1vOENE-00E8rj-0s@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 12:11:52 +0000

commit 63107e02c2f78dd9c013c8f6428b55101bcd38d2
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Tue Nov 25 15:23:34 2025 +0100
Commit:     Roger Pau Monne <roger.pau@citrix.com>
CommitDate: Wed Nov 26 10:42:20 2025 +0100

    xen/linker: be more selective about defining LLVM_COV_*
    
    There's no need to place the LLVM coverage sections in the linker script if
    not building with clang, or if code coverage is not enabled.
    
    No functional change intended.
    
    Fixes: 186c02e85961 ('xen: Support LLVM raw profile versions 5, 6, 7, 8, 9, and 10')
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/xen.lds.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index d80c895959..f54fb2d152 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -81,6 +81,7 @@
   .stab.index 0 : { *(.stab.index) }         \
   .stab.indexstr 0 : { *(.stab.indexstr) }
 
+#if defined(CONFIG_CC_IS_CLANG) && defined(CONFIG_COVERAGE)
 /* Clang coverage sections. */
 #define LLVM_COV_RW_DATA                                   \
     DECL_SECTION(__llvm_prf_cnts) { *(__llvm_prf_cnts) }   \
@@ -93,6 +94,11 @@
 #define LLVM_COV_DEBUG                                     \
     DECL_DEBUG(__llvm_covfun, 8)                           \
     DECL_DEBUG(__llvm_covmap, 8)
+#else
+#define LLVM_COV_RW_DATA
+#define LLVM_COV_RO_DATA
+#define LLVM_COV_DEBUG
+#endif
 
 /*
  * ELF sections.
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 13:22:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 13:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172608.1497693 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFT9-0005fk-8r; Wed, 26 Nov 2025 13:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172608.1497693; Wed, 26 Nov 2025 13:22:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFT9-0005fc-6N; Wed, 26 Nov 2025 13:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1172608;
 Wed, 26 Nov 2025 13:22:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOFT8-0005fW-3M
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 13:22:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFT7-009TOf-2z
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFT7-00EI15-2q
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=EO/rR5ufqCXqLhOveHQNhbxmkUwg9Req4tlCaqHsU7A=; b=acUMSoXx+c/UcdXbaH2G7fhdYJ
	Xi+IeMGgdHlgmCwThypq7DUBM93XMynf0WmifvWBvWxPs2CFOnYsJW+yzWUJ3mvmy969U69H5eBzM
	b2XBSeEE401Y9HKbrMkUEgCrtlAqGSycJcTNViE740cWO43Rn0H7YPJDMbio5GDObvWM=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] EFI/runtime: switch to xv[mz]alloc_array()
Message-Id: <E1vOFT7-00EI15-2q@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 13:22:01 +0000

commit 9b6ab6621904b015aa269c4bfbca7aa65374a60a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 26 12:05:38 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:05:38 2025 +0100

    EFI/runtime: switch to xv[mz]alloc_array()
    
    Use the more "modern" form, thus doing away with effectively open-coding
    xmalloc_array() at the same time. While there is a difference in
    generated code, as xmalloc_bytes() forces SMP_CACHE_BYTES alignment, if
    code really cared about such higher than default alignment, it should
    request so explicitly.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Denis Mukhin <dmukhin@ford.com>
    Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/efi/runtime.c | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 30d649ca5c..f786ceb007 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -6,6 +6,7 @@
 #include <xen/irq.h>
 #include <xen/sections.h>
 #include <xen/time.h>
+#include <xen/xvmalloc.h>
 
 DEFINE_XEN_GUEST_HANDLE(CHAR16);
 
@@ -502,23 +503,23 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         len = gwstrlen(guest_handle_cast(op->u.get_variable.name, CHAR16));
         if ( len < 0 )
             return len;
-        name = xmalloc_array(CHAR16, ++len);
+        name = xvmalloc_array(CHAR16, ++len);
         if ( !name )
            return -ENOMEM;
         if ( __copy_from_guest(name, op->u.get_variable.name, len) ||
              wmemchr(name, 0, len) != name + len - 1 )
         {
-            xfree(name);
+            xvfree(name);
             return -EIO;
         }
 
         size = op->u.get_variable.size;
         if ( size )
         {
-            data = xmalloc_bytes(size);
+            data = xvmalloc_array(unsigned char, size);
             if ( !data )
             {
-                xfree(name);
+                xvfree(name);
                 return -ENOMEM;
             }
         }
@@ -541,8 +542,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         else
             rc = -EOPNOTSUPP;
 
-        xfree(data);
-        xfree(name);
+        xvfree(data);
+        xvfree(name);
     }
     break;
 
@@ -555,17 +556,17 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         len = gwstrlen(guest_handle_cast(op->u.set_variable.name, CHAR16));
         if ( len < 0 )
             return len;
-        name = xmalloc_array(CHAR16, ++len);
+        name = xvmalloc_array(CHAR16, ++len);
         if ( !name )
            return -ENOMEM;
         if ( __copy_from_guest(name, op->u.set_variable.name, len) ||
              wmemchr(name, 0, len) != name + len - 1 )
         {
-            xfree(name);
+            xvfree(name);
             return -EIO;
         }
 
-        data = xmalloc_bytes(op->u.set_variable.size);
+        data = xvmalloc_array(unsigned char, op->u.set_variable.size);
         if ( !data )
             rc = -ENOMEM;
         else if ( copy_from_guest(data, op->u.set_variable.data,
@@ -583,8 +584,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
             efi_rs_leave(&state);
         }
 
-        xfree(data);
-        xfree(name);
+        xvfree(data);
+        xvfree(name);
     }
     break;
 
@@ -600,13 +601,13 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
             return -EINVAL;
 
         size = op->u.get_next_variable_name.size;
-        name.raw = xzalloc_bytes(size);
+        name.raw = xvzalloc_array(unsigned char, size);
         if ( !name.raw )
             return -ENOMEM;
         if ( copy_from_guest(name.raw, op->u.get_next_variable_name.name,
                              size) )
         {
-            xfree(name.raw);
+            xvfree(name.raw);
             return -EFAULT;
         }
 
@@ -631,7 +632,7 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         else
             rc = -EOPNOTSUPP;
 
-        xfree(name.raw);
+        xvfree(name.raw);
     }
     break;
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 13:22:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 13:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172609.1497698 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFTJ-0005hR-B1; Wed, 26 Nov 2025 13:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172609.1497698; Wed, 26 Nov 2025 13:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vOFTJ-0005hJ-7j; Wed, 26 Nov 2025 13:22:13 +0000
Received: by outflank-mailman (input) for mailman id 1172609;
 Wed, 26 Nov 2025 13:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOFTI-0005h9-53
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 13:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTI-009TOp-0M
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTH-00EI2d-3D
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=2/vKpv1bFe0MBlNhszhPxwlYLizyD/sOeQFs30FnWFA=; b=W/GjoBurJP+HYUdxssY0B/GOPr
	QwQuC8tHtmRSqDvkR8+vSJbo514/R1oDUazWtNMkPkE7B6ocemevko4De6Kjce+dS2Y/8tqiGs36M
	wsr7NeQnujvRONoj0DAtN7D4CuoTbcJyl5SofsqQtrSKNkQdn1LncEB4Uv8fw5JrIKNg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/console: introduce domain_console struct
Message-Id: <E1vOFTH-00EI2d-3D@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 13:22:11 +0000

commit ada53067083e97d3e96fa0b386d78991870a30fd
Author:     Denis Mukhin <dmukhin@ford.com>
AuthorDate: Wed Nov 26 12:06:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:06:56 2025 +0100

    xen/console: introduce domain_console struct
    
    Introduce domain_console for grouping data structures used for integrating
    domain's diagnostic console with Xen's console driver.
    
    Group all pbuf-related data structures under domain_console. Rename the moved
    fields to plain .buf, .idx and .lock names, since all uses of the fields are
    touched.
    
    Ensure accesses to domain_console pointer are valid in console_switch_input().
    
    Bump the domain console buffer allocation size to 256. No extra symbol for the
    value since it is used only once during data structure declaration. All size
    checks use ARRAY_SIZE().
    
    Allocate domain_console from the heap so that the parent domain struct size
    stays below PAGE_SIZE boundary to account for more console-related fields
    added in the future.
    
    Finally, update the domain_console allocation and initialization code. Make
    sure domain_console is not allocated for system domains.
    
    No functional change.
    
    Signed-off-by: Denis Mukhin <dmukhin@ford.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/arch/arm/vpl011.c      |  2 +-
 xen/arch/x86/hvm/hvm.c     | 16 +++++++++-------
 xen/arch/x86/pv/shim.c     |  2 +-
 xen/common/domain.c        | 19 +++++++++----------
 xen/drivers/char/console.c | 28 ++++++++++++++++------------
 xen/include/xen/sched.h    | 24 +++++++++++++-----------
 6 files changed, 49 insertions(+), 42 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 480fc664fc..d0d17c76b7 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -713,7 +713,7 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
     }
     else
     {
-        d->console.input_allowed = true;
+        d->console->input_allowed = true;
         vpl011->backend_in_domain = false;
 
         vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d7acc16cb3..4084b610fa 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -563,6 +563,7 @@ static int cf_check hvm_print_line(
     int dir, unsigned int port, unsigned int bytes, uint32_t *val)
 {
     struct domain *cd = current->domain;
+    struct domain_console *cons = cd->console;
     char c = *val;
 
     ASSERT(bytes == 1 && port == XEN_HVM_DEBUGCONS_IOPORT);
@@ -580,16 +581,17 @@ static int cf_check hvm_print_line(
     if ( !is_console_printable(c) )
         return X86EMUL_OKAY;
 
-    spin_lock(&cd->pbuf_lock);
+    spin_lock(&cons->lock);
+    ASSERT(cons->idx < ARRAY_SIZE(cons->buf));
     if ( c != '\n' )
-        cd->pbuf[cd->pbuf_idx++] = c;
-    if ( (cd->pbuf_idx == (DOMAIN_PBUF_SIZE - 1)) || (c == '\n') )
+        cons->buf[cons->idx++] = c;
+    if ( (cons->idx == (ARRAY_SIZE(cons->buf) - 1)) || (c == '\n') )
     {
-        cd->pbuf[cd->pbuf_idx] = '\0';
-        guest_printk(cd, XENLOG_G_DEBUG "%s\n", cd->pbuf);
-        cd->pbuf_idx = 0;
+        cons->buf[cons->idx] = '\0';
+        guest_printk(cd, XENLOG_G_DEBUG "%s\n", cons->buf);
+        cons->idx = 0;
     }
-    spin_unlock(&cd->pbuf_lock);
+    spin_unlock(&cons->lock);
 
     return X86EMUL_OKAY;
 }
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index bc2a7dd5fa..bd29c53a2d 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -239,7 +239,7 @@ void __init pv_shim_setup_dom(struct domain *d, l4_pgentry_t *l4start,
      */
     d->max_pages = domain_tot_pages(d);
 
-    d->console.input_allowed = true;
+    d->console->input_allowed = true;
 }
 
 static void write_start_info(struct domain *d)
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 3b6e9471c4..850daf1ee8 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -680,7 +680,7 @@ static void _domain_destroy(struct domain *d)
     BUG_ON(!d->is_dying);
     BUG_ON(atomic_read(&d->refcnt) != DOMAIN_DESTROYED);
 
-    xfree(d->pbuf);
+    XVFREE(d->console);
 
     argo_destroy(d);
 
@@ -854,8 +854,6 @@ struct domain *domain_create(domid_t domid,
         flags |= CDF_hardware;
         if ( old_hwdom )
             old_hwdom->cdf &= ~CDF_hardware;
-
-        d->console.input_allowed = true;
     }
 
     /* Holding CDF_* internal flags. */
@@ -885,8 +883,6 @@ struct domain *domain_create(domid_t domid,
     spin_lock_init(&d->shutdown_lock);
     d->shutdown_code = SHUTDOWN_CODE_INVALID;
 
-    spin_lock_init(&d->pbuf_lock);
-
     rwlock_init(&d->vnuma_rwlock);
 
 #ifdef CONFIG_HAS_PCI
@@ -932,6 +928,14 @@ struct domain *domain_create(domid_t domid,
     if ( is_system_domain(d) )
         return d;
 
+    err = -ENOMEM;
+    d->console = xvzalloc(typeof(*d->console));
+    if ( !d->console )
+        goto fail;
+
+    spin_lock_init(&d->console->lock);
+    d->console->input_allowed = is_hardware_domain(d);
+
     /*
      * This assertion helps static analysis tools infer that config cannot be
      * NULL in this branch, which in turn means that it can be safely
@@ -984,11 +988,6 @@ struct domain *domain_create(domid_t domid,
     if ( (err = argo_init(d)) != 0 )
         goto fail;
 
-    err = -ENOMEM;
-    d->pbuf = xzalloc_array(char, DOMAIN_PBUF_SIZE);
-    if ( !d->pbuf )
-        goto fail;
-
     if ( (err = sched_init_domain(d, config->cpupool_id)) != 0 )
         goto fail;
 
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 9bd5b4825d..a996051035 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -526,7 +526,7 @@ struct domain *console_get_domain(void)
     if ( !d )
         return NULL;
 
-    if ( d->console.input_allowed )
+    if ( d->console->input_allowed )
         return d;
 
     rcu_unlock_domain(d);
@@ -567,10 +567,13 @@ static void console_switch_input(void)
         d = rcu_lock_domain_by_id(domid);
         if ( d )
         {
-            rcu_unlock_domain(d);
-
-            if ( !d->console.input_allowed )
+            if ( !d->console->input_allowed )
+            {
+                rcu_unlock_domain(d);
                 continue;
+            }
+
+            rcu_unlock_domain(d);
 
             console_rx = next_rx;
             printk("*** Serial input to DOM%u", domid);
@@ -749,6 +752,7 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
         else
         {
             char *kin = kbuf, *kout = kbuf, c;
+            struct domain_console *cons = cd->console;
 
             /* Strip non-printable characters */
             do
@@ -761,22 +765,22 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
             } while ( --kcount > 0 );
 
             *kout = '\0';
-            spin_lock(&cd->pbuf_lock);
+            spin_lock(&cons->lock);
             kcount = kin - kbuf;
             if ( c != '\n' &&
-                 (cd->pbuf_idx + (kout - kbuf) < (DOMAIN_PBUF_SIZE - 1)) )
+                 (cons->idx + (kout - kbuf) < (ARRAY_SIZE(cons->buf) - 1)) )
             {
                 /* buffer the output until a newline */
-                memcpy(cd->pbuf + cd->pbuf_idx, kbuf, kout - kbuf);
-                cd->pbuf_idx += (kout - kbuf);
+                memcpy(cons->buf + cons->idx, kbuf, kout - kbuf);
+                cons->idx += kout - kbuf;
             }
             else
             {
-                cd->pbuf[cd->pbuf_idx] = '\0';
-                guest_printk(cd, XENLOG_G_DEBUG "%s%s\n", cd->pbuf, kbuf);
-                cd->pbuf_idx = 0;
+                cons->buf[cons->idx] = '\0';
+                guest_printk(cd, XENLOG_G_DEBUG "%s%s\n", cons->buf, kbuf);
+                cons->idx = 0;
             }
-            spin_unlock(&cd->pbuf_lock);
+            spin_unlock(&cons->lock);
         }
 
         guest_handle_add_offset(buffer, kcount);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 02bdc256ce..52090b4f70 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -371,6 +371,17 @@ struct evtchn_port_ops;
 
 #define MAX_NR_IOREQ_SERVERS 8
 
+/* Domain console settings. */
+struct domain_console {
+    /* Permission to take ownership of the physical console input. */
+    bool input_allowed;
+
+    /* hvm_print_line() and guest_console_write() logging. */
+    unsigned int idx;
+    spinlock_t lock;
+    char buf[256];
+};
+
 struct domain
 {
     domid_t          domain_id;
@@ -562,12 +573,6 @@ struct domain
     /* Control-plane tools handle for this domain. */
     xen_domain_handle_t handle;
 
-    /* hvm_print_line() and guest_console_write() logging. */
-#define DOMAIN_PBUF_SIZE 200
-    char       *pbuf;
-    unsigned int pbuf_idx;
-    spinlock_t  pbuf_lock;
-
     /* OProfile support. */
     struct xenoprof *xenoprof;
 
@@ -656,11 +661,8 @@ struct domain
     unsigned int *llc_colors;
 #endif
 
-    /* Console settings. */
-    struct {
-        /* Permission to take ownership of the physical console input. */
-        bool input_allowed;
-    } console;
+    /* Pointer to console settings; NULL for system domains. */
+    struct domain_console *console;
 } __aligned(PAGE_SIZE);
 
 static inline struct page_list_head *page_to_list(
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 13:22:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 13:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172610.1497701 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFTT-0005jf-Br; Wed, 26 Nov 2025 13:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172610.1497701; Wed, 26 Nov 2025 13:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFTT-0005jX-9G; Wed, 26 Nov 2025 13:22:23 +0000
Received: by outflank-mailman (input) for mailman id 1172610;
 Wed, 26 Nov 2025 13:22:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOFTS-0005jP-AJ
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 13:22:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTS-009TOv-0t
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTS-00EI3l-0X
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=QUBbLok17oTZfA0N6gz/9+LzhY7pffdqTDe+wz7+r7k=; b=t2GdH5LttxEfP8fm48mgDEXG/9
	C1iWFJOE4UCkTcdk3F5ABG8j3o9jHpOyYjOp2Bh9q0wYM5RQzbWErI76A+KNpl3oCHMz6O+s+d3Ar
	sjaRivFPELPtrIPmBEPPS1/dH0mbT4vhcyvvCZDQVdbMET5VFbtxm/BeNQna0A21Bcjg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/xsm: address violations of MISRA C rules 8.3 and 7.2
Message-Id: <E1vOFTS-00EI3l-0X@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 13:22:22 +0000

commit 1427b904d20923f5758d5c193c8f52b633590b46
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Wed Nov 26 12:08:17 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:08:17 2025 +0100

    xen/xsm: address violations of MISRA C rules 8.3 and 7.2
    
    Rule 8.3 states: Function types shall be in prototype form
    with named parameters.
    
    add parameter to 'has_xsm_magic' to make it consistent with the
    definition.
    
    Rule 7.2 states: A `u' or `U' suffix shall be applied to all
    integer constants that are represented in an unsigned type.
    
    add missing `U' to both #define for `XSM_MAGIC` for consistency.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/xsm/xsm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 9a23d2827c..074d61cd45 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -22,9 +22,9 @@
 typedef uint32_t xsm_magic_t;
 
 #ifdef CONFIG_XSM_FLASK
-#define XSM_MAGIC 0xf97cff8c
+#define XSM_MAGIC 0xf97cff8cU
 #else
-#define XSM_MAGIC 0x0
+#define XSM_MAGIC 0x0U
 #endif
 
 /*
@@ -815,7 +815,7 @@ int xsm_multiboot_policy_init(
  */
 int xsm_dt_init(void);
 int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
-bool has_xsm_magic(paddr_t);
+bool has_xsm_magic(paddr_t start);
 #endif
 
 void xsm_fixup_ops(struct xsm_ops *ops);
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 13:22:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 13:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172615.1497742 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFTd-0006XA-J0; Wed, 26 Nov 2025 13:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172615.1497742; Wed, 26 Nov 2025 13:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFTd-0006Vx-Cs; Wed, 26 Nov 2025 13:22:33 +0000
Received: by outflank-mailman (input) for mailman id 1172615;
 Wed, 26 Nov 2025 13:22:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOFTc-0006MC-Ct
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 13:22:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTc-009TOz-1C
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTc-00EI50-14
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=PehhhsgsMDN2ZCxqypx4BD+6Ndh2rx1TRuzToJxq0lI=; b=vBMeHt39/8R8XtbINUPGlYRoD4
	mvwbjl/+NTsnZUps98pyLGHlcPY3hpx+FBkt+rVr+xmXM3GbP9ZkEiShNuahPOn86PEVjZLc1y2Ar
	kJThtlJGZL32sWyh5k0D2J/AYmQLaW5d4eYkKpcw79PMfImrNeCaiFWalScYeHUYYDoI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/xsm: wrap xsm_vm_event_control() with CONFIG_VM_EVENT
Message-Id: <E1vOFTc-00EI50-14@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 13:22:32 +0000

commit b3ad7637ba20495a1d38679b4592ab837e8fd6fc
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Wed Nov 26 12:08:46 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:08:46 2025 +0100

    xen/xsm: wrap xsm_vm_event_control() with CONFIG_VM_EVENT
    
    Function xsm_vm_event_control() is only invoked under CONFIG_VM_EVENT, so
    it shall be wrapped with it, otherwise it will become unreachable when
    VM_EVENT=n and hence violating Misra rule 2.1.
    
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/xsm/dummy.h | 2 +-
 xen/include/xsm/xsm.h   | 4 ++--
 xen/xsm/dummy.c         | 2 +-
 xen/xsm/flask/hooks.c   | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 12792c3a43..e801dbcdba 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -640,6 +640,7 @@ static XSM_INLINE int cf_check xsm_hvm_altp2mhvm_op(
     }
 }
 
+#ifdef CONFIG_VM_EVENT
 static XSM_INLINE int cf_check xsm_vm_event_control(
     XSM_DEFAULT_ARG struct domain *d, int mode, int op)
 {
@@ -647,7 +648,6 @@ static XSM_INLINE int cf_check xsm_vm_event_control(
     return xsm_default_action(action, current->domain, d);
 }
 
-#ifdef CONFIG_VM_EVENT
 static XSM_INLINE int cf_check xsm_mem_access(XSM_DEFAULT_ARG struct domain *d)
 {
     XSM_ASSERT_ACTION(XSM_DM_PRIV);
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 074d61cd45..2d831d7745 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -155,9 +155,9 @@ struct xsm_ops {
     int (*hvm_altp2mhvm_op)(struct domain *d, uint64_t mode, uint32_t op);
     int (*get_vnumainfo)(struct domain *d);
 
+#ifdef CONFIG_VM_EVENT
     int (*vm_event_control)(struct domain *d, int mode, int op);
 
-#ifdef CONFIG_VM_EVENT
     int (*mem_access)(struct domain *d);
 #endif
 
@@ -649,13 +649,13 @@ static inline int xsm_get_vnumainfo(xsm_default_t def, struct domain *d)
     return alternative_call(xsm_ops.get_vnumainfo, d);
 }
 
+#ifdef CONFIG_VM_EVENT
 static inline int xsm_vm_event_control(
     xsm_default_t def, struct domain *d, int mode, int op)
 {
     return alternative_call(xsm_ops.vm_event_control, d, mode, op);
 }
 
-#ifdef CONFIG_VM_EVENT
 static inline int xsm_mem_access(xsm_default_t def, struct domain *d)
 {
     return alternative_call(xsm_ops.mem_access, d);
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 8b7e01b506..96dc82ac2e 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -115,9 +115,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .remove_from_physmap           = xsm_remove_from_physmap,
     .map_gmfn_foreign              = xsm_map_gmfn_foreign,
 
+#ifdef CONFIG_VM_EVENT
     .vm_event_control              = xsm_vm_event_control,
 
-#ifdef CONFIG_VM_EVENT
     .mem_access                    = xsm_mem_access,
 #endif
 
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index b0308e1b26..9f3915617c 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1365,12 +1365,12 @@ static int cf_check flask_hvm_altp2mhvm_op(struct domain *d, uint64_t mode, uint
     return current_has_perm(d, SECCLASS_HVM, HVM__ALTP2MHVM_OP);
 }
 
+#ifdef CONFIG_VM_EVENT
 static int cf_check flask_vm_event_control(struct domain *d, int mode, int op)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__VM_EVENT);
 }
 
-#ifdef CONFIG_VM_EVENT
 static int cf_check flask_mem_access(struct domain *d)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__MEM_ACCESS);
@@ -1967,9 +1967,9 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .do_xsm_op = do_flask_op,
     .get_vnumainfo = flask_get_vnumainfo,
 
+#ifdef CONFIG_VM_EVENT
     .vm_event_control = flask_vm_event_control,
 
-#ifdef CONFIG_VM_EVENT
     .mem_access = flask_mem_access,
 #endif
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 13:22:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 13:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172618.1497749 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFTn-0006wU-I5; Wed, 26 Nov 2025 13:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172618.1497749; Wed, 26 Nov 2025 13:22: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-changelog-bounces@lists.xenproject.org>)
	id 1vOFTn-0006wD-Ec; Wed, 26 Nov 2025 13:22:43 +0000
Received: by outflank-mailman (input) for mailman id 1172618;
 Wed, 26 Nov 2025 13:22:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOFTm-0006uq-Ha
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 13:22:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTm-009TPV-1e
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTm-00EI5c-1M
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=UjEXN7IjthWSIrmRVjjMDXHbUmGUnamKj18Zf7O4tFM=; b=HoG4Ua+MlpcUf40b3coMjPbl+m
	1jbyiw92Eq+BO7gtNyduS9pBNL8oHHtOrW1uqn/q6pvaZyTkmMOR65GKXlD2fqhPOWsm28nkZvcbH
	BvFcDv3b6H7URuCqkfV+lW5aLAB1zIel61C/RiLHebk9ABjP2oWkNCZQw8Ud8gwa+ZiA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] symbols/x86: re-number intermediate files
Message-Id: <E1vOFTm-00EI5c-1M@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 13:22:42 +0000

commit 5c1c05b27bf28bb7670e2b7fe729d853fa8a4b05
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 26 12:09:32 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:09:32 2025 +0100

    symbols/x86: re-number intermediate files
    
    In preparation to do away with symbols-dummy, re-number the assembly and
    object files used, for the numbers to match the next passes real output.
    This is to make 0 available to use for what now is handled by
    symbols-dummy. (Mirror the numbering to the intermediate reloc files for
    xen.efi, just to avoid confusion.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/Makefile | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 6c0ff67fa8..98cdabd6b6 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -138,16 +138,16 @@ $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
-		> $(dot-target).0.S
-	$(MAKE) $(build)=$(@D) $(dot-target).0.o
+		> $(dot-target).1.S
+	$(MAKE) $(build)=$(@D) $(dot-target).1.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-	    $(dot-target).0.o -o $(dot-target).1
+	    $(dot-target).1.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
-		> $(dot-target).1.S
-	$(MAKE) $(build)=$(@D) $(dot-target).1.o
+		> $(dot-target).2.S
+	$(MAKE) $(build)=$(@D) $(dot-target).2.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-	    $(orphan-handling-y) $(dot-target).1.o -o $@
+	    $(orphan-handling-y) $(dot-target).2.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
@@ -211,23 +211,23 @@ endif
 	                $(objtree)/common/symbols-dummy.o $(note_file_option) \
 	                -o $(dot-target).$(base).0 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
-		> $(dot-target).0r.S
+		> $(dot-target).1r.S
 	$(NM) -pa --format=sysv $(dot-target).$(VIRT_BASE).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
-		> $(dot-target).0s.S
-	$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
+		> $(dot-target).1s.S
+	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
 	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< \
-	                $(dot-target).0r.o $(dot-target).0s.o $(note_file_option) \
+	                $(dot-target).1r.o $(dot-target).1s.o $(note_file_option) \
 	                -o $(dot-target).$(base).1 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).1) \
-		> $(dot-target).1r.S
+		> $(dot-target).2r.S
 	$(NM) -pa --format=sysv $(dot-target).$(VIRT_BASE).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
-		> $(dot-target).1s.S
-	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
+		> $(dot-target).2s.S
+	$(MAKE) $(build)=$(@D) .$(@F).2r.o .$(@F).2s.o
 	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
-	      $(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
+	      $(dot-target).2r.o $(dot-target).2s.o $(orphan-handling-y) \
 	      $(note_file_option) -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 13:22:53 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 13:22:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172628.1497752 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFTx-0007OK-LZ; Wed, 26 Nov 2025 13:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172628.1497752; Wed, 26 Nov 2025 13: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-changelog-bounces@lists.xenproject.org>)
	id 1vOFTx-0007Nw-Hz; Wed, 26 Nov 2025 13:22:53 +0000
Received: by outflank-mailman (input) for mailman id 1172628;
 Wed, 26 Nov 2025 13:22:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOFTw-0007Lz-KG
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 13:22:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTw-009TPb-1v
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFTw-00EI7K-1p
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:22:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=T/jlosLgqv9maS9T3oZRuXCdoQUPZ62C1omXIA//Q+Q=; b=nLDj42RzjP1JjZV5mFj86phX56
	dB5NhVjVJDZdpKI5MyJ7rakZ5lK7MSu13rIASnFiozV/Ro1sZTEbqvT9/lDUuCodxvJY/dkJMuyGG
	E+SWVbg4NzZn6+vgOpuI72bq8anmABzbyicSNeqqYATr0kVEHUI3No28M/5jZhV0Zqbg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] symbols/x86: don't use symbols-dummy
Message-Id: <E1vOFTw-00EI7K-1p@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 13:22:52 +0000

commit 92f3beb62750f9b1f14d0e4693e793355a99c185
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 26 12:10:00 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:10:00 2025 +0100

    symbols/x86: don't use symbols-dummy
    
    In particular when linking with lld, which converts hidden symbols to
    local ones, the ELF symbol table can change in unhelpful ways between the
    first two linking passes, resulting in the .rodata contributions to change
    between the 2nd and 3rd pass. That, however, renders our embedded symbol
    table pretty much unusable; the recently introduced self-test may then
    also fail. (Another difference between compiling a C file and assembling
    the generated ones is that - with -fdata-sections in use - the .rodata
    contributions move between passes 1 and 2, when we'd prefer them not to.)
    
    Make tools/symbols capable of producing an "empty" assembly file, such
    that unwanted differences between passes 1 and 2 go away when then using
    the corresponding objects in place of common/symbols-dummy.o.
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/Makefile | 8 ++++++--
 xen/tools/symbols.c   | 5 ++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 98cdabd6b6..300cc67407 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -134,8 +134,10 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
+	$(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0.S
+	$(MAKE) $(build)=$(@D) $(dot-target).0.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+	      $(dot-target).0.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).1.S
@@ -206,9 +208,11 @@ $(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/reloc
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
+	$(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0s.S
+	$(MAKE) $(build)=$(@D) .$(@F).0s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
 	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< $(relocs-dummy) \
-	                $(objtree)/common/symbols-dummy.o $(note_file_option) \
+	                $(dot-target).0s.o $(note_file_option) \
 	                -o $(dot-target).$(base).0 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
 		> $(dot-target).1r.S
diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 7685866b97..0af8a1e91c 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -675,7 +675,10 @@ int main(int argc, char **argv)
 				warn_dup = true;
 			else if (strcmp(argv[i], "--error-dup") == 0)
 				warn_dup = error_dup = true;
-			else if (strcmp(argv[i], "--xensyms") == 0)
+			else if (strcmp(argv[i], "--empty") == 0) {
+				write_src();
+				return 0;
+			} else if (strcmp(argv[i], "--xensyms") == 0)
 				map_only = true;
 			else
 				usage();
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 13:23:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 13:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172642.1497757 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOFU7-0007gW-Ms; Wed, 26 Nov 2025 13:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172642.1497757; Wed, 26 Nov 2025 13: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-changelog-bounces@lists.xenproject.org>)
	id 1vOFU7-0007gO-Jv; Wed, 26 Nov 2025 13:23:03 +0000
Received: by outflank-mailman (input) for mailman id 1172642;
 Wed, 26 Nov 2025 13:23:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOFU6-0007g0-Mo
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 13:23:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFU6-009TPz-2B
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:23:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOFU6-00EIAA-26
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 13:23:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=06SLxrKj6DhfxQefToNPeUE+WkYoOBn3TITMIZg7Xiw=; b=H+R3JdzLzNTgbnicO7o+Jj6aio
	/0D3ib1Jcfn6QUqp20Um69xANw5LPMCcGKgjjlsss3OFYPdzpG2macRR8qptkChkCXVE8F8KpET3l
	vA3TO/XqhpI1oAgAdjKWmIlA9+CAchqtrK0ksx5RldiIEliBWf0Of/fQy2svGtgTp+II=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/vhpet: Fix sanitization of legacy IRQ route
Message-Id: <E1vOFU6-00EIAA-26@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 13:23:02 +0000

commit fb0e37df71a31318c61e0715ffed3e149ca8a4aa
Author:     Tu Dinh <ngoc-tu.dinh@vates.tech>
AuthorDate: Wed Nov 26 12:10:21 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:10:21 2025 +0100

    x86/vhpet: Fix sanitization of legacy IRQ route
    
    When setting a timer's config register, timer_sanitize_int_route will
    always reset the IRQ route value to what's valid corresponding to the
    !HPET_CFG_LEGACY case. This is applied even if the HPET is set to
    HPET_CFG_LEGACY.
    
    When some operating systems (e.g. Windows) try to write to a timer
    config, they will verify and rewrite the register if the values don't
    match what they expect. This causes an unnecessary write to HPET_Tn_CFG.
    
    Note, the HPET specification states that for the Tn_INT_ROUTE_CNF field:
    
    "If the value is not supported by this prarticular timer, then the value
    read back will not match what is written. [...] If the LegacyReplacement
    Route bit is set, then Timers 0 and 1 will have a different routing, and
    this bit field has no effect for those two timers."
    
    Therefore, Xen should not reset timer_int_route if legacy mode is
    enabled, regardless of what's in there.
    
    Fixes: ec40d3fe2147 ("x86/vhpet: check that the set interrupt route is valid")
    Signed-off-by: Tu Dinh <ngoc-tu.dinh@vates.tech>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hpet.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
index f0e5f877f4..e317ec1f5f 100644
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -48,6 +48,8 @@
 #define timer_is_32bit(h, n)     (timer_config(h, n) & HPET_TN_32BIT)
 #define hpet_enabled(h)          ((h)->hpet.config & HPET_CFG_ENABLE)
 #define timer_level(h, n)        (timer_config(h, n) & HPET_TN_LEVEL)
+#define timer_is_legacy(h, n) \
+    (((n) <= 1) && ((h)->hpet.config & HPET_CFG_LEGACY))
 
 #define timer_int_route(h, n)    MASK_EXTR(timer_config(h, n), HPET_TN_ROUTE)
 
@@ -55,7 +57,8 @@
     MASK_EXTR(timer_config(h, n), HPET_TN_INT_ROUTE_CAP)
 
 #define timer_int_route_valid(h, n) \
-    ((1u << timer_int_route(h, n)) & timer_int_route_cap(h, n))
+    (timer_is_legacy(h, n) || \
+     ((1u << timer_int_route(h, n)) & timer_int_route_cap(h, n)))
 
 static inline uint64_t hpet_read_maincounter(HPETState *h, uint64_t guest_time)
 {
@@ -275,7 +278,7 @@ static void hpet_set_timer(HPETState *h, unsigned int tn,
             ? (uint32_t)diff : 0;
 
     destroy_periodic_time(&h->pt[tn]);
-    if ( (tn <= 1) && (h->hpet.config & HPET_CFG_LEGACY) )
+    if ( timer_is_legacy(h, tn) )
     {
         /* if LegacyReplacementRoute bit is set, HPET specification requires
            timer0 be routed to IRQ0 in NON-APIC or IRQ2 in the I/O APIC,
@@ -379,6 +382,14 @@ static int cf_check hpet_write(
         h->hpet.config = hpet_fixup_reg(new_val, old_val,
                                         HPET_CFG_ENABLE | HPET_CFG_LEGACY);
 
+        /*
+         * The first 2 channels' interrupt route values only matter when
+         * HPET_CFG_LEGACY is disabled. However, for simplicity's sake, always
+         * resanitize all channels anyway.
+         */
+        for ( i = 0; i < HPET_TIMER_NUM; i++ )
+            timer_sanitize_int_route(h, i);
+
         if ( !(old_val & HPET_CFG_ENABLE) && (new_val & HPET_CFG_ENABLE) )
         {
             /* Enable main counter and interrupt generation. */
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 14:11:06 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 14:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172892.1497980 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGEa-0001fM-76; Wed, 26 Nov 2025 14:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172892.1497980; Wed, 26 Nov 2025 14:11:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGEa-0001fE-4b; Wed, 26 Nov 2025 14:11:04 +0000
Received: by outflank-mailman (input) for mailman id 1172892;
 Wed, 26 Nov 2025 14:11:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOGEY-0001f2-Aa
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 14:11:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGEX-009Uar-2z
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGEX-00EOIO-2s
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=5orB4rBzxWbO+5jpueGEyMiZ+JlqtLBgpK7JIEl0pxk=; b=zUHrAndGAHp/oFHAI5YA6DOqSp
	Y4Dc5sd/YLZnSCBKb5XaNK99fw1iXBIK9n7ZZnEhWNnVZ/0HloPF59RtEyk2EynoD2hEXDydGSP+8
	A5FQgxe8kDtN+8GTy5QgREV0ZJKiBoPSn/FknJ8p3l0ibBuuMSt3dX0RBDzTlHqkTkEI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] EFI/runtime: switch to xv[mz]alloc_array()
Message-Id: <E1vOGEX-00EOIO-2s@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 14:11:01 +0000

commit 9b6ab6621904b015aa269c4bfbca7aa65374a60a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 26 12:05:38 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:05:38 2025 +0100

    EFI/runtime: switch to xv[mz]alloc_array()
    
    Use the more "modern" form, thus doing away with effectively open-coding
    xmalloc_array() at the same time. While there is a difference in
    generated code, as xmalloc_bytes() forces SMP_CACHE_BYTES alignment, if
    code really cared about such higher than default alignment, it should
    request so explicitly.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Denis Mukhin <dmukhin@ford.com>
    Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/efi/runtime.c | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 30d649ca5c..f786ceb007 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -6,6 +6,7 @@
 #include <xen/irq.h>
 #include <xen/sections.h>
 #include <xen/time.h>
+#include <xen/xvmalloc.h>
 
 DEFINE_XEN_GUEST_HANDLE(CHAR16);
 
@@ -502,23 +503,23 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         len = gwstrlen(guest_handle_cast(op->u.get_variable.name, CHAR16));
         if ( len < 0 )
             return len;
-        name = xmalloc_array(CHAR16, ++len);
+        name = xvmalloc_array(CHAR16, ++len);
         if ( !name )
            return -ENOMEM;
         if ( __copy_from_guest(name, op->u.get_variable.name, len) ||
              wmemchr(name, 0, len) != name + len - 1 )
         {
-            xfree(name);
+            xvfree(name);
             return -EIO;
         }
 
         size = op->u.get_variable.size;
         if ( size )
         {
-            data = xmalloc_bytes(size);
+            data = xvmalloc_array(unsigned char, size);
             if ( !data )
             {
-                xfree(name);
+                xvfree(name);
                 return -ENOMEM;
             }
         }
@@ -541,8 +542,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         else
             rc = -EOPNOTSUPP;
 
-        xfree(data);
-        xfree(name);
+        xvfree(data);
+        xvfree(name);
     }
     break;
 
@@ -555,17 +556,17 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         len = gwstrlen(guest_handle_cast(op->u.set_variable.name, CHAR16));
         if ( len < 0 )
             return len;
-        name = xmalloc_array(CHAR16, ++len);
+        name = xvmalloc_array(CHAR16, ++len);
         if ( !name )
            return -ENOMEM;
         if ( __copy_from_guest(name, op->u.set_variable.name, len) ||
              wmemchr(name, 0, len) != name + len - 1 )
         {
-            xfree(name);
+            xvfree(name);
             return -EIO;
         }
 
-        data = xmalloc_bytes(op->u.set_variable.size);
+        data = xvmalloc_array(unsigned char, op->u.set_variable.size);
         if ( !data )
             rc = -ENOMEM;
         else if ( copy_from_guest(data, op->u.set_variable.data,
@@ -583,8 +584,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
             efi_rs_leave(&state);
         }
 
-        xfree(data);
-        xfree(name);
+        xvfree(data);
+        xvfree(name);
     }
     break;
 
@@ -600,13 +601,13 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
             return -EINVAL;
 
         size = op->u.get_next_variable_name.size;
-        name.raw = xzalloc_bytes(size);
+        name.raw = xvzalloc_array(unsigned char, size);
         if ( !name.raw )
             return -ENOMEM;
         if ( copy_from_guest(name.raw, op->u.get_next_variable_name.name,
                              size) )
         {
-            xfree(name.raw);
+            xvfree(name.raw);
             return -EFAULT;
         }
 
@@ -631,7 +632,7 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
         else
             rc = -EOPNOTSUPP;
 
-        xfree(name.raw);
+        xvfree(name.raw);
     }
     break;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 14:11:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 14:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172893.1497984 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGEj-0001hU-8g; Wed, 26 Nov 2025 14:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172893.1497984; Wed, 26 Nov 2025 14:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vOGEj-0001hM-5s; Wed, 26 Nov 2025 14:11:13 +0000
Received: by outflank-mailman (input) for mailman id 1172893;
 Wed, 26 Nov 2025 14:11:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOGEi-0001h8-1z
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 14:11:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGEi-009Ub8-06
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGEh-00EOJH-3D
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=21obgExh4cVXDZK5807CO+uVBQUGjwenXkQ4qMBE1xc=; b=QCd/Fvtu51eoDRJyqk2nXWZukW
	T8n/obdGhLIkE7aX0Bkujt2YHdA/cwc8Zq83EhvrNpwoeE/l2IpZv30rc/Kzgk5dOVl6KWhbYf6JA
	A2FyOPcd9bCvHeCI6pJSptWKsSmfVs6cM1qf95tnOZwpLlnkN+fpJwG+0xiqHn0QMjdY=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/console: introduce domain_console struct
Message-Id: <E1vOGEh-00EOJH-3D@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 14:11:11 +0000

commit ada53067083e97d3e96fa0b386d78991870a30fd
Author:     Denis Mukhin <dmukhin@ford.com>
AuthorDate: Wed Nov 26 12:06:56 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:06:56 2025 +0100

    xen/console: introduce domain_console struct
    
    Introduce domain_console for grouping data structures used for integrating
    domain's diagnostic console with Xen's console driver.
    
    Group all pbuf-related data structures under domain_console. Rename the moved
    fields to plain .buf, .idx and .lock names, since all uses of the fields are
    touched.
    
    Ensure accesses to domain_console pointer are valid in console_switch_input().
    
    Bump the domain console buffer allocation size to 256. No extra symbol for the
    value since it is used only once during data structure declaration. All size
    checks use ARRAY_SIZE().
    
    Allocate domain_console from the heap so that the parent domain struct size
    stays below PAGE_SIZE boundary to account for more console-related fields
    added in the future.
    
    Finally, update the domain_console allocation and initialization code. Make
    sure domain_console is not allocated for system domains.
    
    No functional change.
    
    Signed-off-by: Denis Mukhin <dmukhin@ford.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/arch/arm/vpl011.c      |  2 +-
 xen/arch/x86/hvm/hvm.c     | 16 +++++++++-------
 xen/arch/x86/pv/shim.c     |  2 +-
 xen/common/domain.c        | 19 +++++++++----------
 xen/drivers/char/console.c | 28 ++++++++++++++++------------
 xen/include/xen/sched.h    | 24 +++++++++++++-----------
 6 files changed, 49 insertions(+), 42 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 480fc664fc..d0d17c76b7 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -713,7 +713,7 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
     }
     else
     {
-        d->console.input_allowed = true;
+        d->console->input_allowed = true;
         vpl011->backend_in_domain = false;
 
         vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d7acc16cb3..4084b610fa 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -563,6 +563,7 @@ static int cf_check hvm_print_line(
     int dir, unsigned int port, unsigned int bytes, uint32_t *val)
 {
     struct domain *cd = current->domain;
+    struct domain_console *cons = cd->console;
     char c = *val;
 
     ASSERT(bytes == 1 && port == XEN_HVM_DEBUGCONS_IOPORT);
@@ -580,16 +581,17 @@ static int cf_check hvm_print_line(
     if ( !is_console_printable(c) )
         return X86EMUL_OKAY;
 
-    spin_lock(&cd->pbuf_lock);
+    spin_lock(&cons->lock);
+    ASSERT(cons->idx < ARRAY_SIZE(cons->buf));
     if ( c != '\n' )
-        cd->pbuf[cd->pbuf_idx++] = c;
-    if ( (cd->pbuf_idx == (DOMAIN_PBUF_SIZE - 1)) || (c == '\n') )
+        cons->buf[cons->idx++] = c;
+    if ( (cons->idx == (ARRAY_SIZE(cons->buf) - 1)) || (c == '\n') )
     {
-        cd->pbuf[cd->pbuf_idx] = '\0';
-        guest_printk(cd, XENLOG_G_DEBUG "%s\n", cd->pbuf);
-        cd->pbuf_idx = 0;
+        cons->buf[cons->idx] = '\0';
+        guest_printk(cd, XENLOG_G_DEBUG "%s\n", cons->buf);
+        cons->idx = 0;
     }
-    spin_unlock(&cd->pbuf_lock);
+    spin_unlock(&cons->lock);
 
     return X86EMUL_OKAY;
 }
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index bc2a7dd5fa..bd29c53a2d 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -239,7 +239,7 @@ void __init pv_shim_setup_dom(struct domain *d, l4_pgentry_t *l4start,
      */
     d->max_pages = domain_tot_pages(d);
 
-    d->console.input_allowed = true;
+    d->console->input_allowed = true;
 }
 
 static void write_start_info(struct domain *d)
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 3b6e9471c4..850daf1ee8 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -680,7 +680,7 @@ static void _domain_destroy(struct domain *d)
     BUG_ON(!d->is_dying);
     BUG_ON(atomic_read(&d->refcnt) != DOMAIN_DESTROYED);
 
-    xfree(d->pbuf);
+    XVFREE(d->console);
 
     argo_destroy(d);
 
@@ -854,8 +854,6 @@ struct domain *domain_create(domid_t domid,
         flags |= CDF_hardware;
         if ( old_hwdom )
             old_hwdom->cdf &= ~CDF_hardware;
-
-        d->console.input_allowed = true;
     }
 
     /* Holding CDF_* internal flags. */
@@ -885,8 +883,6 @@ struct domain *domain_create(domid_t domid,
     spin_lock_init(&d->shutdown_lock);
     d->shutdown_code = SHUTDOWN_CODE_INVALID;
 
-    spin_lock_init(&d->pbuf_lock);
-
     rwlock_init(&d->vnuma_rwlock);
 
 #ifdef CONFIG_HAS_PCI
@@ -932,6 +928,14 @@ struct domain *domain_create(domid_t domid,
     if ( is_system_domain(d) )
         return d;
 
+    err = -ENOMEM;
+    d->console = xvzalloc(typeof(*d->console));
+    if ( !d->console )
+        goto fail;
+
+    spin_lock_init(&d->console->lock);
+    d->console->input_allowed = is_hardware_domain(d);
+
     /*
      * This assertion helps static analysis tools infer that config cannot be
      * NULL in this branch, which in turn means that it can be safely
@@ -984,11 +988,6 @@ struct domain *domain_create(domid_t domid,
     if ( (err = argo_init(d)) != 0 )
         goto fail;
 
-    err = -ENOMEM;
-    d->pbuf = xzalloc_array(char, DOMAIN_PBUF_SIZE);
-    if ( !d->pbuf )
-        goto fail;
-
     if ( (err = sched_init_domain(d, config->cpupool_id)) != 0 )
         goto fail;
 
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 9bd5b4825d..a996051035 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -526,7 +526,7 @@ struct domain *console_get_domain(void)
     if ( !d )
         return NULL;
 
-    if ( d->console.input_allowed )
+    if ( d->console->input_allowed )
         return d;
 
     rcu_unlock_domain(d);
@@ -567,10 +567,13 @@ static void console_switch_input(void)
         d = rcu_lock_domain_by_id(domid);
         if ( d )
         {
-            rcu_unlock_domain(d);
-
-            if ( !d->console.input_allowed )
+            if ( !d->console->input_allowed )
+            {
+                rcu_unlock_domain(d);
                 continue;
+            }
+
+            rcu_unlock_domain(d);
 
             console_rx = next_rx;
             printk("*** Serial input to DOM%u", domid);
@@ -749,6 +752,7 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
         else
         {
             char *kin = kbuf, *kout = kbuf, c;
+            struct domain_console *cons = cd->console;
 
             /* Strip non-printable characters */
             do
@@ -761,22 +765,22 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
             } while ( --kcount > 0 );
 
             *kout = '\0';
-            spin_lock(&cd->pbuf_lock);
+            spin_lock(&cons->lock);
             kcount = kin - kbuf;
             if ( c != '\n' &&
-                 (cd->pbuf_idx + (kout - kbuf) < (DOMAIN_PBUF_SIZE - 1)) )
+                 (cons->idx + (kout - kbuf) < (ARRAY_SIZE(cons->buf) - 1)) )
             {
                 /* buffer the output until a newline */
-                memcpy(cd->pbuf + cd->pbuf_idx, kbuf, kout - kbuf);
-                cd->pbuf_idx += (kout - kbuf);
+                memcpy(cons->buf + cons->idx, kbuf, kout - kbuf);
+                cons->idx += kout - kbuf;
             }
             else
             {
-                cd->pbuf[cd->pbuf_idx] = '\0';
-                guest_printk(cd, XENLOG_G_DEBUG "%s%s\n", cd->pbuf, kbuf);
-                cd->pbuf_idx = 0;
+                cons->buf[cons->idx] = '\0';
+                guest_printk(cd, XENLOG_G_DEBUG "%s%s\n", cons->buf, kbuf);
+                cons->idx = 0;
             }
-            spin_unlock(&cd->pbuf_lock);
+            spin_unlock(&cons->lock);
         }
 
         guest_handle_add_offset(buffer, kcount);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 02bdc256ce..52090b4f70 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -371,6 +371,17 @@ struct evtchn_port_ops;
 
 #define MAX_NR_IOREQ_SERVERS 8
 
+/* Domain console settings. */
+struct domain_console {
+    /* Permission to take ownership of the physical console input. */
+    bool input_allowed;
+
+    /* hvm_print_line() and guest_console_write() logging. */
+    unsigned int idx;
+    spinlock_t lock;
+    char buf[256];
+};
+
 struct domain
 {
     domid_t          domain_id;
@@ -562,12 +573,6 @@ struct domain
     /* Control-plane tools handle for this domain. */
     xen_domain_handle_t handle;
 
-    /* hvm_print_line() and guest_console_write() logging. */
-#define DOMAIN_PBUF_SIZE 200
-    char       *pbuf;
-    unsigned int pbuf_idx;
-    spinlock_t  pbuf_lock;
-
     /* OProfile support. */
     struct xenoprof *xenoprof;
 
@@ -656,11 +661,8 @@ struct domain
     unsigned int *llc_colors;
 #endif
 
-    /* Console settings. */
-    struct {
-        /* Permission to take ownership of the physical console input. */
-        bool input_allowed;
-    } console;
+    /* Pointer to console settings; NULL for system domains. */
+    struct domain_console *console;
 } __aligned(PAGE_SIZE);
 
 static inline struct page_list_head *page_to_list(
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 14:11:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 14:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172894.1497989 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGEt-0001kA-A5; Wed, 26 Nov 2025 14:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172894.1497989; Wed, 26 Nov 2025 14:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGEt-0001k2-7G; Wed, 26 Nov 2025 14:11:23 +0000
Received: by outflank-mailman (input) for mailman id 1172894;
 Wed, 26 Nov 2025 14:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOGEs-0001jr-5o
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 14:11:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGEs-009UbC-0T
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGEs-00EOK3-0G
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=IaoUvTSrPsq0Mc8d6PSR5rd8npG9+WpXpEMLx9BB4Yg=; b=6vt5fsUr6TE5Nws29KV5NLo2Yv
	gyWeKavVzok7IamUhsDb2gSsvmzYLfM/IEUSlakGkyIACrG8t83cAuGMXJnqHm8jI6T0i7DcneSAv
	g1JQxd9nWN56/EHhjI2FuvA/WRWyIkt2RlXNR3vrSGYkscxc4dpOv8oRBeczYUDMLRuQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/xsm: address violations of MISRA C rules 8.3 and 7.2
Message-Id: <E1vOGEs-00EOK3-0G@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 14:11:22 +0000

commit 1427b904d20923f5758d5c193c8f52b633590b46
Author:     Nicola Vetrini <nicola.vetrini@gmail.com>
AuthorDate: Wed Nov 26 12:08:17 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:08:17 2025 +0100

    xen/xsm: address violations of MISRA C rules 8.3 and 7.2
    
    Rule 8.3 states: Function types shall be in prototype form
    with named parameters.
    
    add parameter to 'has_xsm_magic' to make it consistent with the
    definition.
    
    Rule 7.2 states: A `u' or `U' suffix shall be applied to all
    integer constants that are represented in an unsigned type.
    
    add missing `U' to both #define for `XSM_MAGIC` for consistency.
    
    No functional change.
    
    Signed-off-by: Nicola Vetrini <nicola.vetrini@gmail.com>
    Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/xsm/xsm.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 9a23d2827c..074d61cd45 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -22,9 +22,9 @@
 typedef uint32_t xsm_magic_t;
 
 #ifdef CONFIG_XSM_FLASK
-#define XSM_MAGIC 0xf97cff8c
+#define XSM_MAGIC 0xf97cff8cU
 #else
-#define XSM_MAGIC 0x0
+#define XSM_MAGIC 0x0U
 #endif
 
 /*
@@ -815,7 +815,7 @@ int xsm_multiboot_policy_init(
  */
 int xsm_dt_init(void);
 int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
-bool has_xsm_magic(paddr_t);
+bool has_xsm_magic(paddr_t start);
 #endif
 
 void xsm_fixup_ops(struct xsm_ops *ops);
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 14:11:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 14:11:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172895.1497993 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGF3-0001om-Ce; Wed, 26 Nov 2025 14:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172895.1497993; Wed, 26 Nov 2025 14:11:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGF3-0001ob-9q; Wed, 26 Nov 2025 14:11:33 +0000
Received: by outflank-mailman (input) for mailman id 1172895;
 Wed, 26 Nov 2025 14:11:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOGF2-0001oR-90
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 14:11:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGF2-009UbI-0n
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGF2-00EOL2-0e
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=Lv1uivY8UkFcm4OzHbvz4icWurmHQSsU3Qu4WKKlUDE=; b=sPlb4hPdp9m3eFdPETjG+orQgx
	lmMwhfruYUDsV9BSeG8XQcNjJg50vKdHKiRr8RMF1ZA7Xez/tg0N6qyqI+zs0SXssTJLZ+c3OPrSs
	gfGfxm6B886nsCba3NxuNZKzdE8RrDcDjglnE4WjMGK1Ae0FLsZcU6fw/7xrObvGcIuo=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/xsm: wrap xsm_vm_event_control() with CONFIG_VM_EVENT
Message-Id: <E1vOGF2-00EOL2-0e@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 14:11:32 +0000

commit b3ad7637ba20495a1d38679b4592ab837e8fd6fc
Author:     Penny Zheng <Penny.Zheng@amd.com>
AuthorDate: Wed Nov 26 12:08:46 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:08:46 2025 +0100

    xen/xsm: wrap xsm_vm_event_control() with CONFIG_VM_EVENT
    
    Function xsm_vm_event_control() is only invoked under CONFIG_VM_EVENT, so
    it shall be wrapped with it, otherwise it will become unreachable when
    VM_EVENT=n and hence violating Misra rule 2.1.
    
    Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
    Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/xsm/dummy.h | 2 +-
 xen/include/xsm/xsm.h   | 4 ++--
 xen/xsm/dummy.c         | 2 +-
 xen/xsm/flask/hooks.c   | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 12792c3a43..e801dbcdba 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -640,6 +640,7 @@ static XSM_INLINE int cf_check xsm_hvm_altp2mhvm_op(
     }
 }
 
+#ifdef CONFIG_VM_EVENT
 static XSM_INLINE int cf_check xsm_vm_event_control(
     XSM_DEFAULT_ARG struct domain *d, int mode, int op)
 {
@@ -647,7 +648,6 @@ static XSM_INLINE int cf_check xsm_vm_event_control(
     return xsm_default_action(action, current->domain, d);
 }
 
-#ifdef CONFIG_VM_EVENT
 static XSM_INLINE int cf_check xsm_mem_access(XSM_DEFAULT_ARG struct domain *d)
 {
     XSM_ASSERT_ACTION(XSM_DM_PRIV);
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 074d61cd45..2d831d7745 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -155,9 +155,9 @@ struct xsm_ops {
     int (*hvm_altp2mhvm_op)(struct domain *d, uint64_t mode, uint32_t op);
     int (*get_vnumainfo)(struct domain *d);
 
+#ifdef CONFIG_VM_EVENT
     int (*vm_event_control)(struct domain *d, int mode, int op);
 
-#ifdef CONFIG_VM_EVENT
     int (*mem_access)(struct domain *d);
 #endif
 
@@ -649,13 +649,13 @@ static inline int xsm_get_vnumainfo(xsm_default_t def, struct domain *d)
     return alternative_call(xsm_ops.get_vnumainfo, d);
 }
 
+#ifdef CONFIG_VM_EVENT
 static inline int xsm_vm_event_control(
     xsm_default_t def, struct domain *d, int mode, int op)
 {
     return alternative_call(xsm_ops.vm_event_control, d, mode, op);
 }
 
-#ifdef CONFIG_VM_EVENT
 static inline int xsm_mem_access(xsm_default_t def, struct domain *d)
 {
     return alternative_call(xsm_ops.mem_access, d);
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 8b7e01b506..96dc82ac2e 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -115,9 +115,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .remove_from_physmap           = xsm_remove_from_physmap,
     .map_gmfn_foreign              = xsm_map_gmfn_foreign,
 
+#ifdef CONFIG_VM_EVENT
     .vm_event_control              = xsm_vm_event_control,
 
-#ifdef CONFIG_VM_EVENT
     .mem_access                    = xsm_mem_access,
 #endif
 
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index b0308e1b26..9f3915617c 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1365,12 +1365,12 @@ static int cf_check flask_hvm_altp2mhvm_op(struct domain *d, uint64_t mode, uint
     return current_has_perm(d, SECCLASS_HVM, HVM__ALTP2MHVM_OP);
 }
 
+#ifdef CONFIG_VM_EVENT
 static int cf_check flask_vm_event_control(struct domain *d, int mode, int op)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__VM_EVENT);
 }
 
-#ifdef CONFIG_VM_EVENT
 static int cf_check flask_mem_access(struct domain *d)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__MEM_ACCESS);
@@ -1967,9 +1967,9 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .do_xsm_op = do_flask_op,
     .get_vnumainfo = flask_get_vnumainfo,
 
+#ifdef CONFIG_VM_EVENT
     .vm_event_control = flask_vm_event_control,
 
-#ifdef CONFIG_VM_EVENT
     .mem_access = flask_mem_access,
 #endif
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 14:11:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 14:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172896.1497997 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGFD-0001vv-Du; Wed, 26 Nov 2025 14:11:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172896.1497997; Wed, 26 Nov 2025 14:11:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGFD-0001vn-BA; Wed, 26 Nov 2025 14:11:43 +0000
Received: by outflank-mailman (input) for mailman id 1172896;
 Wed, 26 Nov 2025 14:11:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOGFC-0001vf-Bs
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 14:11:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGFC-009Ubh-15
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGFC-00EOLb-0y
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ujaV9ENnSDwKZ+rebEWA78ob3CYTRc89abbjS1C0u5E=; b=bJz/MTFNQnUfLWiUZH6uhsIed7
	I1O8YlURvZDIWld9ScFxjefc+tDFm3+xn54Fkn1/+AFvFSa1OBOD1hecYW5oPLx2fDiHX5WC4JWiz
	YP320MO3i+l9PTIBaL/xnY1OIqNo3uRSr2VlaxBC1eHtIdk+3jnBeAO8veueL3gAmkR4=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] symbols/x86: re-number intermediate files
Message-Id: <E1vOGFC-00EOLb-0y@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 14:11:42 +0000

commit 5c1c05b27bf28bb7670e2b7fe729d853fa8a4b05
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 26 12:09:32 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:09:32 2025 +0100

    symbols/x86: re-number intermediate files
    
    In preparation to do away with symbols-dummy, re-number the assembly and
    object files used, for the numbers to match the next passes real output.
    This is to make 0 available to use for what now is handled by
    symbols-dummy. (Mirror the numbering to the intermediate reloc files for
    xen.efi, just to avoid confusion.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/Makefile | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 6c0ff67fa8..98cdabd6b6 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -138,16 +138,16 @@ $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
 	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
-		> $(dot-target).0.S
-	$(MAKE) $(build)=$(@D) $(dot-target).0.o
+		> $(dot-target).1.S
+	$(MAKE) $(build)=$(@D) $(dot-target).1.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-	    $(dot-target).0.o -o $(dot-target).1
+	    $(dot-target).1.o -o $(dot-target).1
 	$(NM) -pa --format=sysv $(dot-target).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
-		> $(dot-target).1.S
-	$(MAKE) $(build)=$(@D) $(dot-target).1.o
+		> $(dot-target).2.S
+	$(MAKE) $(build)=$(@D) $(dot-target).2.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-	    $(orphan-handling-y) $(dot-target).1.o -o $@
+	    $(orphan-handling-y) $(dot-target).2.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
@@ -211,23 +211,23 @@ endif
 	                $(objtree)/common/symbols-dummy.o $(note_file_option) \
 	                -o $(dot-target).$(base).0 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
-		> $(dot-target).0r.S
+		> $(dot-target).1r.S
 	$(NM) -pa --format=sysv $(dot-target).$(VIRT_BASE).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
-		> $(dot-target).0s.S
-	$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
+		> $(dot-target).1s.S
+	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
 	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< \
-	                $(dot-target).0r.o $(dot-target).0s.o $(note_file_option) \
+	                $(dot-target).1r.o $(dot-target).1s.o $(note_file_option) \
 	                -o $(dot-target).$(base).1 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).1) \
-		> $(dot-target).1r.S
+		> $(dot-target).2r.S
 	$(NM) -pa --format=sysv $(dot-target).$(VIRT_BASE).1 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
-		> $(dot-target).1s.S
-	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
+		> $(dot-target).2s.S
+	$(MAKE) $(build)=$(@D) .$(@F).2r.o .$(@F).2s.o
 	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
-	      $(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
+	      $(dot-target).2r.o $(dot-target).2s.o $(orphan-handling-y) \
 	      $(note_file_option) -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 14:11:54 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 14:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172898.1498000 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGFO-00020r-FJ; Wed, 26 Nov 2025 14:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172898.1498000; Wed, 26 Nov 2025 14:11: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-changelog-bounces@lists.xenproject.org>)
	id 1vOGFO-00020B-CV; Wed, 26 Nov 2025 14:11:54 +0000
Received: by outflank-mailman (input) for mailman id 1172898;
 Wed, 26 Nov 2025 14:11:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOGFM-0001zP-GH
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 14:11:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGFM-009Ubp-1X
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:52 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGFM-00EOMV-1F
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:11:52 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=u+D3AVdQskl6HVN8hMfoWpct3iIT32FlU7S2dHCVnR4=; b=Zrv8blteKiRtnAjO3iRmUGzIu8
	IQKgk+r71liwasJFyr7DSRPH7FsTxKU2a3Wv07uM7DnvttW27/RPAJxESSXHSYRtqQv+ETnbmzVi2
	hINS6423tgQvHR21uXU6Lk47pt5qHYyeRXR6Ia89V+ozjINfo+RD7a8qOvJ3ayJGwhW0=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] symbols/x86: don't use symbols-dummy
Message-Id: <E1vOGFM-00EOMV-1F@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 14:11:52 +0000

commit 92f3beb62750f9b1f14d0e4693e793355a99c185
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Nov 26 12:10:00 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:10:00 2025 +0100

    symbols/x86: don't use symbols-dummy
    
    In particular when linking with lld, which converts hidden symbols to
    local ones, the ELF symbol table can change in unhelpful ways between the
    first two linking passes, resulting in the .rodata contributions to change
    between the 2nd and 3rd pass. That, however, renders our embedded symbol
    table pretty much unusable; the recently introduced self-test may then
    also fail. (Another difference between compiling a C file and assembling
    the generated ones is that - with -fdata-sections in use - the .rodata
    contributions move between passes 1 and 2, when we'd prefer them not to.)
    
    Make tools/symbols capable of producing an "empty" assembly file, such
    that unwanted differences between passes 1 and 2 go away when then using
    the corresponding objects in place of common/symbols-dummy.o.
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/Makefile | 8 ++++++--
 xen/tools/symbols.c   | 5 ++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 98cdabd6b6..300cc67407 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -134,8 +134,10 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
+	$(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0.S
+	$(MAKE) $(build)=$(@D) $(dot-target).0.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+	      $(dot-target).0.o -o $(dot-target).0
 	$(NM) -pa --format=sysv $(dot-target).0 \
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).1.S
@@ -206,9 +208,11 @@ $(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/reloc
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
+	$(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0s.S
+	$(MAKE) $(build)=$(@D) .$(@F).0s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
 	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< $(relocs-dummy) \
-	                $(objtree)/common/symbols-dummy.o $(note_file_option) \
+	                $(dot-target).0s.o $(note_file_option) \
 	                -o $(dot-target).$(base).0 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
 		> $(dot-target).1r.S
diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 7685866b97..0af8a1e91c 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -675,7 +675,10 @@ int main(int argc, char **argv)
 				warn_dup = true;
 			else if (strcmp(argv[i], "--error-dup") == 0)
 				warn_dup = error_dup = true;
-			else if (strcmp(argv[i], "--xensyms") == 0)
+			else if (strcmp(argv[i], "--empty") == 0) {
+				write_src();
+				return 0;
+			} else if (strcmp(argv[i], "--xensyms") == 0)
 				map_only = true;
 			else
 				usage();
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Wed Nov 26 14:12:03 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Nov 2025 14:12:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1172900.1498016 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGFX-0002H8-Nf; Wed, 26 Nov 2025 14:12:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1172900.1498016; Wed, 26 Nov 2025 14:12:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOGFX-0002Gv-Jy; Wed, 26 Nov 2025 14:12:03 +0000
Received: by outflank-mailman (input) for mailman id 1172900;
 Wed, 26 Nov 2025 14:12:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOGFW-0002GR-Iv
 for xen-changelog@lists.xenproject.org; Wed, 26 Nov 2025 14:12:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGFW-009Uc8-1n
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:12:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOGFW-00EONq-1h
 for xen-changelog@lists.xenproject.org;
 Wed, 26 Nov 2025 14:12:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=XZDkd9F0pAgbf8SxCoz83kbZ0ZMJZXpPbfJ7+Vx3vUA=; b=HNzWUdroGqs2G71YxrXGAoHqIR
	cMHwOIV7epGjjsFgHuBnAmRec7wT4FzPmz8sr5Nd0+B9+rssl9Gmkiv87T8L1VDgHTz1TgCHJd9y8
	F4Ww0vfZQIuYMUhMhsTTjzRnNrO+YqrzI2ldjCIbERKAeT7KkjZT0fLRLDZBgpCZ+z9s=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/vhpet: Fix sanitization of legacy IRQ route
Message-Id: <E1vOGFW-00EONq-1h@xenbits.xenproject.org>
Date: Wed, 26 Nov 2025 14:12:02 +0000

commit fb0e37df71a31318c61e0715ffed3e149ca8a4aa
Author:     Tu Dinh <ngoc-tu.dinh@vates.tech>
AuthorDate: Wed Nov 26 12:10:21 2025 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Nov 26 12:10:21 2025 +0100

    x86/vhpet: Fix sanitization of legacy IRQ route
    
    When setting a timer's config register, timer_sanitize_int_route will
    always reset the IRQ route value to what's valid corresponding to the
    !HPET_CFG_LEGACY case. This is applied even if the HPET is set to
    HPET_CFG_LEGACY.
    
    When some operating systems (e.g. Windows) try to write to a timer
    config, they will verify and rewrite the register if the values don't
    match what they expect. This causes an unnecessary write to HPET_Tn_CFG.
    
    Note, the HPET specification states that for the Tn_INT_ROUTE_CNF field:
    
    "If the value is not supported by this prarticular timer, then the value
    read back will not match what is written. [...] If the LegacyReplacement
    Route bit is set, then Timers 0 and 1 will have a different routing, and
    this bit field has no effect for those two timers."
    
    Therefore, Xen should not reset timer_int_route if legacy mode is
    enabled, regardless of what's in there.
    
    Fixes: ec40d3fe2147 ("x86/vhpet: check that the set interrupt route is valid")
    Signed-off-by: Tu Dinh <ngoc-tu.dinh@vates.tech>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hpet.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
index f0e5f877f4..e317ec1f5f 100644
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -48,6 +48,8 @@
 #define timer_is_32bit(h, n)     (timer_config(h, n) & HPET_TN_32BIT)
 #define hpet_enabled(h)          ((h)->hpet.config & HPET_CFG_ENABLE)
 #define timer_level(h, n)        (timer_config(h, n) & HPET_TN_LEVEL)
+#define timer_is_legacy(h, n) \
+    (((n) <= 1) && ((h)->hpet.config & HPET_CFG_LEGACY))
 
 #define timer_int_route(h, n)    MASK_EXTR(timer_config(h, n), HPET_TN_ROUTE)
 
@@ -55,7 +57,8 @@
     MASK_EXTR(timer_config(h, n), HPET_TN_INT_ROUTE_CAP)
 
 #define timer_int_route_valid(h, n) \
-    ((1u << timer_int_route(h, n)) & timer_int_route_cap(h, n))
+    (timer_is_legacy(h, n) || \
+     ((1u << timer_int_route(h, n)) & timer_int_route_cap(h, n)))
 
 static inline uint64_t hpet_read_maincounter(HPETState *h, uint64_t guest_time)
 {
@@ -275,7 +278,7 @@ static void hpet_set_timer(HPETState *h, unsigned int tn,
             ? (uint32_t)diff : 0;
 
     destroy_periodic_time(&h->pt[tn]);
-    if ( (tn <= 1) && (h->hpet.config & HPET_CFG_LEGACY) )
+    if ( timer_is_legacy(h, tn) )
     {
         /* if LegacyReplacementRoute bit is set, HPET specification requires
            timer0 be routed to IRQ0 in NON-APIC or IRQ2 in the I/O APIC,
@@ -379,6 +382,14 @@ static int cf_check hpet_write(
         h->hpet.config = hpet_fixup_reg(new_val, old_val,
                                         HPET_CFG_ENABLE | HPET_CFG_LEGACY);
 
+        /*
+         * The first 2 channels' interrupt route values only matter when
+         * HPET_CFG_LEGACY is disabled. However, for simplicity's sake, always
+         * resanitize all channels anyway.
+         */
+        for ( i = 0; i < HPET_TIMER_NUM; i++ )
+            timer_sanitize_int_route(h, i);
+
         if ( !(old_val & HPET_CFG_ENABLE) && (new_val & HPET_CFG_ENABLE) )
         {
             /* Enable main counter and interrupt generation. */
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 21:33:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 21:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174404.1499342 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjbs-0005ZR-3d; Thu, 27 Nov 2025 21:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174404.1499342; Thu, 27 Nov 2025 21:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjbs-0005ZJ-0u; Thu, 27 Nov 2025 21:33:04 +0000
Received: by outflank-mailman (input) for mailman id 1174404;
 Thu, 27 Nov 2025 21:33:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOjbq-0005ZD-Is
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 21:33:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjbq-00BLxl-0a
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjbq-000EVO-0O
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=f3nl2CTJyKQEeY6CzDGwrXgmAKUi34jz/xG2JBGFT/o=; b=lXVpNcu7Sgmyyo+HT7gwmw5ltd
	LXxUSQYuhKIh0fZrdElP1X1Gc9v4waKXToOaUKUGrSZoa5ovmXI3W97zKivKBY6e1HdaHnlIK2fF4
	GJVHJfFwk0ygfUmD/ayU7T6nUNWW+B9eYphtd7TAdld3TSkqnaycMQaWyUqWPpFvzNDE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/amd: Stop updating the Zenbleed mitigation dynamically
Message-Id: <E1vOjbq-000EVO-0O@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 21:33:02 +0000

commit 5cd1ac15756ed7d9175685a3d16fc23fc86b3db4
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 17:09:48 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/amd: Stop updating the Zenbleed mitigation dynamically
    
    This was potentially helpful when the chickenbit was the only mitigation and
    microcode had not been released, but that was two years ago.
    
    Zenbleed microcode has been avaialble since December 2023, and the subsequent
    Entrysign signature vulnerability means that firmware updates block OS-loading
    and more OS-loadable microcode will be produced for Zen2.
    
    i.e. the Zenbleed fix is not going to appear at runtime these days.
    
    No practical change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c               | 2 +-
 xen/arch/x86/cpu/microcode/amd.c     | 2 --
 xen/arch/x86/include/asm/processor.h | 2 --
 3 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 9b02e1ba67..f7c23c3291 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -979,7 +979,7 @@ void __init detect_zen2_null_seg_behaviour(void)
 
 }
 
-void amd_check_zenbleed(void)
+static void amd_check_zenbleed(void)
 {
 	const struct cpu_signature *sig = &this_cpu(cpu_sig);
 	unsigned int good_rev;
diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 4a7573c885..e7ae1e8023 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -380,8 +380,6 @@ static int cf_check apply_microcode(const struct microcode_patch *patch,
            "microcode: CPU%u updated from revision %#x to %#x, date = %04x-%02x-%02x\n",
            cpu, old_rev, rev, patch->year, patch->month, patch->day);
 
-    amd_check_zenbleed();
-
     return 0;
 }
 
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 1342241742..2e087c6257 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -435,8 +435,6 @@ enum ap_boot_method {
 };
 extern enum ap_boot_method ap_boot_method;
 
-void amd_check_zenbleed(void);
-
 #endif /* !__ASSEMBLY__ */
 
 #endif /* __ASM_X86_PROCESSOR_H */
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 21:33:13 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 21:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174405.1499346 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjc1-0005av-4m; Thu, 27 Nov 2025 21:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174405.1499346; Thu, 27 Nov 2025 21:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjc1-0005an-2E; Thu, 27 Nov 2025 21:33:13 +0000
Received: by outflank-mailman (input) for mailman id 1174405;
 Thu, 27 Nov 2025 21:33:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOjc0-0005af-A7
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 21:33:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjc0-00BLy7-0u
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjc0-000EXI-0l
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=nJKNPrqvzxv9P9o/TjQqbEHw0LzC4dGnLeN6qPLzl70=; b=WUe6/LwNZK+MOYU6cNqmyB+H2h
	l3T3DcyQPbDl5G9pudVAYKx93AGrtmZfKqc8Xt3KbuwhyEn7rV4WvrVdt3qhcnvih0T8H7jMFAZ28
	0sEvjqMCxoU5aNTo4jSQuFsDZlegdklpkVvx11QET+0qnxHdQDw8I/gc3PIGsRXqqYIw=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/cpu: Sort headers
Message-Id: <E1vOjc0-000EXI-0l@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 21:33:12 +0000

commit baa93d38d1300c5c86a36e6bdbff9fe30a7112cb
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 12:48:41 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/cpu: Sort headers
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c     | 15 ++++++++-------
 xen/arch/x86/cpu/centaur.c | 10 ++++++----
 xen/arch/x86/cpu/hygon.c   |  1 +
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index f7c23c3291..0966d3b967 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1,21 +1,22 @@
+#include <xen/bitops.h>
 #include <xen/cpu.h>
 #include <xen/init.h>
-#include <xen/bitops.h>
 #include <xen/mm.h>
 #include <xen/param.h>
-#include <xen/smp.h>
-#include <xen/softirq.h>
 #include <xen/pci.h>
 #include <xen/sched.h>
+#include <xen/smp.h>
+#include <xen/softirq.h>
 #include <xen/warning.h>
+
+#include <asm/acpi.h>
+#include <asm/amd.h>
+#include <asm/apic.h>
 #include <asm/io.h>
+#include <asm/microcode.h>
 #include <asm/msr.h>
 #include <asm/processor.h>
-#include <asm/amd.h>
 #include <asm/spec_ctrl.h>
-#include <asm/acpi.h>
-#include <asm/apic.h>
-#include <asm/microcode.h>
 
 #include "cpu.h"
 
diff --git a/xen/arch/x86/cpu/centaur.c b/xen/arch/x86/cpu/centaur.c
index 750168d1e8..d2e7c8ec99 100644
--- a/xen/arch/x86/cpu/centaur.c
+++ b/xen/arch/x86/cpu/centaur.c
@@ -1,9 +1,11 @@
-#include <xen/lib.h>
-#include <xen/init.h>
 #include <xen/bitops.h>
-#include <asm/processor.h>
-#include <asm/msr.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+
 #include <asm/e820.h>
+#include <asm/msr.h>
+#include <asm/processor.h>
+
 #include "cpu.h"
 
 #define ACE_PRESENT	(1 << 6)
diff --git a/xen/arch/x86/cpu/hygon.c b/xen/arch/x86/cpu/hygon.c
index f7508cc8fc..68eee0e85f 100644
--- a/xen/arch/x86/cpu/hygon.c
+++ b/xen/arch/x86/cpu/hygon.c
@@ -1,4 +1,5 @@
 #include <xen/init.h>
+
 #include <asm/processor.h>
 #include <asm/spec_ctrl.h>
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 21:33:23 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 21:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174406.1499351 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjcB-0005cr-6F; Thu, 27 Nov 2025 21:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174406.1499351; Thu, 27 Nov 2025 21:33: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-changelog-bounces@lists.xenproject.org>)
	id 1vOjcB-0005cj-3Z; Thu, 27 Nov 2025 21:33:23 +0000
Received: by outflank-mailman (input) for mailman id 1174406;
 Thu, 27 Nov 2025 21:33:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOjcA-0005cd-DU
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 21:33:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjcA-00BLyB-1C
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjcA-000EYg-15
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=helwBpem5LAd+eP7RcyfzyK4/8aQKZ3uaJtmYWeQFOk=; b=qWG8fRc70zep8/3eoDXk6ABJy9
	N6/+2njO8YsvnlB90SoFSQFHW7wfZFJtGw+eQkrNfhlB3yVKd639nx6LIaswE3duiB+iqLITUtPeL
	7SZXaOysffHjtN5wuuHONvCcgn1mIUDx/gYzHrM+s39h/LIhQ7CBzc6KBNlRuAALS8ZQ=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/amd: Drop vestigial PBE logic in init_amd()
Message-Id: <E1vOjcA-000EYg-15@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 21:33:22 +0000

commit b1b35555f15d03026fbfbdd8071d95ae9a13a4d9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Nov 26 14:22:14 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/amd: Drop vestigial PBE logic in init_amd()
    
    The comment was adjusted by myself in commit 51bd4bbdfdba ("x86: drop
    X86_FEATURE_3DNOW_ALT"), on the presumption that the underlying logic existed
    for a good reason.
    
    Having done further archaeology, it turns out to be vestigial technical debt
    from the leadup to Linux 2.4 in November 2000.
    
    Prior to "Massive cleanup of CPU detection and bug handling",
    c->x86_capability was a single uint32_t containing cpuid(1).edx,
    cpuid(0x80000001).edx, or a synthesis thereof.  X86_FEATURE_AMD3D was defined
    as the top bit this single uint32_t.
    
    After "Massive cleanup of CPU detection and bug handling",
    c->x86_capability became an array with AMD's extended feature leaf split
    away from Intel's basic feature leaf.
    
    AMD doc #20734-G states that 3DNow is only enumerated in the extended
    feature leaf, and that other vendors where using this bit too.  i.e. AMD
    never produced a CPU which set bit 31 in the basic leaf, meaning that
    there's nothing to clear out in the first place.
    
    This logic looks like it was relevant in the pre-"Massive cleanup" world
    but ought to have been dropped when c->x86_capability was properly split.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 0966d3b967..e9800bd7ea 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1131,13 +1131,6 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
 		wrmsrl(MSR_K8_HWCR, value);
 	}
 
-	/*
-	 * Some AMD CPUs duplicate the 3DNow bit in base and extended CPUID
-	 * leaves.  Unfortunately, this aliases PBE on Intel CPUs. Clobber the
-	 * alias, leaving 3DNow in the extended leaf.
-	 */
-	__clear_bit(X86_FEATURE_PBE, c->x86_capability);
-	
 	if (c->x86 == 0xf && c->x86_model < 0x14
 	    && cpu_has(c, X86_FEATURE_LAHF_LM)) {
 		/*
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 21:33:33 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 21:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174407.1499354 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjcL-0005fP-7P; Thu, 27 Nov 2025 21:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174407.1499354; Thu, 27 Nov 2025 21: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-changelog-bounces@lists.xenproject.org>)
	id 1vOjcL-0005fH-4s; Thu, 27 Nov 2025 21:33:33 +0000
Received: by outflank-mailman (input) for mailman id 1174407;
 Thu, 27 Nov 2025 21:33:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOjcK-0005f5-Gb
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 21:33:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjcK-00BM0c-1Y
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjcK-000EaL-1O
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=mBDvaD+R5qYJSjWwa5G7XFvwRygo3++9nKlE3R7KB9c=; b=Toa9e/ABYk/7qPsZsTgic8Jk+X
	+0Fesgc9QEJ4xYiuCCuhoO+igmxrGJ2U3m3lNovJ0XmmSNFvd0nrATKSKDT63jNy0eQrjOPQJ2dMV
	zhPWADYUw4W9drqQtuRXWISXoHwuNkiuRUy5IyNLLdxZgsnS+iiNZO+uFY45HEE6+75w=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/amd: Drop the cpuid_mask_* command line options
Message-Id: <E1vOjcK-000EaL-1O@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 21:33:32 +0000

commit 317051c2f032f6b53d933d3345513930d8f819b6
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 12:52:22 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/amd: Drop the cpuid_mask_* command line options
    
    As noted in the command line documentation, these are both deprecated since
    Xen 4.7 (2016), and are not fully effective on AMD CPUs starting from 2011.
    
    Not realised at the time of writing the docs was that their use is also
    incompatible with certain errata workarounds which edit the CPUID MSRs after
    the levelling defaults are calculated.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md                      |   4 ++
 docs/misc/xen-command-line.pandoc |  40 ---------------
 xen/arch/x86/cpu/amd.c            | 104 --------------------------------------
 xen/arch/x86/include/asm/amd.h    |  90 ---------------------------------
 4 files changed, 4 insertions(+), 234 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index adaad5ee89..3aaf598623 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ### Added
 
 ### Removed
+ - On x86:
+   - The cpuid_mask_* command line options for legacy AMD CPUs.  These were
+     deprecated in Xen 4.7 and noted not to work correctly with AMD CPUs from
+     2011 onwards.
 
 ## [4.21.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.21.0) - 2025-11-19
 
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 34004ce282..e92b6d55b5 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -587,46 +587,6 @@ applicable.  They can all be ignored.
     in its positive form to override Xen's default behaviour on these systems,
     and make the feature fully usable.
 
-### cpuid_mask_cpu
-> `= fam_0f_rev_[cdefg] | fam_10_rev_[bc] | fam_11_rev_b`
-
-> Applicability: AMD
-
-If none of the other **cpuid_mask_\*** options are given, Xen has a set of
-pre-configured masks to make the current processor appear to be
-family/revision specified.
-
-See below for general information on masking.
-
-**Warning: This option is not fully effective on Family 15h processors or
-later.**
-
-### cpuid_mask_ecx
-### cpuid_mask_edx
-### cpuid_mask_ext_ecx
-### cpuid_mask_ext_edx
-### cpuid_mask_l7s0_eax
-### cpuid_mask_l7s0_ebx
-### cpuid_mask_thermal_ecx
-### cpuid_mask_xsave_eax
-> `= <integer>`
-
-> Applicability: x86.  Default: `~0` (all bits set)
-
-The availability of these options are model specific.  Some processors don't
-support any of them, and no processor supports all of them.  Xen will ignore
-options on processors which are lacking support.
-
-These options can be used to alter the features visible via the `CPUID`
-instruction.  Settings applied here take effect globally, including for Xen
-and all guests.
-
-Note: Since Xen 4.7, it is no longer necessary to mask a host to create
-migration safety in heterogeneous scenarios.  All necessary CPUID settings
-should be provided in the VM configuration file.  Furthermore, it is
-recommended not to use this option, as doing so causes an unnecessary
-reduction of features at Xen's disposal to manage guests.
-
 ### cpuidle (x86)
 > `= <boolean>`
 
diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index e9800bd7ea..805a8189e6 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -20,32 +20,6 @@
 
 #include "cpu.h"
 
-/*
- * Pre-canned values for overriding the CPUID features 
- * and extended features masks.
- *
- * Currently supported processors:
- * 
- * "fam_0f_rev_c"
- * "fam_0f_rev_d"
- * "fam_0f_rev_e"
- * "fam_0f_rev_f"
- * "fam_0f_rev_g"
- * "fam_10_rev_b"
- * "fam_10_rev_c"
- * "fam_11_rev_b"
- */
-static char __initdata opt_famrev[14];
-string_param("cpuid_mask_cpu", opt_famrev);
-
-static unsigned int __initdata opt_cpuid_mask_l7s0_eax = ~0u;
-integer_param("cpuid_mask_l7s0_eax", opt_cpuid_mask_l7s0_eax);
-static unsigned int __initdata opt_cpuid_mask_l7s0_ebx = ~0u;
-integer_param("cpuid_mask_l7s0_ebx", opt_cpuid_mask_l7s0_ebx);
-
-static unsigned int __initdata opt_cpuid_mask_thermal_ecx = ~0u;
-integer_param("cpuid_mask_thermal_ecx", opt_cpuid_mask_thermal_ecx);
-
 /* 1 = allow, 0 = don't allow guest creation, -1 = don't allow boot */
 int8_t __read_mostly opt_allow_unsafe;
 boolean_param("allow_unsafe", opt_allow_unsafe);
@@ -114,51 +88,6 @@ static void wrmsr_amd(unsigned int msr, uint64_t val)
 		     "d" (val >> 32), "D" (0x9c5a203a));
 }
 
-static const struct cpuidmask {
-	uint16_t fam;
-	char rev[2];
-	unsigned int ecx, edx, ext_ecx, ext_edx;
-} pre_canned[] __initconst = {
-#define CAN(fam, id, rev) { \
-		fam, #rev, \
-		AMD_FEATURES_##id##_REV_##rev##_ECX, \
-		AMD_FEATURES_##id##_REV_##rev##_EDX, \
-		AMD_EXTFEATURES_##id##_REV_##rev##_ECX, \
-		AMD_EXTFEATURES_##id##_REV_##rev##_EDX \
-	}
-#define CAN_FAM(fam, rev) CAN(0x##fam, FAM##fam##h, rev)
-#define CAN_K8(rev)       CAN(0x0f,    K8,          rev)
-	CAN_FAM(11, B),
-	CAN_FAM(10, C),
-	CAN_FAM(10, B),
-	CAN_K8(G),
-	CAN_K8(F),
-	CAN_K8(E),
-	CAN_K8(D),
-	CAN_K8(C)
-#undef CAN
-};
-
-static const struct cpuidmask *__init noinline get_cpuidmask(const char *opt)
-{
-	unsigned long fam;
-	char rev;
-	unsigned int i;
-
-	if (strncmp(opt, "fam_", 4))
-		return NULL;
-	fam = simple_strtoul(opt + 4, &opt, 16);
-	if (strncmp(opt, "_rev_", 5) || !opt[5] || opt[6])
-		return NULL;
-	rev = toupper(opt[5]);
-
-	for (i = 0; i < ARRAY_SIZE(pre_canned); ++i)
-		if (fam == pre_canned[i].fam && rev == *pre_canned[i].rev)
-			return &pre_canned[i];
-
-	return NULL;
-}
-
 /*
  * Sets caps in expected_levelling_cap, probes for the specified mask MSR, and
  * set caps in levelling_caps if it is found.  Processors prior to Fam 10h
@@ -295,8 +224,6 @@ static const typeof(ctxt_switch_masking) __initconst_cf_clobber __used csm =
  */
 static void __init noinline amd_init_levelling(void)
 {
-	const struct cpuidmask *m = NULL;
-
 	/*
 	 * If there's support for CpuidUserDis or CPUID faulting then
 	 * we can skip levelling because CPUID accesses are trapped anyway.
@@ -318,26 +245,11 @@ static void __init noinline amd_init_levelling(void)
 
 	probe_masking_msrs();
 
-	if (*opt_famrev != '\0') {
-		m = get_cpuidmask(opt_famrev);
-
-		if (!m)
-			printk("Invalid processor string: %s\n", opt_famrev);
-	}
-
 	if ((levelling_caps & LCAP_1cd) == LCAP_1cd) {
 		uint32_t ecx, edx, tmp;
 
 		cpuid(0x00000001, &tmp, &tmp, &ecx, &edx);
 
-		if (~(opt_cpuid_mask_ecx & opt_cpuid_mask_edx)) {
-			ecx &= opt_cpuid_mask_ecx;
-			edx &= opt_cpuid_mask_edx;
-		} else if (m) {
-			ecx &= m->ecx;
-			edx &= m->edx;
-		}
-
 		/* Fast-forward bits - Must be set. */
 		if (ecx & cpufeat_mask(X86_FEATURE_XSAVE))
 			ecx |= cpufeat_mask(X86_FEATURE_OSXSAVE);
@@ -351,14 +263,6 @@ static void __init noinline amd_init_levelling(void)
 
 		cpuid(0x80000001, &tmp, &tmp, &ecx, &edx);
 
-		if (~(opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) {
-			ecx &= opt_cpuid_mask_ext_ecx;
-			edx &= opt_cpuid_mask_ext_edx;
-		} else if (m) {
-			ecx &= m->ext_ecx;
-			edx &= m->ext_edx;
-		}
-
 		/* Fast-forward bits - Must be set. */
 		edx |= cpufeat_mask(X86_FEATURE_APIC);
 
@@ -370,20 +274,12 @@ static void __init noinline amd_init_levelling(void)
 
 		cpuid(0x00000007, &eax, &ebx, &tmp, &tmp);
 
-		if (~(opt_cpuid_mask_l7s0_eax & opt_cpuid_mask_l7s0_ebx)) {
-			eax &= opt_cpuid_mask_l7s0_eax;
-			ebx &= opt_cpuid_mask_l7s0_ebx;
-		}
-
 		cpuidmask_defaults._7ab0 &= ((uint64_t)eax << 32) | ebx;
 	}
 
 	if ((levelling_caps & LCAP_6c) == LCAP_6c) {
 		uint32_t ecx = cpuid_ecx(6);
 
-		if (~opt_cpuid_mask_thermal_ecx)
-			ecx &= opt_cpuid_mask_thermal_ecx;
-
 		cpuidmask_defaults._6c &= (~0ULL << 32) | ecx;
 	}
 
diff --git a/xen/arch/x86/include/asm/amd.h b/xen/arch/x86/include/asm/amd.h
index 72df42a6f6..4036dd5498 100644
--- a/xen/arch/x86/include/asm/amd.h
+++ b/xen/arch/x86/include/asm/amd.h
@@ -7,96 +7,6 @@
 
 #include <asm/cpufeature.h>
 
-/* CPUID masked for use by AMD-V Extended Migration */
-
-/* Family 0Fh, Revision C */
-#define AMD_FEATURES_K8_REV_C_ECX  0
-#define AMD_FEATURES_K8_REV_C_EDX (					     \
-	cpufeat_mask(X86_FEATURE_FPU)   | cpufeat_mask(X86_FEATURE_VME)    | \
-	cpufeat_mask(X86_FEATURE_DE)    | cpufeat_mask(X86_FEATURE_PSE)    | \
-	cpufeat_mask(X86_FEATURE_TSC)   | cpufeat_mask(X86_FEATURE_MSR)    | \
-	cpufeat_mask(X86_FEATURE_PAE)   | cpufeat_mask(X86_FEATURE_MCE)    | \
-	cpufeat_mask(X86_FEATURE_CX8)   | cpufeat_mask(X86_FEATURE_APIC)   | \
-	cpufeat_mask(X86_FEATURE_SEP)   | cpufeat_mask(X86_FEATURE_MTRR)   | \
-	cpufeat_mask(X86_FEATURE_PGE)   | cpufeat_mask(X86_FEATURE_MCA)    | \
-	cpufeat_mask(X86_FEATURE_CMOV)  | cpufeat_mask(X86_FEATURE_PAT)    | \
-	cpufeat_mask(X86_FEATURE_PSE36) | cpufeat_mask(X86_FEATURE_CLFLUSH)| \
-	cpufeat_mask(X86_FEATURE_MMX)   | cpufeat_mask(X86_FEATURE_FXSR)   | \
-	cpufeat_mask(X86_FEATURE_SSE)   | cpufeat_mask(X86_FEATURE_SSE2))
-#define AMD_EXTFEATURES_K8_REV_C_ECX  0
-#define AMD_EXTFEATURES_K8_REV_C_EDX  (					       \
-	cpufeat_mask(X86_FEATURE_FPU)	   | cpufeat_mask(X86_FEATURE_VME)   | \
-	cpufeat_mask(X86_FEATURE_DE)	   | cpufeat_mask(X86_FEATURE_PSE)   | \
-	cpufeat_mask(X86_FEATURE_TSC)	   | cpufeat_mask(X86_FEATURE_MSR)   | \
-	cpufeat_mask(X86_FEATURE_PAE)	   | cpufeat_mask(X86_FEATURE_MCE)   | \
-	cpufeat_mask(X86_FEATURE_CX8)	   | cpufeat_mask(X86_FEATURE_APIC)  | \
-	cpufeat_mask(X86_FEATURE_SYSCALL)  | cpufeat_mask(X86_FEATURE_MTRR)  | \
-	cpufeat_mask(X86_FEATURE_PGE)	   | cpufeat_mask(X86_FEATURE_MCA)   | \
-	cpufeat_mask(X86_FEATURE_CMOV)	   | cpufeat_mask(X86_FEATURE_PAT)   | \
-	cpufeat_mask(X86_FEATURE_PSE36)	   | cpufeat_mask(X86_FEATURE_NX)    | \
-	cpufeat_mask(X86_FEATURE_MMXEXT)   | cpufeat_mask(X86_FEATURE_MMX)   | \
-	cpufeat_mask(X86_FEATURE_FXSR)	   | cpufeat_mask(X86_FEATURE_LM)    | \
-	cpufeat_mask(X86_FEATURE_3DNOWEXT) | cpufeat_mask(X86_FEATURE_3DNOW))
-
-/* Family 0Fh, Revision D */
-#define AMD_FEATURES_K8_REV_D_ECX         AMD_FEATURES_K8_REV_C_ECX
-#define AMD_FEATURES_K8_REV_D_EDX         AMD_FEATURES_K8_REV_C_EDX
-#define AMD_EXTFEATURES_K8_REV_D_ECX     (AMD_EXTFEATURES_K8_REV_C_ECX |\
-	cpufeat_mask(X86_FEATURE_LAHF_LM))
-#define AMD_EXTFEATURES_K8_REV_D_EDX     (AMD_EXTFEATURES_K8_REV_C_EDX |\
-	cpufeat_mask(X86_FEATURE_FFXSR))
-
-/* Family 0Fh, Revision E */
-#define AMD_FEATURES_K8_REV_E_ECX        (AMD_FEATURES_K8_REV_D_ECX |	\
-	cpufeat_mask(X86_FEATURE_SSE3))
-#define AMD_FEATURES_K8_REV_E_EDX        (AMD_FEATURES_K8_REV_D_EDX | 	\
-	cpufeat_mask(X86_FEATURE_HTT))
-#define AMD_EXTFEATURES_K8_REV_E_ECX     (AMD_EXTFEATURES_K8_REV_D_ECX |\
-	cpufeat_mask(X86_FEATURE_CMP_LEGACY))
-#define AMD_EXTFEATURES_K8_REV_E_EDX      AMD_EXTFEATURES_K8_REV_D_EDX
-
-/* Family 0Fh, Revision F */
-#define AMD_FEATURES_K8_REV_F_ECX        (AMD_FEATURES_K8_REV_E_ECX | 	\
-	cpufeat_mask(X86_FEATURE_CX16))
-#define AMD_FEATURES_K8_REV_F_EDX         AMD_FEATURES_K8_REV_E_EDX
-#define AMD_EXTFEATURES_K8_REV_F_ECX     (AMD_EXTFEATURES_K8_REV_E_ECX |\
-	cpufeat_mask(X86_FEATURE_SVM) | cpufeat_mask(X86_FEATURE_EXTAPIC) | \
-	cpufeat_mask(X86_FEATURE_CR8_LEGACY))
-#define AMD_EXTFEATURES_K8_REV_F_EDX     (AMD_EXTFEATURES_K8_REV_E_EDX |\
-	cpufeat_mask(X86_FEATURE_RDTSCP))
-
-/* Family 0Fh, Revision G */
-#define AMD_FEATURES_K8_REV_G_ECX         AMD_FEATURES_K8_REV_F_ECX
-#define AMD_FEATURES_K8_REV_G_EDX         AMD_FEATURES_K8_REV_F_EDX
-#define AMD_EXTFEATURES_K8_REV_G_ECX     (AMD_EXTFEATURES_K8_REV_F_ECX |\
-	cpufeat_mask(X86_FEATURE_3DNOWPREFETCH))
-#define AMD_EXTFEATURES_K8_REV_G_EDX      AMD_EXTFEATURES_K8_REV_F_EDX
-
-/* Family 10h, Revision B */
-#define AMD_FEATURES_FAM10h_REV_B_ECX    (AMD_FEATURES_K8_REV_F_ECX | 	\
-	cpufeat_mask(X86_FEATURE_POPCNT) | cpufeat_mask(X86_FEATURE_MONITOR))
-#define AMD_FEATURES_FAM10h_REV_B_EDX     AMD_FEATURES_K8_REV_F_EDX
-#define AMD_EXTFEATURES_FAM10h_REV_B_ECX (AMD_EXTFEATURES_K8_REV_F_ECX |\
-	cpufeat_mask(X86_FEATURE_ABM) | cpufeat_mask(X86_FEATURE_SSE4A) | \
-	cpufeat_mask(X86_FEATURE_MISALIGNSSE) | cpufeat_mask(X86_FEATURE_OSVW) |\
-	cpufeat_mask(X86_FEATURE_IBS))
-#define AMD_EXTFEATURES_FAM10h_REV_B_EDX (AMD_EXTFEATURES_K8_REV_F_EDX |\
-	cpufeat_mask(X86_FEATURE_PAGE1GB))
-
-/* Family 10h, Revision C */
-#define AMD_FEATURES_FAM10h_REV_C_ECX     AMD_FEATURES_FAM10h_REV_B_ECX
-#define AMD_FEATURES_FAM10h_REV_C_EDX     AMD_FEATURES_FAM10h_REV_B_EDX
-#define AMD_EXTFEATURES_FAM10h_REV_C_ECX (AMD_EXTFEATURES_FAM10h_REV_B_ECX |\
-	cpufeat_mask(X86_FEATURE_SKINIT) | cpufeat_mask(X86_FEATURE_WDT))
-#define AMD_EXTFEATURES_FAM10h_REV_C_EDX  AMD_EXTFEATURES_FAM10h_REV_B_EDX
-
-/* Family 11h, Revision B */
-#define AMD_FEATURES_FAM11h_REV_B_ECX     AMD_FEATURES_K8_REV_G_ECX
-#define AMD_FEATURES_FAM11h_REV_B_EDX     AMD_FEATURES_K8_REV_G_EDX
-#define AMD_EXTFEATURES_FAM11h_REV_B_ECX (AMD_EXTFEATURES_K8_REV_G_ECX |\
-	cpufeat_mask(X86_FEATURE_SKINIT))
-#define AMD_EXTFEATURES_FAM11h_REV_B_EDX  AMD_EXTFEATURES_K8_REV_G_EDX
-
 /* AMD errata checking
  *
  * Errata are defined using the AMD_LEGACY_ERRATUM() or AMD_OSVW_ERRATUM()
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 21:33:43 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 21:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174408.1499357 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjcV-0005hY-8t; Thu, 27 Nov 2025 21:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174408.1499357; Thu, 27 Nov 2025 21:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOjcV-0005hQ-6L; Thu, 27 Nov 2025 21:33:43 +0000
Received: by outflank-mailman (input) for mailman id 1174408;
 Thu, 27 Nov 2025 21:33:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOjcU-0005hK-Ix
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 21:33:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjcU-00BM0j-1o
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOjcU-000Edx-1i
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 21:33:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=+J5I0wGNYgi8uzC0VhZ4XvYARWg01lbKE3+eG7WhqVA=; b=TGxteUMqecaC5BQ620JncK5Wku
	HvKnn/t4Mw0UC2xKl20oPOcfG5QgHViGTZiJGhbC8k5QQcNWmlwl78yOgrUBjCKEuRbvwkErBznWs
	g4PNuCnVqxjDM14xhyuT43aIrerTJUdJsHmAp1YOnJkyDqbUKEpn7pe8IaFu5md01OmU=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] x86/intel: Resync intel-family.h
Message-Id: <E1vOjcU-000Edx-1i@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 21:33:42 +0000

commit 117a46287427db2a6f5fe219eb2031d7ca39b603
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 24 15:01:04 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:52 2025 +0000

    x86/intel: Resync intel-family.h
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/include/asm/intel-family.h | 68 +++++++++++++++++++++++++++------
 1 file changed, 57 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/include/asm/intel-family.h b/xen/arch/x86/include/asm/intel-family.h
index d8c0bcc406..cc3fb4cc47 100644
--- a/xen/arch/x86/include/asm/intel-family.h
+++ b/xen/arch/x86/include/asm/intel-family.h
@@ -1,8 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Snapshot from Linux:
- *   db4001f9cc32e3ef105a4e4f492d7d813b28292a
- *   x86/cpu/vfm: Delete all the *_FAM6_ CPU #defines
+ *   89216c9051ef6635f1514f8e0d2f9cd63b37a3b6
+ *   x86/cpu: Add/fix core comments for {Panther,Nova} Lake
  */
 #ifndef _ASM_X86_INTEL_FAMILY_H
 #define _ASM_X86_INTEL_FAMILY_H
@@ -50,7 +50,18 @@
 /* Wildcard match so X86_MATCH_VFM(ANY) works */
 #define INTEL_ANY			IFM(X86_FAMILY_ANY, X86_MODEL_ANY)
 
+/* Family 5 */
+#define INTEL_FAM5_START		IFM(5, 0x00) /* Notational marker, also P5 A-step */
+#define INTEL_PENTIUM_75		IFM(5, 0x02) /* P54C */
+#define INTEL_PENTIUM_MMX		IFM(5, 0x04) /* P55C */
+#define INTEL_QUARK_X1000		IFM(5, 0x09) /* Quark X1000 SoC */
+
+/* Family 6, 18, 19 */
 #define INTEL_PENTIUM_PRO		IFM(6, 0x01)
+#define INTEL_PENTIUM_II_KLAMATH	IFM(6, 0x03)
+#define INTEL_PENTIUM_III_DESCHUTES	IFM(6, 0x05)
+#define INTEL_PENTIUM_III_TUALATIN	IFM(6, 0x0B)
+#define INTEL_PENTIUM_M_DOTHAN		IFM(6, 0x0D)
 
 #define INTEL_CORE_YONAH		IFM(6, 0x0E)
 
@@ -115,11 +126,15 @@
 
 #define INTEL_SAPPHIRERAPIDS_X		IFM(6, 0x8F) /* Golden Cove */
 
-#define INTEL_EMERALDRAPIDS_X		IFM(6, 0xCF)
+#define INTEL_EMERALDRAPIDS_X		IFM(6, 0xCF) /* Raptor Cove */
 
-#define INTEL_GRANITERAPIDS_X		IFM(6, 0xAD)
+#define INTEL_GRANITERAPIDS_X		IFM(6, 0xAD) /* Redwood Cove */
 #define INTEL_GRANITERAPIDS_D		IFM(6, 0xAE)
 
+#define INTEL_DIAMONDRAPIDS_X		IFM(19, 0x01) /* Panther Cove */
+
+#define INTEL_BARTLETTLAKE		IFM(6, 0xD7) /* Raptor Cove */
+
 /* "Hybrid" Processors (P-Core/E-Core) */
 
 #define INTEL_LAKEFIELD			IFM(6, 0x8A) /* Sunny Cove / Tremont */
@@ -131,14 +146,21 @@
 #define INTEL_RAPTORLAKE_P		IFM(6, 0xBA)
 #define INTEL_RAPTORLAKE_S		IFM(6, 0xBF)
 
-#define INTEL_METEORLAKE		IFM(6, 0xAC)
+#define INTEL_METEORLAKE		IFM(6, 0xAC) /* Redwood Cove / Crestmont */
 #define INTEL_METEORLAKE_L		IFM(6, 0xAA)
 
-#define INTEL_ARROWLAKE_H		IFM(6, 0xC5)
+#define INTEL_ARROWLAKE_H		IFM(6, 0xC5) /* Lion Cove / Skymont */
 #define INTEL_ARROWLAKE			IFM(6, 0xC6)
 #define INTEL_ARROWLAKE_U		IFM(6, 0xB5)
 
-#define INTEL_LUNARLAKE_M		IFM(6, 0xBD)
+#define INTEL_LUNARLAKE_M		IFM(6, 0xBD) /* Lion Cove / Skymont */
+
+#define INTEL_PANTHERLAKE_L		IFM(6, 0xCC) /* Cougar Cove / Darkmont */
+
+#define INTEL_WILDCATLAKE_L		IFM(6, 0xD5)
+
+#define INTEL_NOVALAKE			IFM(18, 0x01) /* Coyote Cove / Arctic Wolf */
+#define INTEL_NOVALAKE_L		IFM(18, 0x03) /* Coyote Cove / Arctic Wolf */
 
 /* "Small Core" Processors (Atom/E-Core) */
 
@@ -152,9 +174,9 @@
 #define INTEL_ATOM_SILVERMONT		IFM(6, 0x37) /* Bay Trail, Valleyview */
 #define INTEL_ATOM_SILVERMONT_D		IFM(6, 0x4D) /* Avaton, Rangely */
 #define INTEL_ATOM_SILVERMONT_MID	IFM(6, 0x4A) /* Merriefield */
+#define INTEL_ATOM_SILVERMONT_MID2	IFM(6, 0x5A) /* Anniedale */
 
 #define INTEL_ATOM_AIRMONT		IFM(6, 0x4C) /* Cherry Trail, Braswell */
-#define INTEL_ATOM_AIRMONT_MID		IFM(6, 0x5A) /* Moorefield */
 #define INTEL_ATOM_AIRMONT_NP		IFM(6, 0x75) /* Lightning Mountain */
 
 #define INTEL_ATOM_GOLDMONT		IFM(6, 0x5C) /* Apollo Lake */
@@ -179,8 +201,32 @@
 #define INTEL_XEON_PHI_KNL		IFM(6, 0x57) /* Knights Landing */
 #define INTEL_XEON_PHI_KNM		IFM(6, 0x85) /* Knights Mill */
 
-/* Family 5 */
-#define INTEL_FAM5_QUARK_X1000		0x09 /* Quark X1000 SoC */
-#define INTEL_QUARK_X1000		IFM(5, 0x09) /* Quark X1000 SoC */
+/* Notational marker denoting the last Family 6 model */
+#define INTEL_FAM6_LAST			IFM(6, 0xFF)
+
+/* Family 15 - NetBurst */
+#define INTEL_P4_WILLAMETTE		IFM(15, 0x01) /* Also Xeon Foster */
+#define INTEL_P4_PRESCOTT		IFM(15, 0x03)
+#define INTEL_P4_PRESCOTT_2M		IFM(15, 0x04)
+#define INTEL_P4_CEDARMILL		IFM(15, 0x06) /* Also Xeon Dempsey */
+
+/*
+ * Intel CPU core types
+ *
+ * CPUID.1AH.EAX[31:0] uniquely identifies the microarchitecture
+ * of the core. Bits 31-24 indicates its core type (Core or Atom)
+ * and Bits [23:0] indicates the native model ID of the core.
+ * Core type and native model ID are defined in below enumerations.
+ */
+enum intel_cpu_type {
+	INTEL_CPU_TYPE_UNKNOWN,
+	INTEL_CPU_TYPE_ATOM = 0x20,
+	INTEL_CPU_TYPE_CORE = 0x40,
+};
+
+enum intel_native_id {
+	INTEL_ATOM_CMT_NATIVE_ID = 0x2,  /* Crestmont */
+	INTEL_ATOM_SKT_NATIVE_ID = 0x3,  /* Skymont */
+};
 
 #endif /* _ASM_X86_INTEL_FAMILY_H */
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 23:00:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 23:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174476.1499422 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOky4-0002wO-0s; Thu, 27 Nov 2025 23:00:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174476.1499422; Thu, 27 Nov 2025 23:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOky3-0002vu-UM; Thu, 27 Nov 2025 23:00:03 +0000
Received: by outflank-mailman (input) for mailman id 1174476;
 Thu, 27 Nov 2025 23:00:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOky2-0002WY-9R
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 23:00:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOky1-00BNom-3C
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOky1-000PA7-2q
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=wTj7CbASTqgjw911s3aNFkwD2vuLWlWU4ac3d2/p6MI=; b=vMi4MotBZCqLyKBbWDXfAUTmPb
	GIfeZLqvH6Gba3beRoA+I0C3kf39YFkmI8uCL1OEDl7JVaDRsPz7DfqpYOK2E2FyfbLckWXqY6Mpw
	TpVZtRD1L5PjZ9dlTVsGgkd2iXADkMrBrxkdRdkFV4UvU+FytUr73XeCiv55TCwImcl8=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/amd: Stop updating the Zenbleed mitigation dynamically
Message-Id: <E1vOky1-000PA7-2q@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 23:00:01 +0000

commit 5cd1ac15756ed7d9175685a3d16fc23fc86b3db4
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 17:09:48 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/amd: Stop updating the Zenbleed mitigation dynamically
    
    This was potentially helpful when the chickenbit was the only mitigation and
    microcode had not been released, but that was two years ago.
    
    Zenbleed microcode has been avaialble since December 2023, and the subsequent
    Entrysign signature vulnerability means that firmware updates block OS-loading
    and more OS-loadable microcode will be produced for Zen2.
    
    i.e. the Zenbleed fix is not going to appear at runtime these days.
    
    No practical change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c               | 2 +-
 xen/arch/x86/cpu/microcode/amd.c     | 2 --
 xen/arch/x86/include/asm/processor.h | 2 --
 3 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 9b02e1ba67..f7c23c3291 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -979,7 +979,7 @@ void __init detect_zen2_null_seg_behaviour(void)
 
 }
 
-void amd_check_zenbleed(void)
+static void amd_check_zenbleed(void)
 {
 	const struct cpu_signature *sig = &this_cpu(cpu_sig);
 	unsigned int good_rev;
diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 4a7573c885..e7ae1e8023 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -380,8 +380,6 @@ static int cf_check apply_microcode(const struct microcode_patch *patch,
            "microcode: CPU%u updated from revision %#x to %#x, date = %04x-%02x-%02x\n",
            cpu, old_rev, rev, patch->year, patch->month, patch->day);
 
-    amd_check_zenbleed();
-
     return 0;
 }
 
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 1342241742..2e087c6257 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -435,8 +435,6 @@ enum ap_boot_method {
 };
 extern enum ap_boot_method ap_boot_method;
 
-void amd_check_zenbleed(void);
-
 #endif /* !__ASSEMBLY__ */
 
 #endif /* __ASM_X86_PROCESSOR_H */
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 23:00:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 23:00:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174477.1499425 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOkyE-0003J6-1t; Thu, 27 Nov 2025 23:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174477.1499425; Thu, 27 Nov 2025 23:00: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-changelog-bounces@lists.xenproject.org>)
	id 1vOkyD-0003Iz-Vi; Thu, 27 Nov 2025 23:00:13 +0000
Received: by outflank-mailman (input) for mailman id 1174477;
 Thu, 27 Nov 2025 23:00:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOkyC-0003Ih-47
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 23:00:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyC-00BNpB-0J
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyC-000PBe-09
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=ZNh4Amf65nP+G5mqzvwqymF57VS6elK0+2Gj7JyuEsY=; b=f1VRqiMH83D2VzDOFjafU8gLhx
	YqsrO/S+JGSxTIJKZvVLcnSMzZJt1lyQkWa2tSLyNvFfMm0peloAy6QYdq+YFRW9ce0dj28Fhq1bU
	//vyNF1qF5z+FCi1yH/G4lOjyifcqQF92KmRQ7CEuztKsrRP9K0JdP2TfJaxNA5oV+ys=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/cpu: Sort headers
Message-Id: <E1vOkyC-000PBe-09@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 23:00:12 +0000

commit baa93d38d1300c5c86a36e6bdbff9fe30a7112cb
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 12:48:41 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/cpu: Sort headers
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c     | 15 ++++++++-------
 xen/arch/x86/cpu/centaur.c | 10 ++++++----
 xen/arch/x86/cpu/hygon.c   |  1 +
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index f7c23c3291..0966d3b967 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1,21 +1,22 @@
+#include <xen/bitops.h>
 #include <xen/cpu.h>
 #include <xen/init.h>
-#include <xen/bitops.h>
 #include <xen/mm.h>
 #include <xen/param.h>
-#include <xen/smp.h>
-#include <xen/softirq.h>
 #include <xen/pci.h>
 #include <xen/sched.h>
+#include <xen/smp.h>
+#include <xen/softirq.h>
 #include <xen/warning.h>
+
+#include <asm/acpi.h>
+#include <asm/amd.h>
+#include <asm/apic.h>
 #include <asm/io.h>
+#include <asm/microcode.h>
 #include <asm/msr.h>
 #include <asm/processor.h>
-#include <asm/amd.h>
 #include <asm/spec_ctrl.h>
-#include <asm/acpi.h>
-#include <asm/apic.h>
-#include <asm/microcode.h>
 
 #include "cpu.h"
 
diff --git a/xen/arch/x86/cpu/centaur.c b/xen/arch/x86/cpu/centaur.c
index 750168d1e8..d2e7c8ec99 100644
--- a/xen/arch/x86/cpu/centaur.c
+++ b/xen/arch/x86/cpu/centaur.c
@@ -1,9 +1,11 @@
-#include <xen/lib.h>
-#include <xen/init.h>
 #include <xen/bitops.h>
-#include <asm/processor.h>
-#include <asm/msr.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+
 #include <asm/e820.h>
+#include <asm/msr.h>
+#include <asm/processor.h>
+
 #include "cpu.h"
 
 #define ACE_PRESENT	(1 << 6)
diff --git a/xen/arch/x86/cpu/hygon.c b/xen/arch/x86/cpu/hygon.c
index f7508cc8fc..68eee0e85f 100644
--- a/xen/arch/x86/cpu/hygon.c
+++ b/xen/arch/x86/cpu/hygon.c
@@ -1,4 +1,5 @@
 #include <xen/init.h>
+
 #include <asm/processor.h>
 #include <asm/spec_ctrl.h>
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 23:00:24 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 23:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174478.1499430 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOkyO-0003Mo-3P; Thu, 27 Nov 2025 23:00:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174478.1499430; Thu, 27 Nov 2025 23:00:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOkyO-0003Mg-0r; Thu, 27 Nov 2025 23:00:24 +0000
Received: by outflank-mailman (input) for mailman id 1174478;
 Thu, 27 Nov 2025 23:00:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOkyM-0003Ma-7Q
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 23:00:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyM-00BNpN-0e
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:22 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyM-000PCC-0U
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:22 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=btz6Is69IoGFKp785o2VgGnHnWCNbENY6sGr2cKAjbs=; b=C5RJdPW9VbpjHTcnMReBal1Ctq
	dlFFlz78wXrq/VLJS8+yO5DUfv5rhZQLrVVhBhIftsp25jD3c2+GazPQGinTFQsx/NeeywC9WLEXU
	v4CcfZPDItz3+2IgYJZmfCo5NpTUoWnVX4l3peP7KZm119aofKtQrepEqg9wmfac6YEg=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/amd: Drop vestigial PBE logic in init_amd()
Message-Id: <E1vOkyM-000PCC-0U@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 23:00:22 +0000

commit b1b35555f15d03026fbfbdd8071d95ae9a13a4d9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Nov 26 14:22:14 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/amd: Drop vestigial PBE logic in init_amd()
    
    The comment was adjusted by myself in commit 51bd4bbdfdba ("x86: drop
    X86_FEATURE_3DNOW_ALT"), on the presumption that the underlying logic existed
    for a good reason.
    
    Having done further archaeology, it turns out to be vestigial technical debt
    from the leadup to Linux 2.4 in November 2000.
    
    Prior to "Massive cleanup of CPU detection and bug handling",
    c->x86_capability was a single uint32_t containing cpuid(1).edx,
    cpuid(0x80000001).edx, or a synthesis thereof.  X86_FEATURE_AMD3D was defined
    as the top bit this single uint32_t.
    
    After "Massive cleanup of CPU detection and bug handling",
    c->x86_capability became an array with AMD's extended feature leaf split
    away from Intel's basic feature leaf.
    
    AMD doc #20734-G states that 3DNow is only enumerated in the extended
    feature leaf, and that other vendors where using this bit too.  i.e. AMD
    never produced a CPU which set bit 31 in the basic leaf, meaning that
    there's nothing to clear out in the first place.
    
    This logic looks like it was relevant in the pre-"Massive cleanup" world
    but ought to have been dropped when c->x86_capability was properly split.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 0966d3b967..e9800bd7ea 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1131,13 +1131,6 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
 		wrmsrl(MSR_K8_HWCR, value);
 	}
 
-	/*
-	 * Some AMD CPUs duplicate the 3DNow bit in base and extended CPUID
-	 * leaves.  Unfortunately, this aliases PBE on Intel CPUs. Clobber the
-	 * alias, leaving 3DNow in the extended leaf.
-	 */
-	__clear_bit(X86_FEATURE_PBE, c->x86_capability);
-	
 	if (c->x86 == 0xf && c->x86_model < 0x14
 	    && cpu_has(c, X86_FEATURE_LAHF_LM)) {
 		/*
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 23:00:34 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 23:00:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174479.1499434 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOkyY-0003P0-4w; Thu, 27 Nov 2025 23:00:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174479.1499434; Thu, 27 Nov 2025 23:00:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOkyY-0003Os-2F; Thu, 27 Nov 2025 23:00:34 +0000
Received: by outflank-mailman (input) for mailman id 1174479;
 Thu, 27 Nov 2025 23:00:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOkyW-0003Ol-Ai
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 23:00:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyW-00BNpT-0x
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:32 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyW-000PFz-0q
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:32 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=0F57N3clnq3mBc5Mm7HvqJ87+k9EyFF6WO4wtmkRezA=; b=Zp0nLtPZxnL00m3xgX70L3/nBd
	PPnwfHkXGvR+kFOpIfuqOKJ1X/GPHtl9UKdXmFWFO1fdHYqy4b9LiCddBttSxgp7FqssRacRLHzAY
	Ug8NyCEm6YCPA+x8GsqHuzS6pUZTcXwnQwYYCExRSX5RwQ2uOTOrv0idHX0DLPNWTM3g=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/amd: Drop the cpuid_mask_* command line options
Message-Id: <E1vOkyW-000PFz-0q@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 23:00:32 +0000

commit 317051c2f032f6b53d933d3345513930d8f819b6
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Nov 25 12:52:22 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:20 2025 +0000

    x86/amd: Drop the cpuid_mask_* command line options
    
    As noted in the command line documentation, these are both deprecated since
    Xen 4.7 (2016), and are not fully effective on AMD CPUs starting from 2011.
    
    Not realised at the time of writing the docs was that their use is also
    incompatible with certain errata workarounds which edit the CPUID MSRs after
    the levelling defaults are calculated.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 CHANGELOG.md                      |   4 ++
 docs/misc/xen-command-line.pandoc |  40 ---------------
 xen/arch/x86/cpu/amd.c            | 104 --------------------------------------
 xen/arch/x86/include/asm/amd.h    |  90 ---------------------------------
 4 files changed, 4 insertions(+), 234 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index adaad5ee89..3aaf598623 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ### Added
 
 ### Removed
+ - On x86:
+   - The cpuid_mask_* command line options for legacy AMD CPUs.  These were
+     deprecated in Xen 4.7 and noted not to work correctly with AMD CPUs from
+     2011 onwards.
 
 ## [4.21.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.21.0) - 2025-11-19
 
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 34004ce282..e92b6d55b5 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -587,46 +587,6 @@ applicable.  They can all be ignored.
     in its positive form to override Xen's default behaviour on these systems,
     and make the feature fully usable.
 
-### cpuid_mask_cpu
-> `= fam_0f_rev_[cdefg] | fam_10_rev_[bc] | fam_11_rev_b`
-
-> Applicability: AMD
-
-If none of the other **cpuid_mask_\*** options are given, Xen has a set of
-pre-configured masks to make the current processor appear to be
-family/revision specified.
-
-See below for general information on masking.
-
-**Warning: This option is not fully effective on Family 15h processors or
-later.**
-
-### cpuid_mask_ecx
-### cpuid_mask_edx
-### cpuid_mask_ext_ecx
-### cpuid_mask_ext_edx
-### cpuid_mask_l7s0_eax
-### cpuid_mask_l7s0_ebx
-### cpuid_mask_thermal_ecx
-### cpuid_mask_xsave_eax
-> `= <integer>`
-
-> Applicability: x86.  Default: `~0` (all bits set)
-
-The availability of these options are model specific.  Some processors don't
-support any of them, and no processor supports all of them.  Xen will ignore
-options on processors which are lacking support.
-
-These options can be used to alter the features visible via the `CPUID`
-instruction.  Settings applied here take effect globally, including for Xen
-and all guests.
-
-Note: Since Xen 4.7, it is no longer necessary to mask a host to create
-migration safety in heterogeneous scenarios.  All necessary CPUID settings
-should be provided in the VM configuration file.  Furthermore, it is
-recommended not to use this option, as doing so causes an unnecessary
-reduction of features at Xen's disposal to manage guests.
-
 ### cpuidle (x86)
 > `= <boolean>`
 
diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index e9800bd7ea..805a8189e6 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -20,32 +20,6 @@
 
 #include "cpu.h"
 
-/*
- * Pre-canned values for overriding the CPUID features 
- * and extended features masks.
- *
- * Currently supported processors:
- * 
- * "fam_0f_rev_c"
- * "fam_0f_rev_d"
- * "fam_0f_rev_e"
- * "fam_0f_rev_f"
- * "fam_0f_rev_g"
- * "fam_10_rev_b"
- * "fam_10_rev_c"
- * "fam_11_rev_b"
- */
-static char __initdata opt_famrev[14];
-string_param("cpuid_mask_cpu", opt_famrev);
-
-static unsigned int __initdata opt_cpuid_mask_l7s0_eax = ~0u;
-integer_param("cpuid_mask_l7s0_eax", opt_cpuid_mask_l7s0_eax);
-static unsigned int __initdata opt_cpuid_mask_l7s0_ebx = ~0u;
-integer_param("cpuid_mask_l7s0_ebx", opt_cpuid_mask_l7s0_ebx);
-
-static unsigned int __initdata opt_cpuid_mask_thermal_ecx = ~0u;
-integer_param("cpuid_mask_thermal_ecx", opt_cpuid_mask_thermal_ecx);
-
 /* 1 = allow, 0 = don't allow guest creation, -1 = don't allow boot */
 int8_t __read_mostly opt_allow_unsafe;
 boolean_param("allow_unsafe", opt_allow_unsafe);
@@ -114,51 +88,6 @@ static void wrmsr_amd(unsigned int msr, uint64_t val)
 		     "d" (val >> 32), "D" (0x9c5a203a));
 }
 
-static const struct cpuidmask {
-	uint16_t fam;
-	char rev[2];
-	unsigned int ecx, edx, ext_ecx, ext_edx;
-} pre_canned[] __initconst = {
-#define CAN(fam, id, rev) { \
-		fam, #rev, \
-		AMD_FEATURES_##id##_REV_##rev##_ECX, \
-		AMD_FEATURES_##id##_REV_##rev##_EDX, \
-		AMD_EXTFEATURES_##id##_REV_##rev##_ECX, \
-		AMD_EXTFEATURES_##id##_REV_##rev##_EDX \
-	}
-#define CAN_FAM(fam, rev) CAN(0x##fam, FAM##fam##h, rev)
-#define CAN_K8(rev)       CAN(0x0f,    K8,          rev)
-	CAN_FAM(11, B),
-	CAN_FAM(10, C),
-	CAN_FAM(10, B),
-	CAN_K8(G),
-	CAN_K8(F),
-	CAN_K8(E),
-	CAN_K8(D),
-	CAN_K8(C)
-#undef CAN
-};
-
-static const struct cpuidmask *__init noinline get_cpuidmask(const char *opt)
-{
-	unsigned long fam;
-	char rev;
-	unsigned int i;
-
-	if (strncmp(opt, "fam_", 4))
-		return NULL;
-	fam = simple_strtoul(opt + 4, &opt, 16);
-	if (strncmp(opt, "_rev_", 5) || !opt[5] || opt[6])
-		return NULL;
-	rev = toupper(opt[5]);
-
-	for (i = 0; i < ARRAY_SIZE(pre_canned); ++i)
-		if (fam == pre_canned[i].fam && rev == *pre_canned[i].rev)
-			return &pre_canned[i];
-
-	return NULL;
-}
-
 /*
  * Sets caps in expected_levelling_cap, probes for the specified mask MSR, and
  * set caps in levelling_caps if it is found.  Processors prior to Fam 10h
@@ -295,8 +224,6 @@ static const typeof(ctxt_switch_masking) __initconst_cf_clobber __used csm =
  */
 static void __init noinline amd_init_levelling(void)
 {
-	const struct cpuidmask *m = NULL;
-
 	/*
 	 * If there's support for CpuidUserDis or CPUID faulting then
 	 * we can skip levelling because CPUID accesses are trapped anyway.
@@ -318,26 +245,11 @@ static void __init noinline amd_init_levelling(void)
 
 	probe_masking_msrs();
 
-	if (*opt_famrev != '\0') {
-		m = get_cpuidmask(opt_famrev);
-
-		if (!m)
-			printk("Invalid processor string: %s\n", opt_famrev);
-	}
-
 	if ((levelling_caps & LCAP_1cd) == LCAP_1cd) {
 		uint32_t ecx, edx, tmp;
 
 		cpuid(0x00000001, &tmp, &tmp, &ecx, &edx);
 
-		if (~(opt_cpuid_mask_ecx & opt_cpuid_mask_edx)) {
-			ecx &= opt_cpuid_mask_ecx;
-			edx &= opt_cpuid_mask_edx;
-		} else if (m) {
-			ecx &= m->ecx;
-			edx &= m->edx;
-		}
-
 		/* Fast-forward bits - Must be set. */
 		if (ecx & cpufeat_mask(X86_FEATURE_XSAVE))
 			ecx |= cpufeat_mask(X86_FEATURE_OSXSAVE);
@@ -351,14 +263,6 @@ static void __init noinline amd_init_levelling(void)
 
 		cpuid(0x80000001, &tmp, &tmp, &ecx, &edx);
 
-		if (~(opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) {
-			ecx &= opt_cpuid_mask_ext_ecx;
-			edx &= opt_cpuid_mask_ext_edx;
-		} else if (m) {
-			ecx &= m->ext_ecx;
-			edx &= m->ext_edx;
-		}
-
 		/* Fast-forward bits - Must be set. */
 		edx |= cpufeat_mask(X86_FEATURE_APIC);
 
@@ -370,20 +274,12 @@ static void __init noinline amd_init_levelling(void)
 
 		cpuid(0x00000007, &eax, &ebx, &tmp, &tmp);
 
-		if (~(opt_cpuid_mask_l7s0_eax & opt_cpuid_mask_l7s0_ebx)) {
-			eax &= opt_cpuid_mask_l7s0_eax;
-			ebx &= opt_cpuid_mask_l7s0_ebx;
-		}
-
 		cpuidmask_defaults._7ab0 &= ((uint64_t)eax << 32) | ebx;
 	}
 
 	if ((levelling_caps & LCAP_6c) == LCAP_6c) {
 		uint32_t ecx = cpuid_ecx(6);
 
-		if (~opt_cpuid_mask_thermal_ecx)
-			ecx &= opt_cpuid_mask_thermal_ecx;
-
 		cpuidmask_defaults._6c &= (~0ULL << 32) | ecx;
 	}
 
diff --git a/xen/arch/x86/include/asm/amd.h b/xen/arch/x86/include/asm/amd.h
index 72df42a6f6..4036dd5498 100644
--- a/xen/arch/x86/include/asm/amd.h
+++ b/xen/arch/x86/include/asm/amd.h
@@ -7,96 +7,6 @@
 
 #include <asm/cpufeature.h>
 
-/* CPUID masked for use by AMD-V Extended Migration */
-
-/* Family 0Fh, Revision C */
-#define AMD_FEATURES_K8_REV_C_ECX  0
-#define AMD_FEATURES_K8_REV_C_EDX (					     \
-	cpufeat_mask(X86_FEATURE_FPU)   | cpufeat_mask(X86_FEATURE_VME)    | \
-	cpufeat_mask(X86_FEATURE_DE)    | cpufeat_mask(X86_FEATURE_PSE)    | \
-	cpufeat_mask(X86_FEATURE_TSC)   | cpufeat_mask(X86_FEATURE_MSR)    | \
-	cpufeat_mask(X86_FEATURE_PAE)   | cpufeat_mask(X86_FEATURE_MCE)    | \
-	cpufeat_mask(X86_FEATURE_CX8)   | cpufeat_mask(X86_FEATURE_APIC)   | \
-	cpufeat_mask(X86_FEATURE_SEP)   | cpufeat_mask(X86_FEATURE_MTRR)   | \
-	cpufeat_mask(X86_FEATURE_PGE)   | cpufeat_mask(X86_FEATURE_MCA)    | \
-	cpufeat_mask(X86_FEATURE_CMOV)  | cpufeat_mask(X86_FEATURE_PAT)    | \
-	cpufeat_mask(X86_FEATURE_PSE36) | cpufeat_mask(X86_FEATURE_CLFLUSH)| \
-	cpufeat_mask(X86_FEATURE_MMX)   | cpufeat_mask(X86_FEATURE_FXSR)   | \
-	cpufeat_mask(X86_FEATURE_SSE)   | cpufeat_mask(X86_FEATURE_SSE2))
-#define AMD_EXTFEATURES_K8_REV_C_ECX  0
-#define AMD_EXTFEATURES_K8_REV_C_EDX  (					       \
-	cpufeat_mask(X86_FEATURE_FPU)	   | cpufeat_mask(X86_FEATURE_VME)   | \
-	cpufeat_mask(X86_FEATURE_DE)	   | cpufeat_mask(X86_FEATURE_PSE)   | \
-	cpufeat_mask(X86_FEATURE_TSC)	   | cpufeat_mask(X86_FEATURE_MSR)   | \
-	cpufeat_mask(X86_FEATURE_PAE)	   | cpufeat_mask(X86_FEATURE_MCE)   | \
-	cpufeat_mask(X86_FEATURE_CX8)	   | cpufeat_mask(X86_FEATURE_APIC)  | \
-	cpufeat_mask(X86_FEATURE_SYSCALL)  | cpufeat_mask(X86_FEATURE_MTRR)  | \
-	cpufeat_mask(X86_FEATURE_PGE)	   | cpufeat_mask(X86_FEATURE_MCA)   | \
-	cpufeat_mask(X86_FEATURE_CMOV)	   | cpufeat_mask(X86_FEATURE_PAT)   | \
-	cpufeat_mask(X86_FEATURE_PSE36)	   | cpufeat_mask(X86_FEATURE_NX)    | \
-	cpufeat_mask(X86_FEATURE_MMXEXT)   | cpufeat_mask(X86_FEATURE_MMX)   | \
-	cpufeat_mask(X86_FEATURE_FXSR)	   | cpufeat_mask(X86_FEATURE_LM)    | \
-	cpufeat_mask(X86_FEATURE_3DNOWEXT) | cpufeat_mask(X86_FEATURE_3DNOW))
-
-/* Family 0Fh, Revision D */
-#define AMD_FEATURES_K8_REV_D_ECX         AMD_FEATURES_K8_REV_C_ECX
-#define AMD_FEATURES_K8_REV_D_EDX         AMD_FEATURES_K8_REV_C_EDX
-#define AMD_EXTFEATURES_K8_REV_D_ECX     (AMD_EXTFEATURES_K8_REV_C_ECX |\
-	cpufeat_mask(X86_FEATURE_LAHF_LM))
-#define AMD_EXTFEATURES_K8_REV_D_EDX     (AMD_EXTFEATURES_K8_REV_C_EDX |\
-	cpufeat_mask(X86_FEATURE_FFXSR))
-
-/* Family 0Fh, Revision E */
-#define AMD_FEATURES_K8_REV_E_ECX        (AMD_FEATURES_K8_REV_D_ECX |	\
-	cpufeat_mask(X86_FEATURE_SSE3))
-#define AMD_FEATURES_K8_REV_E_EDX        (AMD_FEATURES_K8_REV_D_EDX | 	\
-	cpufeat_mask(X86_FEATURE_HTT))
-#define AMD_EXTFEATURES_K8_REV_E_ECX     (AMD_EXTFEATURES_K8_REV_D_ECX |\
-	cpufeat_mask(X86_FEATURE_CMP_LEGACY))
-#define AMD_EXTFEATURES_K8_REV_E_EDX      AMD_EXTFEATURES_K8_REV_D_EDX
-
-/* Family 0Fh, Revision F */
-#define AMD_FEATURES_K8_REV_F_ECX        (AMD_FEATURES_K8_REV_E_ECX | 	\
-	cpufeat_mask(X86_FEATURE_CX16))
-#define AMD_FEATURES_K8_REV_F_EDX         AMD_FEATURES_K8_REV_E_EDX
-#define AMD_EXTFEATURES_K8_REV_F_ECX     (AMD_EXTFEATURES_K8_REV_E_ECX |\
-	cpufeat_mask(X86_FEATURE_SVM) | cpufeat_mask(X86_FEATURE_EXTAPIC) | \
-	cpufeat_mask(X86_FEATURE_CR8_LEGACY))
-#define AMD_EXTFEATURES_K8_REV_F_EDX     (AMD_EXTFEATURES_K8_REV_E_EDX |\
-	cpufeat_mask(X86_FEATURE_RDTSCP))
-
-/* Family 0Fh, Revision G */
-#define AMD_FEATURES_K8_REV_G_ECX         AMD_FEATURES_K8_REV_F_ECX
-#define AMD_FEATURES_K8_REV_G_EDX         AMD_FEATURES_K8_REV_F_EDX
-#define AMD_EXTFEATURES_K8_REV_G_ECX     (AMD_EXTFEATURES_K8_REV_F_ECX |\
-	cpufeat_mask(X86_FEATURE_3DNOWPREFETCH))
-#define AMD_EXTFEATURES_K8_REV_G_EDX      AMD_EXTFEATURES_K8_REV_F_EDX
-
-/* Family 10h, Revision B */
-#define AMD_FEATURES_FAM10h_REV_B_ECX    (AMD_FEATURES_K8_REV_F_ECX | 	\
-	cpufeat_mask(X86_FEATURE_POPCNT) | cpufeat_mask(X86_FEATURE_MONITOR))
-#define AMD_FEATURES_FAM10h_REV_B_EDX     AMD_FEATURES_K8_REV_F_EDX
-#define AMD_EXTFEATURES_FAM10h_REV_B_ECX (AMD_EXTFEATURES_K8_REV_F_ECX |\
-	cpufeat_mask(X86_FEATURE_ABM) | cpufeat_mask(X86_FEATURE_SSE4A) | \
-	cpufeat_mask(X86_FEATURE_MISALIGNSSE) | cpufeat_mask(X86_FEATURE_OSVW) |\
-	cpufeat_mask(X86_FEATURE_IBS))
-#define AMD_EXTFEATURES_FAM10h_REV_B_EDX (AMD_EXTFEATURES_K8_REV_F_EDX |\
-	cpufeat_mask(X86_FEATURE_PAGE1GB))
-
-/* Family 10h, Revision C */
-#define AMD_FEATURES_FAM10h_REV_C_ECX     AMD_FEATURES_FAM10h_REV_B_ECX
-#define AMD_FEATURES_FAM10h_REV_C_EDX     AMD_FEATURES_FAM10h_REV_B_EDX
-#define AMD_EXTFEATURES_FAM10h_REV_C_ECX (AMD_EXTFEATURES_FAM10h_REV_B_ECX |\
-	cpufeat_mask(X86_FEATURE_SKINIT) | cpufeat_mask(X86_FEATURE_WDT))
-#define AMD_EXTFEATURES_FAM10h_REV_C_EDX  AMD_EXTFEATURES_FAM10h_REV_B_EDX
-
-/* Family 11h, Revision B */
-#define AMD_FEATURES_FAM11h_REV_B_ECX     AMD_FEATURES_K8_REV_G_ECX
-#define AMD_FEATURES_FAM11h_REV_B_EDX     AMD_FEATURES_K8_REV_G_EDX
-#define AMD_EXTFEATURES_FAM11h_REV_B_ECX (AMD_EXTFEATURES_K8_REV_G_ECX |\
-	cpufeat_mask(X86_FEATURE_SKINIT))
-#define AMD_EXTFEATURES_FAM11h_REV_B_EDX  AMD_EXTFEATURES_K8_REV_G_EDX
-
 /* AMD errata checking
  *
  * Errata are defined using the AMD_LEGACY_ERRATUM() or AMD_OSVW_ERRATUM()
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Thu Nov 27 23:00:44 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Nov 2025 23:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174480.1499437 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOkyi-0003RJ-6K; Thu, 27 Nov 2025 23:00:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174480.1499437; Thu, 27 Nov 2025 23:00: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-changelog-bounces@lists.xenproject.org>)
	id 1vOkyi-0003RB-3e; Thu, 27 Nov 2025 23:00:44 +0000
Received: by outflank-mailman (input) for mailman id 1174480;
 Thu, 27 Nov 2025 23:00:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOkyg-0003Qy-DD
 for xen-changelog@lists.xenproject.org; Thu, 27 Nov 2025 23:00:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyg-00BNpX-1E
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:42 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOkyg-000PIe-18
 for xen-changelog@lists.xenproject.org;
 Thu, 27 Nov 2025 23:00:42 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=xKeVoQvGZzU55oRIlGMNS8XH3fCZNL7ACDyLoNwaX0w=; b=yQCkQidZVIKhuIbcNAwf9Rb0RQ
	4+2LXJx9mLKLlZDcNkJSyOKGegUpnxQIyDkFsWQUKS2dZJgwZYK48kXBB8DBj6CozSLVgtAOxM4yW
	OZkm2FW6ARap2BnYyvZjfH+yPzh/IDn2Np7jgggKQMADjzpoJ10aCW7zUKpbALw9DNxA=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] x86/intel: Resync intel-family.h
Message-Id: <E1vOkyg-000PIe-18@xenbits.xenproject.org>
Date: Thu, 27 Nov 2025 23:00:42 +0000

commit 117a46287427db2a6f5fe219eb2031d7ca39b603
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Nov 24 15:01:04 2025 +0000
Commit:     Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Nov 27 18:22:52 2025 +0000

    x86/intel: Resync intel-family.h
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/include/asm/intel-family.h | 68 +++++++++++++++++++++++++++------
 1 file changed, 57 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/include/asm/intel-family.h b/xen/arch/x86/include/asm/intel-family.h
index d8c0bcc406..cc3fb4cc47 100644
--- a/xen/arch/x86/include/asm/intel-family.h
+++ b/xen/arch/x86/include/asm/intel-family.h
@@ -1,8 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Snapshot from Linux:
- *   db4001f9cc32e3ef105a4e4f492d7d813b28292a
- *   x86/cpu/vfm: Delete all the *_FAM6_ CPU #defines
+ *   89216c9051ef6635f1514f8e0d2f9cd63b37a3b6
+ *   x86/cpu: Add/fix core comments for {Panther,Nova} Lake
  */
 #ifndef _ASM_X86_INTEL_FAMILY_H
 #define _ASM_X86_INTEL_FAMILY_H
@@ -50,7 +50,18 @@
 /* Wildcard match so X86_MATCH_VFM(ANY) works */
 #define INTEL_ANY			IFM(X86_FAMILY_ANY, X86_MODEL_ANY)
 
+/* Family 5 */
+#define INTEL_FAM5_START		IFM(5, 0x00) /* Notational marker, also P5 A-step */
+#define INTEL_PENTIUM_75		IFM(5, 0x02) /* P54C */
+#define INTEL_PENTIUM_MMX		IFM(5, 0x04) /* P55C */
+#define INTEL_QUARK_X1000		IFM(5, 0x09) /* Quark X1000 SoC */
+
+/* Family 6, 18, 19 */
 #define INTEL_PENTIUM_PRO		IFM(6, 0x01)
+#define INTEL_PENTIUM_II_KLAMATH	IFM(6, 0x03)
+#define INTEL_PENTIUM_III_DESCHUTES	IFM(6, 0x05)
+#define INTEL_PENTIUM_III_TUALATIN	IFM(6, 0x0B)
+#define INTEL_PENTIUM_M_DOTHAN		IFM(6, 0x0D)
 
 #define INTEL_CORE_YONAH		IFM(6, 0x0E)
 
@@ -115,11 +126,15 @@
 
 #define INTEL_SAPPHIRERAPIDS_X		IFM(6, 0x8F) /* Golden Cove */
 
-#define INTEL_EMERALDRAPIDS_X		IFM(6, 0xCF)
+#define INTEL_EMERALDRAPIDS_X		IFM(6, 0xCF) /* Raptor Cove */
 
-#define INTEL_GRANITERAPIDS_X		IFM(6, 0xAD)
+#define INTEL_GRANITERAPIDS_X		IFM(6, 0xAD) /* Redwood Cove */
 #define INTEL_GRANITERAPIDS_D		IFM(6, 0xAE)
 
+#define INTEL_DIAMONDRAPIDS_X		IFM(19, 0x01) /* Panther Cove */
+
+#define INTEL_BARTLETTLAKE		IFM(6, 0xD7) /* Raptor Cove */
+
 /* "Hybrid" Processors (P-Core/E-Core) */
 
 #define INTEL_LAKEFIELD			IFM(6, 0x8A) /* Sunny Cove / Tremont */
@@ -131,14 +146,21 @@
 #define INTEL_RAPTORLAKE_P		IFM(6, 0xBA)
 #define INTEL_RAPTORLAKE_S		IFM(6, 0xBF)
 
-#define INTEL_METEORLAKE		IFM(6, 0xAC)
+#define INTEL_METEORLAKE		IFM(6, 0xAC) /* Redwood Cove / Crestmont */
 #define INTEL_METEORLAKE_L		IFM(6, 0xAA)
 
-#define INTEL_ARROWLAKE_H		IFM(6, 0xC5)
+#define INTEL_ARROWLAKE_H		IFM(6, 0xC5) /* Lion Cove / Skymont */
 #define INTEL_ARROWLAKE			IFM(6, 0xC6)
 #define INTEL_ARROWLAKE_U		IFM(6, 0xB5)
 
-#define INTEL_LUNARLAKE_M		IFM(6, 0xBD)
+#define INTEL_LUNARLAKE_M		IFM(6, 0xBD) /* Lion Cove / Skymont */
+
+#define INTEL_PANTHERLAKE_L		IFM(6, 0xCC) /* Cougar Cove / Darkmont */
+
+#define INTEL_WILDCATLAKE_L		IFM(6, 0xD5)
+
+#define INTEL_NOVALAKE			IFM(18, 0x01) /* Coyote Cove / Arctic Wolf */
+#define INTEL_NOVALAKE_L		IFM(18, 0x03) /* Coyote Cove / Arctic Wolf */
 
 /* "Small Core" Processors (Atom/E-Core) */
 
@@ -152,9 +174,9 @@
 #define INTEL_ATOM_SILVERMONT		IFM(6, 0x37) /* Bay Trail, Valleyview */
 #define INTEL_ATOM_SILVERMONT_D		IFM(6, 0x4D) /* Avaton, Rangely */
 #define INTEL_ATOM_SILVERMONT_MID	IFM(6, 0x4A) /* Merriefield */
+#define INTEL_ATOM_SILVERMONT_MID2	IFM(6, 0x5A) /* Anniedale */
 
 #define INTEL_ATOM_AIRMONT		IFM(6, 0x4C) /* Cherry Trail, Braswell */
-#define INTEL_ATOM_AIRMONT_MID		IFM(6, 0x5A) /* Moorefield */
 #define INTEL_ATOM_AIRMONT_NP		IFM(6, 0x75) /* Lightning Mountain */
 
 #define INTEL_ATOM_GOLDMONT		IFM(6, 0x5C) /* Apollo Lake */
@@ -179,8 +201,32 @@
 #define INTEL_XEON_PHI_KNL		IFM(6, 0x57) /* Knights Landing */
 #define INTEL_XEON_PHI_KNM		IFM(6, 0x85) /* Knights Mill */
 
-/* Family 5 */
-#define INTEL_FAM5_QUARK_X1000		0x09 /* Quark X1000 SoC */
-#define INTEL_QUARK_X1000		IFM(5, 0x09) /* Quark X1000 SoC */
+/* Notational marker denoting the last Family 6 model */
+#define INTEL_FAM6_LAST			IFM(6, 0xFF)
+
+/* Family 15 - NetBurst */
+#define INTEL_P4_WILLAMETTE		IFM(15, 0x01) /* Also Xeon Foster */
+#define INTEL_P4_PRESCOTT		IFM(15, 0x03)
+#define INTEL_P4_PRESCOTT_2M		IFM(15, 0x04)
+#define INTEL_P4_CEDARMILL		IFM(15, 0x06) /* Also Xeon Dempsey */
+
+/*
+ * Intel CPU core types
+ *
+ * CPUID.1AH.EAX[31:0] uniquely identifies the microarchitecture
+ * of the core. Bits 31-24 indicates its core type (Core or Atom)
+ * and Bits [23:0] indicates the native model ID of the core.
+ * Core type and native model ID are defined in below enumerations.
+ */
+enum intel_cpu_type {
+	INTEL_CPU_TYPE_UNKNOWN,
+	INTEL_CPU_TYPE_ATOM = 0x20,
+	INTEL_CPU_TYPE_CORE = 0x40,
+};
+
+enum intel_native_id {
+	INTEL_ATOM_CMT_NATIVE_ID = 0x2,  /* Crestmont */
+	INTEL_ATOM_SKT_NATIVE_ID = 0x3,  /* Skymont */
+};
 
 #endif /* _ASM_X86_INTEL_FAMILY_H */
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Fri Nov 28 10:55:08 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Nov 2025 10:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174721.1499662 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOw7z-0002HP-Nw; Fri, 28 Nov 2025 10:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174721.1499662; Fri, 28 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vOw7z-0002HH-LL; Fri, 28 Nov 2025 10:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1174721;
 Fri, 28 Nov 2025 10:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOw7y-0002HB-D5
 for xen-changelog@lists.xenproject.org; Fri, 28 Nov 2025 10:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOw7y-00CpZt-0F
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 10:55:02 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOw7y-0073sj-03
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 10:55:02 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=9yShuOQ6G14Yv3igUJdqdGJtz68J/g2269OrQA2DFlE=; b=YYq3n/AOPhc9Q6oznz79ENjHgF
	6tXKZ7O68lSRgIK0OiAcqueNrdTjsKhqvsxjSLYQM0/BkVF9U6h7WpjUA/XcfqDd+mYeyHn1JH/6p
	iNw++VSqbg4n28pN+yzpD4VmayxrP2wmAZ1emlZ/VFds7kdaVsnySubemBPkeH19CHSI=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/dom0less: move make_chosen_node() to common code
Message-Id: <E1vOw7y-0073sj-03@xenbits.xenproject.org>
Date: Fri, 28 Nov 2025 10:55:02 +0000

commit 06cb86d37454e8c3b576b68c102ef6215301f83a
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Thu Nov 27 17:26:15 2025 +0100
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Fri Nov 28 10:26:00 2025 +0100

    xen/dom0less: move make_chosen_node() to common code
    
    The current implementation of make_chosen_node() does not contain any
    architecture-specific logic. Therefore, move it from arch-specific
    files to common code.
    
    At this stage, there is no need to introduce an arch_make_chosen_node(),
    as no architecture-specific customization is required.
    
    This change avoids duplication and simplifies future maintenance for
    architectures like RISC-V and ARM.
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
    Acked-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c           | 46 -----------------------------------
 xen/common/device-tree/domain-build.c | 46 +++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index fb8fbb1650..6d1c9583b1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1510,52 +1510,6 @@ int __init make_timer_node(const struct kernel_info *kinfo)
     return res;
 }
 
-/*
- * This function is used as part of the device tree generation for Dom0
- * on ACPI systems, and DomUs started directly from Xen based on device
- * tree information.
- */
-int __init make_chosen_node(const struct kernel_info *kinfo)
-{
-    int res;
-    const char *bootargs = NULL;
-    const struct boot_module *initrd = kinfo->bd.initrd;
-    void *fdt = kinfo->fdt;
-
-    dt_dprintk("Create chosen node\n");
-    res = fdt_begin_node(fdt, "chosen");
-    if ( res )
-        return res;
-
-    if ( kinfo->bd.cmdline && kinfo->bd.cmdline[0] )
-    {
-        bootargs = &kinfo->bd.cmdline[0];
-        res = fdt_property(fdt, "bootargs", bootargs, strlen(bootargs) + 1);
-        if ( res )
-           return res;
-    }
-
-    /*
-     * If the bootloader provides an initrd, we must create a placeholder
-     * for the initrd properties. The values will be replaced later.
-     */
-    if ( initrd && initrd->size )
-    {
-        u64 a = 0;
-        res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
-        if ( res )
-            return res;
-
-        res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
-        if ( res )
-            return res;
-    }
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
 static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                               struct dt_device_node *node,
                               p2m_type_t p2mt)
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index 95b383e00f..774790aab3 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -405,6 +405,52 @@ void __init initrd_load(struct kernel_info *kinfo,
     iounmap(initrd);
 }
 
+/*
+ * This function is used as part of the device tree generation for Dom0
+ * on ACPI systems (on platform where CONFIG_ACPI=y), and DomUs started
+ * directly from Xen based on device tree information.
+ */
+int __init make_chosen_node(const struct kernel_info *kinfo)
+{
+    int res;
+    const char *bootargs = NULL;
+    const struct boot_module *initrd = kinfo->bd.initrd;
+    void *fdt = kinfo->fdt;
+
+    dt_dprintk("Create chosen node\n");
+    res = fdt_begin_node(fdt, "chosen");
+    if ( res )
+        return res;
+
+    if ( kinfo->bd.cmdline && kinfo->bd.cmdline[0] )
+    {
+        bootargs = &kinfo->bd.cmdline[0];
+        res = fdt_property(fdt, "bootargs", bootargs, strlen(bootargs) + 1);
+        if ( res )
+           return res;
+    }
+
+    /*
+     * If the bootloader provides an initrd, we must create a placeholder
+     * for the initrd properties. The values will be replaced later.
+     */
+    if ( initrd && initrd->size )
+    {
+        u64 a = 0;
+        res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
+        if ( res )
+            return res;
+
+        res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
+        if ( res )
+            return res;
+    }
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
 /*
  * Local variables:
  * mode: C
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Fri Nov 28 10:55:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Nov 2025 10:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174723.1499669 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOw8A-0002MM-17; Fri, 28 Nov 2025 10:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174723.1499669; Fri, 28 Nov 2025 10: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-changelog-bounces@lists.xenproject.org>)
	id 1vOw89-0002Le-Te; Fri, 28 Nov 2025 10:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1174723;
 Fri, 28 Nov 2025 10:55:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOw88-0002Ij-75
 for xen-changelog@lists.xenproject.org; Fri, 28 Nov 2025 10:55:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOw88-00CpZy-0Z
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 10:55:12 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOw88-00749v-0R
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 10:55:12 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=sGN2MQk/UPOAT9f2GsJEujIytDjvzH3UGeIOlbvm5vQ=; b=F3ZYzKbz65mp2pAbGbfgeRjcWJ
	Zifhpa86PcNaYn4fUZ/b6xnTg0Pm851UZMCgJ033dkyXX8cs6S1PR2u6rTI/gkwMm/56WwOfeXYEH
	WL/wvvi15Bv4nZPf36CXzYTDYodVyYJUZbkYqRBDOlPkbBzn4ZDzypRrU2A7TU9gRNKc=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen staging] xen/dom0less: move make_memory_node() to common code
Message-Id: <E1vOw88-00749v-0R@xenbits.xenproject.org>
Date: Fri, 28 Nov 2025 10:55:12 +0000

commit 486c7f79c0032cbd210af8f3f1d204f8eabfdbde
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Thu Nov 27 17:26:16 2025 +0100
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Fri Nov 28 10:26:00 2025 +0100

    xen/dom0less: move make_memory_node() to common code
    
    make_memory_node() does not rely on any Arm-specific functionality and is
    fully reused by RISC-V, making it a good candidate to move into common code.
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
    Acked-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c           | 74 ----------------------------------
 xen/common/device-tree/domain-build.c | 75 +++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 74 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6d1c9583b1..986a456f17 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -646,80 +646,6 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
     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;
-
-    if ( mem->nr_banks == 0 )
-        return -ENOENT;
-
-    /* find the first memory range that is reserved for device (or firmware) */
-    for ( i = 0; i < mem->nr_banks &&
-                 (mem->bank[i].type != MEMBANK_DEFAULT); i++ )
-        ;
-
-    if ( i == mem->nr_banks )
-        return 0;
-
-    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);
-    }
-
-    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;
-}
-
 int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                            void *data)
 {
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index 774790aab3..6708c9dd66 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -8,6 +8,7 @@
 #include <xen/mm.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
+#include <xen/static-shmem.h>
 #include <xen/types.h>
 #include <xen/vmap.h>
 
@@ -451,6 +452,80 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     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;
+
+    if ( mem->nr_banks == 0 )
+        return -ENOENT;
+
+    /* find the first memory range that is reserved for device (or firmware) */
+    for ( i = 0; i < mem->nr_banks &&
+                 (mem->bank[i].type != MEMBANK_DEFAULT); i++ )
+        ;
+
+    if ( i == mem->nr_banks )
+        return 0;
+
+    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);
+    }
+
+    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;
+}
+
 /*
  * Local variables:
  * mode: C
--
generated by git-patchbot for /home/xen/git/xen.git#staging


From xen-changelog-bounces@lists.xenproject.org Fri Nov 28 13:55:07 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Nov 2025 13:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174883.1499814 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOywB-0008Ah-DI; Fri, 28 Nov 2025 13:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174883.1499814; Fri, 28 Nov 2025 13: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-changelog-bounces@lists.xenproject.org>)
	id 1vOywB-0008AZ-Am; Fri, 28 Nov 2025 13:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1174883;
 Fri, 28 Nov 2025 13:55:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOywA-0008AD-JH
 for xen-changelog@lists.xenproject.org; Fri, 28 Nov 2025 13:55:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOyw9-00CtBG-2S
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 13:55:01 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOyw9-00D3T4-2K
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 13:55:01 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=FfQZFZg2EW1CNTQudSEdgD93cptikmcEL/I91a5tZSc=; b=Cq54oVcUbdTMyS+PRd7HvfknRD
	7+UWyku0wZAKv4VRRnjz4efZsyhGLwi/SzX7vDh7pGJif7bUgblJca7SLK9Aqx6pMWpJw2kvnButo
	j7OYmGQyAWCrO6kbuAIsZCUinIW0CHOF8GCebLuwg7PIVq7jdYzwGaLVmsUAG7gk7TDE=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/dom0less: move make_chosen_node() to common code
Message-Id: <E1vOyw9-00D3T4-2K@xenbits.xenproject.org>
Date: Fri, 28 Nov 2025 13:55:01 +0000

commit 06cb86d37454e8c3b576b68c102ef6215301f83a
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Thu Nov 27 17:26:15 2025 +0100
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Fri Nov 28 10:26:00 2025 +0100

    xen/dom0less: move make_chosen_node() to common code
    
    The current implementation of make_chosen_node() does not contain any
    architecture-specific logic. Therefore, move it from arch-specific
    files to common code.
    
    At this stage, there is no need to introduce an arch_make_chosen_node(),
    as no architecture-specific customization is required.
    
    This change avoids duplication and simplifies future maintenance for
    architectures like RISC-V and ARM.
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
    Acked-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c           | 46 -----------------------------------
 xen/common/device-tree/domain-build.c | 46 +++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index fb8fbb1650..6d1c9583b1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1510,52 +1510,6 @@ int __init make_timer_node(const struct kernel_info *kinfo)
     return res;
 }
 
-/*
- * This function is used as part of the device tree generation for Dom0
- * on ACPI systems, and DomUs started directly from Xen based on device
- * tree information.
- */
-int __init make_chosen_node(const struct kernel_info *kinfo)
-{
-    int res;
-    const char *bootargs = NULL;
-    const struct boot_module *initrd = kinfo->bd.initrd;
-    void *fdt = kinfo->fdt;
-
-    dt_dprintk("Create chosen node\n");
-    res = fdt_begin_node(fdt, "chosen");
-    if ( res )
-        return res;
-
-    if ( kinfo->bd.cmdline && kinfo->bd.cmdline[0] )
-    {
-        bootargs = &kinfo->bd.cmdline[0];
-        res = fdt_property(fdt, "bootargs", bootargs, strlen(bootargs) + 1);
-        if ( res )
-           return res;
-    }
-
-    /*
-     * If the bootloader provides an initrd, we must create a placeholder
-     * for the initrd properties. The values will be replaced later.
-     */
-    if ( initrd && initrd->size )
-    {
-        u64 a = 0;
-        res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
-        if ( res )
-            return res;
-
-        res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
-        if ( res )
-            return res;
-    }
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
 static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                               struct dt_device_node *node,
                               p2m_type_t p2mt)
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index 95b383e00f..774790aab3 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -405,6 +405,52 @@ void __init initrd_load(struct kernel_info *kinfo,
     iounmap(initrd);
 }
 
+/*
+ * This function is used as part of the device tree generation for Dom0
+ * on ACPI systems (on platform where CONFIG_ACPI=y), and DomUs started
+ * directly from Xen based on device tree information.
+ */
+int __init make_chosen_node(const struct kernel_info *kinfo)
+{
+    int res;
+    const char *bootargs = NULL;
+    const struct boot_module *initrd = kinfo->bd.initrd;
+    void *fdt = kinfo->fdt;
+
+    dt_dprintk("Create chosen node\n");
+    res = fdt_begin_node(fdt, "chosen");
+    if ( res )
+        return res;
+
+    if ( kinfo->bd.cmdline && kinfo->bd.cmdline[0] )
+    {
+        bootargs = &kinfo->bd.cmdline[0];
+        res = fdt_property(fdt, "bootargs", bootargs, strlen(bootargs) + 1);
+        if ( res )
+           return res;
+    }
+
+    /*
+     * If the bootloader provides an initrd, we must create a placeholder
+     * for the initrd properties. The values will be replaced later.
+     */
+    if ( initrd && initrd->size )
+    {
+        u64 a = 0;
+        res = fdt_property(kinfo->fdt, "linux,initrd-start", &a, sizeof(a));
+        if ( res )
+            return res;
+
+        res = fdt_property(kinfo->fdt, "linux,initrd-end", &a, sizeof(a));
+        if ( res )
+            return res;
+    }
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
 /*
  * Local variables:
  * mode: C
--
generated by git-patchbot for /home/xen/git/xen.git#master


From xen-changelog-bounces@lists.xenproject.org Fri Nov 28 13:55:14 2025
Return-path: <xen-changelog-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Nov 2025 13:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1174884.1499818 (Exim 4.92)
	(envelope-from <xen-changelog-bounces@lists.xenproject.org>)
	id 1vOywK-0008CI-El; Fri, 28 Nov 2025 13:55:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1174884.1499818; Fri, 28 Nov 2025 13:55: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-changelog-bounces@lists.xenproject.org>)
	id 1vOywK-0008CB-C8; Fri, 28 Nov 2025 13:55:12 +0000
Received: by outflank-mailman (input) for mailman id 1174884;
 Fri, 28 Nov 2025 13:55:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <infra@xenproject.org>) id 1vOywJ-0008C1-TK
 for xen-changelog@lists.xenproject.org; Fri, 28 Nov 2025 13:55:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOywJ-00CtBK-2n
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 13:55:11 +0000
Received: from xen by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <infra@xenproject.org>) id 1vOywJ-00D3wg-2f
 for xen-changelog@lists.xenproject.org;
 Fri, 28 Nov 2025 13:55:11 +0000
X-BeenThere: xen-changelog@lists.xenproject.org
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xenproject.org>
List-Help: <mailto:xen-changelog-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-changelog-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:Message-Id:Subject:Reply-To:To:From;
	bh=chdEYB2939oMPf4A24SsWHodM2yD5AzN2KlN9E0o1vM=; b=yjpNrHZuVb1vhPbS/p+WN17HFT
	Clzbp7OkgfCAs01LRNoTjT9DQNjeYLPQZ8K8JF+6eWbnXpFmVUNiWxX0T5leJGLCiwff136HtDdnw
	BwCCGA/4my+s6LaEdwdd6cQw2zVZFhnPdASTRULuKbI+IEhY8bgLD2jRCTE+SC8Hd9Is=;
From: patchbot@xen.org
To: xen-changelog@lists.xenproject.org
Reply-To: xen-devel@lists.xenproject.org
Subject: [xen master] xen/dom0less: move make_memory_node() to common code
Message-Id: <E1vOywJ-00D3wg-2f@xenbits.xenproject.org>
Date: Fri, 28 Nov 2025 13:55:11 +0000

commit 486c7f79c0032cbd210af8f3f1d204f8eabfdbde
Author:     Oleksii Kurochko <oleksii.kurochko@gmail.com>
AuthorDate: Thu Nov 27 17:26:16 2025 +0100
Commit:     Michal Orzel <michal.orzel@amd.com>
CommitDate: Fri Nov 28 10:26:00 2025 +0100

    xen/dom0less: move make_memory_node() to common code
    
    make_memory_node() does not rely on any Arm-specific functionality and is
    fully reused by RISC-V, making it a good candidate to move into common code.
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
    Tested-by: Luca Fancellu <luca.fancellu@arm.com>
    Acked-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c           | 74 ----------------------------------
 xen/common/device-tree/domain-build.c | 75 +++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 74 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6d1c9583b1..986a456f17 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -646,80 +646,6 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
     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;
-
-    if ( mem->nr_banks == 0 )
-        return -ENOENT;
-
-    /* find the first memory range that is reserved for device (or firmware) */
-    for ( i = 0; i < mem->nr_banks &&
-                 (mem->bank[i].type != MEMBANK_DEFAULT); i++ )
-        ;
-
-    if ( i == mem->nr_banks )
-        return 0;
-
-    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);
-    }
-
-    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;
-}
-
 int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                            void *data)
 {
diff --git a/xen/common/device-tree/domain-build.c b/xen/common/device-tree/domain-build.c
index 774790aab3..6708c9dd66 100644
--- a/xen/common/device-tree/domain-build.c
+++ b/xen/common/device-tree/domain-build.c
@@ -8,6 +8,7 @@
 #include <xen/mm.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
+#include <xen/static-shmem.h>
 #include <xen/types.h>
 #include <xen/vmap.h>
 
@@ -451,6 +452,80 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     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;
+
+    if ( mem->nr_banks == 0 )
+        return -ENOENT;
+
+    /* find the first memory range that is reserved for device (or firmware) */
+    for ( i = 0; i < mem->nr_banks &&
+                 (mem->bank[i].type != MEMBANK_DEFAULT); i++ )
+        ;
+
+    if ( i == mem->nr_banks )
+        return 0;
+
+    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);
+    }
+
+    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;
+}
+
 /*
  * Local variables:
  * mode: C
--
generated by git-patchbot for /home/xen/git/xen.git#master


