mbox series

[v3,00/11] Add static DEXCR support

Message ID 20230616034846.311705-1-bgray@linux.ibm.com (mailing list archive)
Headers show
Series Add static DEXCR support | expand

Message

Benjamin Gray June 16, 2023, 3:48 a.m. UTC
v3:	* Expose (H)DEXCR in ptrace as 64 bits
	* Remove build config for DEXCR, always enable NPHIE
	* Fix up documentation to reflect this
	* Some commit message fixes

Previous versions:
v2: https://lore.kernel.org/all/20230330055040.434133-1-bgray@linux.ibm.com/
v1: https://lore.kernel.org/all/20230322054612.1340573-1-bgray@linux.ibm.com/
RFC: https://lore.kernel.org/all/20221128024458.46121-1-bgray@linux.ibm.com/

Benjamin Gray (11):
  powerpc/book3s: Add missing <linux/sched.h> include
  powerpc/ptrace: Add missing <linux/regset.h> include
  powerpc/dexcr: Add initial Dynamic Execution Control Register (DEXCR)
    support
  powerpc/dexcr: Handle hashchk exception
  powerpc/dexcr: Support userspace ROP protection
  powerpc/ptrace: Expose DEXCR and HDEXCR registers to ptrace
  powerpc/ptrace: Expose HASHKEYR register to ptrace
  Documentation: Document PowerPC kernel DEXCR interface
  selftests/powerpc: Add more utility macros
  selftests/powerpc/dexcr: Add hashst/hashchk test
  selftests/powerpc/dexcr: Add DEXCR status utility lsdexcr

 Documentation/powerpc/dexcr.rst               |  58 +++++
 Documentation/powerpc/index.rst               |   1 +
 arch/powerpc/include/asm/book3s/64/kexec.h    |   5 +
 arch/powerpc/include/asm/book3s/64/kup.h      |   1 +
 arch/powerpc/include/asm/cputable.h           |   4 +-
 arch/powerpc/include/asm/ppc-opcode.h         |   1 +
 arch/powerpc/include/asm/processor.h          |   1 +
 arch/powerpc/include/asm/reg.h                |  11 +
 arch/powerpc/include/uapi/asm/elf.h           |   2 +
 arch/powerpc/kernel/cpu_setup_power.c         |   8 +
 arch/powerpc/kernel/process.c                 |  17 ++
 arch/powerpc/kernel/prom.c                    |   1 +
 arch/powerpc/kernel/ptrace/ptrace-decl.h      |   6 +
 arch/powerpc/kernel/ptrace/ptrace-view.c      |  72 +++++-
 arch/powerpc/kernel/traps.c                   |  16 ++
 include/uapi/linux/elf.h                      |   2 +
 tools/testing/selftests/powerpc/Makefile      |   1 +
 .../selftests/powerpc/dexcr/.gitignore        |   2 +
 .../testing/selftests/powerpc/dexcr/Makefile  |   9 +
 tools/testing/selftests/powerpc/dexcr/dexcr.c | 132 ++++++++++
 tools/testing/selftests/powerpc/dexcr/dexcr.h |  49 ++++
 .../selftests/powerpc/dexcr/hashchk_test.c    | 227 ++++++++++++++++++
 .../testing/selftests/powerpc/dexcr/lsdexcr.c | 141 +++++++++++
 tools/testing/selftests/powerpc/include/reg.h |   4 +
 .../testing/selftests/powerpc/include/utils.h |  31 ++-
 .../powerpc/pmu/sampling_tests/misc.h         |   2 -
 tools/testing/selftests/powerpc/utils.c       |  24 ++
 27 files changed, 823 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/powerpc/dexcr.rst
 create mode 100644 tools/testing/selftests/powerpc/dexcr/.gitignore
 create mode 100644 tools/testing/selftests/powerpc/dexcr/Makefile
 create mode 100644 tools/testing/selftests/powerpc/dexcr/dexcr.c
 create mode 100644 tools/testing/selftests/powerpc/dexcr/dexcr.h
 create mode 100644 tools/testing/selftests/powerpc/dexcr/hashchk_test.c
 create mode 100644 tools/testing/selftests/powerpc/dexcr/lsdexcr.c

--
2.40.1

Comments

Michael Ellerman July 3, 2023, 5:26 a.m. UTC | #1
On Fri, 16 Jun 2023 13:48:35 +1000, Benjamin Gray wrote:
> v3:	* Expose (H)DEXCR in ptrace as 64 bits
> 	* Remove build config for DEXCR, always enable NPHIE
> 	* Fix up documentation to reflect this
> 	* Some commit message fixes
> 
> Previous versions:
> v2: https://lore.kernel.org/all/20230330055040.434133-1-bgray@linux.ibm.com/
> v1: https://lore.kernel.org/all/20230322054612.1340573-1-bgray@linux.ibm.com/
> RFC: https://lore.kernel.org/all/20221128024458.46121-1-bgray@linux.ibm.com/
> 
> [...]

Applied to powerpc/next.

[01/11] powerpc/book3s: Add missing <linux/sched.h> include
        https://git.kernel.org/powerpc/c/7eec97b32e0b62f54b7f6afb5df189806b1bb87b
[02/11] powerpc/ptrace: Add missing <linux/regset.h> include
        https://git.kernel.org/powerpc/c/81e30a5412e4bcdc9d338ffa0cf1f4b90bc63abc
[03/11] powerpc/dexcr: Add initial Dynamic Execution Control Register (DEXCR) support
        https://git.kernel.org/powerpc/c/0ffd60b782ed79349baf28dd3259c872f39274e9
[04/11] powerpc/dexcr: Handle hashchk exception
        https://git.kernel.org/powerpc/c/5bcba4e6c13f0c889da1f9e67ee10accd9ca4c19
[05/11] powerpc/dexcr: Support userspace ROP protection
        https://git.kernel.org/powerpc/c/be98fcf7c10dea74e9c3e2cd0018e47bdee67442
[06/11] powerpc/ptrace: Expose DEXCR and HDEXCR registers to ptrace
        https://git.kernel.org/powerpc/c/884ad5c52da253e5d38f947cd8d1d9412a47429c
[07/11] powerpc/ptrace: Expose HASHKEYR register to ptrace
        https://git.kernel.org/powerpc/c/97228ca375c78bfd960767dcd4919c981add306f
[08/11] Documentation: Document PowerPC kernel DEXCR interface
        https://git.kernel.org/powerpc/c/65d6c884bfbd38235659e6df193345e5ad874043
[09/11] selftests/powerpc: Add more utility macros
        https://git.kernel.org/powerpc/c/b9125c9aa043a7556626e1aafb3190c61c1e2b2b
[10/11] selftests/powerpc/dexcr: Add hashst/hashchk test
        https://git.kernel.org/powerpc/c/bdb07f35a52f40c461c7da06ddcbaca1950fb9e0
[11/11] selftests/powerpc/dexcr: Add DEXCR status utility lsdexcr
        https://git.kernel.org/powerpc/c/a16e472c3546ba0b8a4be265c008d02ef6aed899

cheers