History

Merge tag 'riscv-for-linus-6.13-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-v updates from Palmer Dabbelt: - Support for pointer masking in userspace - Support for probing vector misaligned access performance - Support for qspinlock on systems with Zacas and Zabha * tag 'riscv-for-linus-6.13-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (38 commits) RISC-V: Remove unnecessary include from compat.h riscv: Fix default misaligned access trap riscv: Add qspinlock support dt-bindings: riscv: Add Ziccrse ISA extension description riscv: Add ISA extension parsing for Ziccrse asm-generic: ticket-lock: Add separate ticket-lock.h asm-generic: ticket-lock: Reuse arch_spinlock_t of qspinlock riscv: Implement xchg8/16() using Zabha riscv: Implement arch_cmpxchg128() using Zacas riscv: Improve zacas fully-ordered cmpxchg() riscv: Implement cmpxchg8/16() using Zabha dt-bindings: riscv: Add Zabha ISA extension description riscv: Implement cmpxchg32/64() using Zacas riscv: Do not fail to build on byte/halfword operations with Zawrs riscv: Move cpufeature.h macros into their own header KVM: riscv: selftests: Add Smnpm and Ssnpm to get-reg-list test RISC-V: KVM: Allow Smnpm and Ssnpm extensions for guests riscv: hwprobe: Export the Supm ISA extension riscv: selftests: Add a pointer masking test riscv: Allow ptrace control of the tagged address ABI ...

Linus Torvalds committed 1 year ago

Commit 91dbbe62 parents c946969 8d4f1e053 files · +1789 −282Browse files

Showing the changes to include/uapi (2 of 53 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/elf.h +1 −0
  2. include/uapi/linux/prctl.h +4 −1
include/uapi/linux/elf.h+1−0
@@ -451,6 +451,7 @@ typedef struct elf64_shdr { · 450 unmodified lines
451#define NT_MIPS_MSA 0x802 /* MIPS SIMD registers */451#define NT_MIPS_MSA 0x802 /* MIPS SIMD registers */
452#define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */452#define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */
453#define NT_RISCV_VECTOR 0x901 /* RISC-V vector registers */453#define NT_RISCV_VECTOR 0x901 /* RISC-V vector registers */
454#define NT_RISCV_TAGGED_ADDR_CTRL 0x902 /* RISC-V tagged address control (prctl()) */
454#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers */455#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers */
455#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and status registers */456#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and status registers */
456#define NT_LOONGARCH_LSX 0xa02 /* LoongArch Loongson SIMD Extension registers */457#define NT_LOONGARCH_LSX 0xa02 /* LoongArch Loongson SIMD Extension registers */
include/uapi/linux/prctl.h+4−1
@@ -230,7 +230,7 @@ struct prctl_mm_map { · 229 unmodified lines
230# define PR_PAC_APDBKEY (1UL << 3)230# define PR_PAC_APDBKEY (1UL << 3)
231# define PR_PAC_APGAKEY (1UL << 4)231# define PR_PAC_APGAKEY (1UL << 4)
232 232
233/* Tagged user address controls for arm64 */233/* Tagged user address controls for arm64 and RISC-V */
234#define PR_SET_TAGGED_ADDR_CTRL 55234#define PR_SET_TAGGED_ADDR_CTRL 55
235#define PR_GET_TAGGED_ADDR_CTRL 56235#define PR_GET_TAGGED_ADDR_CTRL 56
236# define PR_TAGGED_ADDR_ENABLE (1UL << 0)236# define PR_TAGGED_ADDR_ENABLE (1UL << 0)
@@ -244,6 +244,9 @@ struct prctl_mm_map { · 7 unmodified lines
244# define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT)244# define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT)
245/* Unused; kept only for source compatibility */245/* Unused; kept only for source compatibility */
246# define PR_MTE_TCF_SHIFT 1246# define PR_MTE_TCF_SHIFT 1
247/* RISC-V pointer masking tag length */
248# define PR_PMLEN_SHIFT 24
249# define PR_PMLEN_MASK (0x7fUL << PR_PMLEN_SHIFT)
247 250
248/* Control reclaim behavior when allocating memory */251/* Control reclaim behavior when allocating memory */
249#define PR_SET_IO_FLUSHER 57252#define PR_SET_IO_FLUSHER 57