diff options
| author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-06-02 22:01:50 +0000 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-06-02 22:47:19 +0000 |
| commit | 688cae5f1b5efbf712e77b5521376a8053c114c5 (patch) | |
| tree | 222bc16a058b2acb67a9b5d838e91872f49ff17a | |
| parent | ac81697e562a7edbd54c4d19cbb46c6c18ac1bf1 (diff) | |
| download | meta-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.patch | 108 | ||||
| -rw-r--r-- | recipes-extended/xen/xen_4.21.bb | 5 |
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 @@ | |||
| 1 | From 5bbe1fe413f9d6a841b0bc70db024b1398391630 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andrew Cooper <andrew.cooper3@citrix.com> | ||
| 3 | Date: Wed, 3 Dec 2025 17:00:04 +0000 | ||
| 4 | Subject: [PATCH] ARM: Drop ThumbEE support | ||
| 5 | |||
| 6 | Hans 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 | |||
| 15 | This turns out to be an intentional change in binutils. ThumbEE was dropped | ||
| 16 | ahead of ARM v8 (i.e. AArch64). | ||
| 17 | |||
| 18 | Xen supports ARM v7+virt extensions so in principle we could #ifdef | ||
| 19 | CONFIG_ARM_32 to keep it working. However, there was apparently no use of | ||
| 20 | ThumbEE outside of demo code, so simply drop it. | ||
| 21 | |||
| 22 | On ThumbEE capable hardware, unconditionally trap ThumbEE instructions, and | ||
| 23 | drop the context switching logic for TEE{CR,HBR}32. | ||
| 24 | |||
| 25 | Upstream-Status: Backport [commit 5bbe1fe413f9d6a841b0bc70db024b1398391630] | ||
| 26 | |||
| 27 | Reported-by: Hans van Kranenburg <hans@knorrie.org> | ||
| 28 | Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> | ||
| 29 | Reviewed-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 | |||
| 37 | diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c | ||
| 38 | index 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); | ||
| 67 | diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h | ||
| 68 | index 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 | ||
| 79 | diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h | ||
| 80 | index 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 */ | ||
| 91 | diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c | ||
| 92 | index 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 | -- | ||
| 107 | 2.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 @@ | |||
| 1 | SRCREV ?= "1c72306b1f0b4dc533954f678361044f8083dccc" | 1 | SRCREV ?= "16e9e6245c974717f3d4e34d04cbec01e5bc2709" |
| 2 | 2 | ||
| 3 | XEN_REL ?= "4.21.0" | 3 | XEN_REL ?= "4.21.1" |
| 4 | XEN_BRANCH ?= "stable-4.21" | 4 | XEN_BRANCH ?= "stable-4.21" |
| 5 | 5 | ||
| 6 | SRC_URI = " \ | 6 | SRC_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 | ||
| 13 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" | 12 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" |
