On 10/4/25 12:53 AM, Andrew Cooper wrote:
> This is the combined MSR cleanup and FRED series. Some patches of both v2's
> have already been committed.
>
> I have moved the MSR_IMM patch out. It's not strictly needed for FRED, and
> really needs to go behind Jan's patch to use mergable sections for
> altinstructions which is definitely not making 4.21 at this point.
>
> I almost got access to a piece of real hardware in time, but that fell through
> at the last minute.
>
> In terms of timing, I know we're getting very tight for 4.21, but there has
> been an awful lot of disruption with travel and holidays recently. Half the
> patches are already acked/reviewed, but can't easily go in due to logical
> dependencies (I suspect patches 15-17 could be committed right away as they're
> pretty independent.)
>
> Therefore I'd like to ask Oleksii whether the nominal release ack still
> stands.
If you're asking about patch 15-17, then it could be still merged now:
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2079705485
Btw, is it expected that some tests failed?
Thanks.
~ Oleksii
>
> Andrew Cooper (22):
> x86/msr: Change rdmsr() to have normal API
> x86/msr: Change wrmsr() to take a single parameter
> x86/fsgsbase: Split out __{rd,wr}gs_shadow() helpers
> x86/fsgsbase: Update fs/gs helpers to use wrmsrns()
> x86/fsgsbase: Improve code generation in read_registers()
> x86/boot: Use RSTORSSP to establish SSP
> x86/traps: Alter switch_stack_and_jump() for FRED mode
> x86/traps: Skip Supervisor Shadow Stack tokens in FRED mode
> x86/traps: Make an IDT-specific #DB helper
> x86/traps: Make an IDT-specific #PF helper
> x86/fsgsbase: Make gskern accesses safe under FRED
> x86/traps: Introduce FRED entrypoints
> x86/traps: Enable FRED when requested
> x86/pv: Deduplicate is_canonical_address() in do_set_segment_base()
> x86/entry: Alter how IRET faults are recognised
> x86/entry: Drop the pre exception table infrastructure
> x86/entry: Rework the comment about SYSCALL and DF
> x86/pv: Adjust GS handling for FRED mode
> x86/pv: Guest exception handling in FRED mode
> x86/pv: ERETU error handling
> x86/pv: System call handling in FRED mode
> x86: Clamp reserved bits in eflags more aggressively
>
> xen/arch/x86/acpi/cpufreq/powernow.c | 12 +-
> xen/arch/x86/boot/x86_64.S | 23 +-
> xen/arch/x86/cpu/amd.c | 8 +-
> xen/arch/x86/cpu/common.c | 20 +-
> xen/arch/x86/cpu/intel.c | 30 +-
> xen/arch/x86/domain.c | 34 +-
> xen/arch/x86/extable.c | 14 -
> xen/arch/x86/genapic/x2apic.c | 5 +-
> xen/arch/x86/hvm/domain.c | 4 +-
> xen/arch/x86/hvm/vmx/vmcs.c | 32 +-
> xen/arch/x86/hvm/vmx/vmx.c | 4 +-
> xen/arch/x86/include/asm/asm_defns.h | 76 +++-
> xen/arch/x86/include/asm/current.h | 9 +-
> xen/arch/x86/include/asm/domain.h | 2 +
> xen/arch/x86/include/asm/fsgsbase.h | 66 +--
> xen/arch/x86/include/asm/hypercall.h | 2 -
> xen/arch/x86/include/asm/msr.h | 48 ++-
> xen/arch/x86/include/asm/prot-key.h | 6 +-
> xen/arch/x86/include/asm/traps.h | 2 +
> xen/arch/x86/include/asm/uaccess.h | 2 -
> xen/arch/x86/include/asm/x86-defns.h | 7 +
> xen/arch/x86/mm.c | 12 +-
> xen/arch/x86/nmi.c | 18 +-
> xen/arch/x86/oprofile/op_model_athlon.c | 2 +-
> xen/arch/x86/pv/dom0_build.c | 2 +-
> xen/arch/x86/pv/domain.c | 22 +-
> xen/arch/x86/pv/iret.c | 8 +-
> xen/arch/x86/pv/misc-hypercalls.c | 42 +-
> xen/arch/x86/pv/traps.c | 39 ++
> xen/arch/x86/setup.c | 33 +-
> xen/arch/x86/traps-setup.c | 83 +++-
> xen/arch/x86/traps.c | 519 ++++++++++++++++++++++--
> xen/arch/x86/tsx.c | 27 +-
> xen/arch/x86/x86_64/Makefile | 1 +
> xen/arch/x86/x86_64/compat/entry.S | 3 +-
> xen/arch/x86/x86_64/entry-fred.S | 57 +++
> xen/arch/x86/x86_64/entry.S | 46 ++-
> xen/arch/x86/xen.lds.S | 5 -
> 38 files changed, 1076 insertions(+), 249 deletions(-)
> create mode 100644 xen/arch/x86/x86_64/entry-fred.S
>