public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/11] arm64: Support for Armv8.8 memcpy instructions in userspace
@ 2023-05-09 14:22 Kristina Martsenko
  2023-05-09 14:22 ` [PATCH v2 01/11] KVM: arm64: initialize HCRX_EL2 Kristina Martsenko
                   ` (11 more replies)
  0 siblings, 12 replies; 28+ messages in thread
From: Kristina Martsenko @ 2023-05-09 14:22 UTC (permalink / raw)
  To: linux-arm-kernel, kvmarm
  Cc: Catalin Marinas, Will Deacon, Marc Zyngier, Oliver Upton,
	James Morse, Suzuki K Poulose, Zenghui Yu, Mark Rutland,
	Mark Brown, Luis Machado, Vladimir Murzin, linux-kernel

The Armv8.8 extension adds new instructions to perform memcpy(), memset() and
memmove() operations in hardware (FEAT_MOPS). This series adds support for
using the new instructions in userspace. More information can be found in the
cover letter for v1:
  https://lore.kernel.org/linux-arm-kernel/20230216160012.272345-1-kristina.martsenko@arm.com/

Changes in v2:
 - Removed booting.rst requirement for HCRX_EL2.MCE2
 - Changed HCRX_EL2 cpucap to be STRICT_BOOT type
 - Changed HCRX_EL2.SMPME to be set for the guest and unset for the host
 - Moved HCRX_EL2 initialization into init_el2_state(), dropped ISB
 - Simplified conditional checks in mops exception handler with XOR
 - Added comments from Arm ARM into mops exception handler
 - Converted cpucaps to use the new ARM64_CPUID_FIELDS() helper
 - Added MOPS to hwcaps kselftest
 - Improved commit messages
 - Rebased onto v6.4-rc1
 - v1: https://lore.kernel.org/linux-arm-kernel/20230216160012.272345-1-kristina.martsenko@arm.com/


Kristina Martsenko (11):
  KVM: arm64: initialize HCRX_EL2
  arm64: cpufeature: detect FEAT_HCX
  KVM: arm64: switch HCRX_EL2 between host and guest
  arm64: mops: document boot requirements for MOPS
  arm64: mops: don't disable host MOPS instructions from EL2
  KVM: arm64: hide MOPS from guests
  arm64: mops: handle MOPS exceptions
  arm64: mops: handle single stepping after MOPS exception
  arm64: mops: detect and enable FEAT_MOPS
  arm64: mops: allow disabling MOPS from the kernel command line
  kselftest/arm64: add MOPS to hwcap test

 .../admin-guide/kernel-parameters.txt         |  3 +
 Documentation/arm64/booting.rst               |  6 ++
 Documentation/arm64/cpu-feature-registers.rst |  2 +
 Documentation/arm64/elf_hwcaps.rst            |  3 +
 arch/arm64/include/asm/el2_setup.h            | 18 +++---
 arch/arm64/include/asm/esr.h                  | 11 +++-
 arch/arm64/include/asm/exception.h            |  1 +
 arch/arm64/include/asm/hwcap.h                |  1 +
 arch/arm64/include/asm/kvm_arm.h              |  4 ++
 arch/arm64/include/uapi/asm/hwcap.h           |  1 +
 arch/arm64/kernel/cpufeature.c                | 23 ++++++++
 arch/arm64/kernel/cpuinfo.c                   |  1 +
 arch/arm64/kernel/entry-common.c              | 11 ++++
 arch/arm64/kernel/idreg-override.c            |  2 +
 arch/arm64/kernel/traps.c                     | 58 +++++++++++++++++++
 arch/arm64/kvm/hyp/include/hyp/switch.h       |  6 ++
 arch/arm64/kvm/sys_regs.c                     |  1 +
 arch/arm64/tools/cpucaps                      |  2 +
 tools/testing/selftests/arm64/abi/hwcap.c     | 22 +++++++
 19 files changed, 167 insertions(+), 9 deletions(-)


base-commit: ac9a78681b921877518763ba0e89202254349d1b
-- 
2.25.1


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

end of thread, other threads:[~2023-06-05 17:46 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-09 14:22 [PATCH v2 00/11] arm64: Support for Armv8.8 memcpy instructions in userspace Kristina Martsenko
2023-05-09 14:22 ` [PATCH v2 01/11] KVM: arm64: initialize HCRX_EL2 Kristina Martsenko
2023-06-02 13:49   ` Catalin Marinas
2023-06-05 15:41     ` Oliver Upton
2023-06-03  8:39   ` Marc Zyngier
2023-05-09 14:22 ` [PATCH v2 02/11] arm64: cpufeature: detect FEAT_HCX Kristina Martsenko
2023-05-09 14:22 ` [PATCH v2 03/11] KVM: arm64: switch HCRX_EL2 between host and guest Kristina Martsenko
2023-06-02 13:51   ` Catalin Marinas
2023-06-05 15:41     ` Oliver Upton
2023-06-03  8:40   ` Marc Zyngier
2023-05-09 14:22 ` [PATCH v2 04/11] arm64: mops: document boot requirements for MOPS Kristina Martsenko
2023-05-09 14:22 ` [PATCH v2 05/11] arm64: mops: don't disable host MOPS instructions from EL2 Kristina Martsenko
2023-05-09 14:22 ` [PATCH v2 06/11] KVM: arm64: hide MOPS from guests Kristina Martsenko
2023-05-25 19:26   ` Colton Lewis
2023-05-30 16:34     ` Kristina Martsenko
2023-06-03  8:42   ` Marc Zyngier
2023-06-05 15:45     ` Oliver Upton
2023-05-09 14:22 ` [PATCH v2 07/11] arm64: mops: handle MOPS exceptions Kristina Martsenko
2023-05-25 19:50   ` Colton Lewis
2023-05-30 16:36     ` Kristina Martsenko
2023-06-05 11:43   ` Shaoqin Huang
2023-06-05 12:04     ` Catalin Marinas
2023-05-09 14:22 ` [PATCH v2 08/11] arm64: mops: handle single stepping after MOPS exception Kristina Martsenko
2023-05-09 14:22 ` [PATCH v2 09/11] arm64: mops: detect and enable FEAT_MOPS Kristina Martsenko
2023-05-09 14:22 ` [PATCH v2 10/11] arm64: mops: allow disabling MOPS from the kernel command line Kristina Martsenko
2023-05-09 14:22 ` [PATCH v2 11/11] kselftest/arm64: add MOPS to hwcap test Kristina Martsenko
2023-05-12  4:02   ` Mark Brown
2023-06-05 17:46 ` [PATCH v2 00/11] arm64: Support for Armv8.8 memcpy instructions in userspace Catalin Marinas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox