All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/7] support FEAT_LSUI and apply it on futex atomic ops
@ 2025-06-17 18:36 Yeoreum Yun
  2025-06-17 18:36 ` [PATCH v3 1/7] arm64: cpufeature: add FEAT_LSUI Yeoreum Yun
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Yeoreum Yun @ 2025-06-17 18:36 UTC (permalink / raw)
  To: catalin.marinas, will, broonie, oliver.upton, ardb, frederic,
	james.morse, joey.gouly, scott
  Cc: linux-arm-kernel, linux-kernel, Yeoreum Yun

Since Armv9.6, FEAT_LSUI supplies the load/store instructions for
previleged level to access to access user memory without clearing
PSTATE.PAN bit.

This patchset support FEAT_LUSI and applies in futex atomic operation
where can replace from ldxr/stlxr pair implmentation with clearing
PSTATE.PAN bit to correspondant load/store unprevileged atomic operation
without clearing PSTATE.PAN bit.

Patch Sequences
================

Patch #1 adds cpufeature for FEAT_LUSI

Patch #2 expose FEAT_LUSI to guest

Patch #3 adds Kconfig for FEAT_LUSI

Patch #4 separtes former futex atomic-op implmentation from futex.h
to futex_ll_sc_u.h

Patch #5 implments futex atomic operation using lsui instruction.

Patch #6 introduces lsui.h to apply runtime patch to use former
implmentation when FEAT_LUSI doesn't support.

Patch #7 applies lsui.h into arch_futext_atomic_op().

Patch History
==============
from v2 to v3:
  - expose FEAT_LUSI to guest
  - add help section for LUSI Kconfig
  - https://lore.kernel.org/all/20250611151154.46362-1-yeoreum.yun@arm.com/

from v1 to v2:
  - remove empty v9.6 menu entry
  - locate HAS_LUSI in cpucaps in order
  - https://lore.kernel.org/all/20250611104916.10636-1-yeoreum.yun@arm.com/

Yeoreum Yun (7):
  arm64: cpufeature: add FEAT_LSUI
  arm64/kvm: expose FEAT_LSUI to guest
  arm64/Kconfig: add LSUI Kconfig
  arm64/futex: move futex atomic logic with clearing PAN bit
  arm64/futex: add futex atomic operation with FEAT_LSUI
  arm64/asm: introduce lsui.h
  arm64/futex: support futex with FEAT_LSUI

 arch/arm64/Kconfig                     |   9 ++
 arch/arm64/include/asm/futex.h         |  99 ++++++-------------
 arch/arm64/include/asm/futex_ll_sc_u.h | 115 +++++++++++++++++++++
 arch/arm64/include/asm/futex_lsui.h    | 132 +++++++++++++++++++++++++
 arch/arm64/include/asm/lsui.h          |  37 +++++++
 arch/arm64/kernel/cpufeature.c         |   8 ++
 arch/arm64/kvm/sys_regs.c              |   5 +-
 arch/arm64/tools/cpucaps               |   1 +
 8 files changed, 336 insertions(+), 70 deletions(-)
 create mode 100644 arch/arm64/include/asm/futex_ll_sc_u.h
 create mode 100644 arch/arm64/include/asm/futex_lsui.h
 create mode 100644 arch/arm64/include/asm/lsui.h

--
LEVI:{C3F47F37-75D8-414A-A8BA-3980EC8A46D7}



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

end of thread, other threads:[~2025-07-02 17:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-17 18:36 [PATCH v3 0/7] support FEAT_LSUI and apply it on futex atomic ops Yeoreum Yun
2025-06-17 18:36 ` [PATCH v3 1/7] arm64: cpufeature: add FEAT_LSUI Yeoreum Yun
2025-06-17 18:36 ` [PATCH v3 2/7] arm64/kvm: expose FEAT_LSUI to guest Yeoreum Yun
2025-07-02 17:17   ` Marc Zyngier
2025-06-17 18:36 ` [PATCH v3 3/7] arm64/Kconfig: add LSUI Kconfig Yeoreum Yun
2025-06-17 18:36 ` [PATCH v3 4/7] arm64/futex: move futex atomic logic with clearing PAN bit Yeoreum Yun
2025-06-17 18:36 ` [PATCH v3 5/7] arm64/futex: add futex atomic operation with FEAT_LSUI Yeoreum Yun
2025-06-17 18:36 ` [PATCH v3 6/7] arm64/asm: introduce lsui.h Yeoreum Yun
2025-06-17 18:36 ` [PATCH v3 7/7] arm64/futex: support futex with FEAT_LSUI Yeoreum Yun
2025-06-26  7:56 ` [PATCH v3 0/7] support FEAT_LSUI and apply it on futex atomic ops Yeoreum Yun

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.