summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2026-06-02 22:01:50 +0000
committerBruce Ashfield <bruce.ashfield@gmail.com>2026-06-02 22:47:19 +0000
commit688cae5f1b5efbf712e77b5521376a8053c114c5 (patch)
tree222bc16a058b2acb67a9b5d838e91872f49ff17a
parentac81697e562a7edbd54c4d19cbb46c6c18ac1bf1 (diff)
downloadmeta-virtualization-688cae5f1b5efbf712e77b5521376a8053c114c5.tar.gz
xen: update to RELEASE-4.21.1 -tip
Bumping xen to version RELEASE-4.21.1-39-g16e9e6245c, which comprises the following commits: 16e9e6245c tools/libxl: Fix libxl_nocpuid.c build with json-c ed13b64882 CI/ECLAIR: avoid intercepting intermediate linking steps 3db23dfdc6 symbols: explicitly specify source file name for symtab 7372acade2 memory: overlapping XENMAPSPACE_gmfn_range requests fd2ccd79ab x86/time: make do_settime() uses more accurate 3dccad5220 xsm/flask: Fix undefined behaviour in avc_dump_av() 1ae7e08217 EFI: adjust cfg file buffer freeing 9358a206cb xvmalloc: adjust XVFREE() ordering a8e85414e6 x86/svm: Always sync guest CR2 on VMExit 13ca96cdc9 x86/boot: Disable interrupts when establishing SSP 00496ab150 x86/cpuidle: split the max_cstate variable 032d39ff0e x86/cpu: identify uninitialized CPU data using BAD_APICID 8af05b4917 x86/amd: Mitigate AMD-SN-7052 0d8b25d1fc gnttab: split gnttab_map_frame() 43e32ae4f9 tools/xenstored: make conn_delete_all_transactions() idempotent f732e91aa8 tools/oxenstored: Reset quota when resetting permissions 17a7843054 x86/mkelf32: Actually pad load segment to 2 MiB boundary 54db249531 xen/cpu: round cpu_khz calculations 27748a7343 x86/time: use native TSC scaling factors when TSC is not scaled 2d1a11a50d x86/HPET: channel handling in hpet_broadcast_resume() 76b359a878 x86/APIC: handle overflow in TMICT calculation 9c79644d35 x86/time: do not kill calibration timer on suspend 6b8be120c8 xen/uart: set a default baudrate if non specified neither found b2352be941 xen/x86: Check supported features even for PVH dom0 8f3dcdcf9f video/vesa: harden font height parsing afb919ff6a ns16550: harden positional parsing f35f0ac0c8 ns16550: harden name/value pair parsing c9ba169b93 llc-coloring: improve checking while parsing feb99494bf EFI: avoid OOB config file reads e2981e073f x86/fpu: Initialise FTW in xstate_alloc_save_area() 761aba980a xen/uart: be more careful with changes to the PCI command register a011ca9e08 xen/uart: uniformly set ->ps_bdf_enable for all PCI serial devices 8482a1ce08 libacpi: Pass missing --dm_version to mk_dsdt b3c4a20a15 xen/uart: report an error if the device type is not supported aaa03d41be arinc653: remove idle period in default schedule 646bcc17ce arinc653: avoid array overrun d174a86aaf arinc653: overwrite entire .dom_handle[] for Dom0 slots fa82d4f5cc update Xen version to 4.21.2-pre 90b20547b7 x86/amd: Mitigate AMD-SN-7053 / FP-DSS Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-rw-r--r--recipes-extended/xen/files/0001-ARM-Drop-ThumbEE-support.patch108
-rw-r--r--recipes-extended/xen/xen_4.21.bb5
2 files changed, 2 insertions, 111 deletions
diff --git a/recipes-extended/xen/files/0001-ARM-Drop-ThumbEE-support.patch b/recipes-extended/xen/files/0001-ARM-Drop-ThumbEE-support.patch
deleted file mode 100644
index 13bdb5a6..00000000
--- a/recipes-extended/xen/files/0001-ARM-Drop-ThumbEE-support.patch
+++ /dev/null
@@ -1,108 +0,0 @@
1From 5bbe1fe413f9d6a841b0bc70db024b1398391630 Mon Sep 17 00:00:00 2001
2From: Andrew Cooper <andrew.cooper3@citrix.com>
3Date: Wed, 3 Dec 2025 17:00:04 +0000
4Subject: [PATCH] ARM: Drop ThumbEE support
5
6Hans reports that Xen no longer builds on Debian unstable/sid:
7
8 Assembler messages:
9 {standard input}:474: Error: unknown or missing system register name at operand 1 -- `msr TEECR32_EL1,x0'
10 {standard input}:480: Error: unknown or missing system register name at operand 1 -- `msr TEEHBR32_EL1,x0'
11 {standard input}:488: Error: unknown or missing system register name at operand 2 -- `mrs x0,TEECR32_EL1'
12 {standard input}:494: Error: unknown or missing system register name at operand 2 -- `mrs x0,TEEHBR32_EL1'
13 make[5]: *** [Rules.mk:249: arch/arm/domain.o] Error 1
14
15This turns out to be an intentional change in binutils. ThumbEE was dropped
16ahead of ARM v8 (i.e. AArch64).
17
18Xen supports ARM v7+virt extensions so in principle we could #ifdef
19CONFIG_ARM_32 to keep it working. However, there was apparently no use of
20ThumbEE outside of demo code, so simply drop it.
21
22On ThumbEE capable hardware, unconditionally trap ThumbEE instructions, and
23drop the context switching logic for TEE{CR,HBR}32.
24
25Upstream-Status: Backport [commit 5bbe1fe413f9d6a841b0bc70db024b1398391630]
26
27Reported-by: Hans van Kranenburg <hans@knorrie.org>
28Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
29Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
30---
31 xen/arch/arm/domain.c | 12 ------------
32 xen/arch/arm/include/asm/domain.h | 1 -
33 xen/arch/arm/include/asm/processor.h | 1 +
34 xen/arch/arm/traps.c | 4 ++--
35 4 files changed, 3 insertions(+), 15 deletions(-)
36
37diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
38index ab78444335..3e32a15cac 100644
39--- a/xen/arch/arm/domain.c
40+++ b/xen/arch/arm/domain.c
41@@ -111,12 +111,6 @@ static void ctxt_switch_from(struct vcpu *p)
42 p->arch.cntkctl = READ_SYSREG(CNTKCTL_EL1);
43 virt_timer_save(p);
44
45- if ( is_32bit_domain(p->domain) && cpu_has_thumbee )
46- {
47- p->arch.teecr = READ_SYSREG(TEECR32_EL1);
48- p->arch.teehbr = READ_SYSREG(TEEHBR32_EL1);
49- }
50-
51 #ifdef CONFIG_ARM_32
52 p->arch.joscr = READ_CP32(JOSCR);
53 p->arch.jmcr = READ_CP32(JMCR);
54@@ -244,12 +238,6 @@ static void ctxt_switch_to(struct vcpu *n)
55 WRITE_SYSREG(n->arch.tpidrro_el0, TPIDRRO_EL0);
56 WRITE_SYSREG(n->arch.tpidr_el1, TPIDR_EL1);
57
58- if ( is_32bit_domain(n->domain) && cpu_has_thumbee )
59- {
60- WRITE_SYSREG(n->arch.teecr, TEECR32_EL1);
61- WRITE_SYSREG(n->arch.teehbr, TEEHBR32_EL1);
62- }
63-
64 #ifdef CONFIG_ARM_32
65 WRITE_CP32(n->arch.joscr, JOSCR);
66 WRITE_CP32(n->arch.jmcr, JMCR);
67diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
68index af3e168374..758ad807e4 100644
69--- a/xen/arch/arm/include/asm/domain.h
70+++ b/xen/arch/arm/include/asm/domain.h
71@@ -211,7 +211,6 @@ struct arch_vcpu
72 register_t hcr_el2;
73 register_t mdcr_el2;
74
75- uint32_t teecr, teehbr; /* ThumbEE, 32-bit guests only */
76 #ifdef CONFIG_ARM_32
77 /*
78 * ARMv8 only supports a trivial implementation on Jazelle when in AArch32
79diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
80index ed56746368..1a48c9ff3b 100644
81--- a/xen/arch/arm/include/asm/processor.h
82+++ b/xen/arch/arm/include/asm/processor.h
83@@ -411,6 +411,7 @@
84
85 /* HSTR Hyp. System Trap Register */
86 #define HSTR_T(x) ((_AC(1,U)<<(x))) /* Trap Cp15 c<x> */
87+#define HSTR_TTEE (_AC(1,U)<<16) /* Trap ThumbEE */
88
89 /* HDCR Hyp. Debug Configuration Register */
90 #define HDCR_TDRA (_AC(1,U)<<11) /* Trap Debug ROM access */
91diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
92index 2bc3e1df04..040c0f2e0d 100644
93--- a/xen/arch/arm/traps.c
94+++ b/xen/arch/arm/traps.c
95@@ -158,8 +158,8 @@ void init_traps(void)
96 WRITE_SYSREG(HDCR_TDRA|HDCR_TDOSA|HDCR_TDA|HDCR_TPM|HDCR_TPMCR,
97 MDCR_EL2);
98
99- /* Trap CP15 c15 used for implementation defined registers */
100- WRITE_SYSREG(HSTR_T(15), HSTR_EL2);
101+ /* Trap CP15 c15 used for implementation defined registers, and ThumbEE. */
102+ WRITE_SYSREG(HSTR_T(15) | (cpu_has_thumbee ? HSTR_TTEE : 0), HSTR_EL2);
103
104 WRITE_SYSREG(get_default_cptr_flags(), CPTR_EL2);
105
106--
1072.43.0
108
diff --git a/recipes-extended/xen/xen_4.21.bb b/recipes-extended/xen/xen_4.21.bb
index c2f56a98..33a57fc0 100644
--- a/recipes-extended/xen/xen_4.21.bb
+++ b/recipes-extended/xen/xen_4.21.bb
@@ -1,13 +1,12 @@
1SRCREV ?= "1c72306b1f0b4dc533954f678361044f8083dccc" 1SRCREV ?= "16e9e6245c974717f3d4e34d04cbec01e5bc2709"
2 2
3XEN_REL ?= "4.21.0" 3XEN_REL ?= "4.21.1"
4XEN_BRANCH ?= "stable-4.21" 4XEN_BRANCH ?= "stable-4.21"
5 5
6SRC_URI = " \ 6SRC_URI = " \
7 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ 7 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
8 file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ 8 file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \
9 file://0001-libxl_nocpuid-fix-build-error.patch \ 9 file://0001-libxl_nocpuid-fix-build-error.patch \
10 file://0001-ARM-Drop-ThumbEE-support.patch \
11 " 10 "
12 11
13LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" 12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9"