xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 for-4.21 00/22] x86: FRED support
@ 2025-10-03 22:53 Andrew Cooper
  2025-10-03 22:53 ` [PATCH v3 01/22] x86/msr: Change rdmsr() to have normal API Andrew Cooper
                   ` (22 more replies)
  0 siblings, 23 replies; 40+ messages in thread
From: Andrew Cooper @ 2025-10-03 22:53 UTC (permalink / raw)
  To: Xen-devel
  Cc: Andrew Cooper, Jan Beulich, Roger Pau Monné,
	Oleksii Kurochko

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.

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2079705485

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

-- 
2.39.5



^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2025-10-17 13:25 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-03 22:53 [PATCH v3 for-4.21 00/22] x86: FRED support Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 01/22] x86/msr: Change rdmsr() to have normal API Andrew Cooper
2025-10-07 15:47   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 02/22] x86/msr: Change wrmsr() to take a single parameter Andrew Cooper
2025-10-04  0:11   ` Demi Marie Obenour
2025-10-04  0:14     ` Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 03/22] x86/fsgsbase: Split out __{rd,wr}gs_shadow() helpers Andrew Cooper
2025-10-07 15:49   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 04/22] x86/fsgsbase: Update fs/gs helpers to use wrmsrns() Andrew Cooper
2025-10-07 15:53   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 05/22] x86/fsgsbase: Improve code generation in read_registers() Andrew Cooper
2025-10-04  0:13   ` Demi Marie Obenour
2025-10-07 15:54   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 06/22] x86/boot: Use RSTORSSP to establish SSP Andrew Cooper
2025-10-07 15:57   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 07/22] x86/traps: Alter switch_stack_and_jump() for FRED mode Andrew Cooper
2025-10-07 15:58   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 08/22] x86/traps: Skip Supervisor Shadow Stack tokens in " Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 09/22] x86/traps: Make an IDT-specific #DB helper Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 10/22] x86/traps: Make an IDT-specific #PF helper Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 11/22] x86/fsgsbase: Make gskern accesses safe under FRED Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 12/22] x86/traps: Introduce FRED entrypoints Andrew Cooper
2025-10-08  8:50   ` Jan Beulich
2025-10-16 14:54   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 13/22] x86/traps: Enable FRED when requested Andrew Cooper
2025-10-08  8:54   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 14/22] x86/pv: Deduplicate is_canonical_address() in do_set_segment_base() Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 15/22] x86/entry: Alter how IRET faults are recognised Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 16/22] x86/entry: Drop the pre exception table infrastructure Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 17/22] x86/entry: Rework the comment about SYSCALL and DF Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 18/22] x86/pv: Adjust GS handling for FRED mode Andrew Cooper
2025-10-03 22:53 ` [PATCH v3 19/22] x86/pv: Guest exception handling in " Andrew Cooper
2025-10-08 12:28   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 20/22] x86/pv: ERETU error handling Andrew Cooper
2025-10-08 12:36   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 21/22] x86/pv: System call handling in FRED mode Andrew Cooper
2025-10-08 13:45   ` Jan Beulich
2025-10-03 22:53 ` [PATCH v3 22/22] x86: Clamp reserved bits in eflags more aggressively Andrew Cooper
2025-10-08 13:50   ` Jan Beulich
2025-10-17 13:24 ` [PATCH v3 for-4.21 00/22] x86: FRED support Oleksii Kurochko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).