Hi Andrew, On 03/12/2025 17:16, Andrew Cooper wrote:
It was reported that Xen no longer builds on Debian Trixie:Assembler messages: {standard input}:474: Error: unknown or missing system register name at operand 1 -- `msr TEECR32_EL1,x0' {standard input}:480: Error: unknown or missing system register name at operand 1 -- `msr TEEHBR32_EL1,x0' {standard input}:488: Error: unknown or missing system register name at operand 2 -- `mrs x0,TEECR32_EL1' {standard input}:494: Error: unknown or missing system register name at operand 2 -- `mrs x0,TEEHBR32_EL1' make[5]: *** [Rules.mk:249: arch/arm/domain.o] Error 1 This turns out to be an intentional change in bintuils. ThumbEE was dropped
typo: s/binuils/binutils/
from the architecture and doesn't exist in v8 (i.e. AArch64). Xen supports v7+virt extentions so in principle we could #ifdef CONFIG_ARM_32
typo: s/extentions/extensions/
to keep it working, but there was apparently no use of ThumbEE outside of demo code, so simply drop it.
I am in favor of dropping support for ThumbEE for guest. But I am not sure I understand this comment. Are you saying there are no processors supporting ThumbEE where Xen would run? Asking because below, you are removing code to context switch the ThumbEE registers. But I don't see any code that would ensure the registers are trapping (i.e. HSTR.TEE is set). So wouldn't this result to a cross-VM leak on those processors?
If we really don't want to support CPU where ThumbEE is available, then we should check that "cpu_has_thumbee" is 0.
Cheers, -- Julien Grall
