linux/arch/powerpc
Benjamin Gray 884ad5c52d powerpc/ptrace: Expose DEXCR and HDEXCR registers to ptrace
The DEXCR register is of interest when ptracing processes. Currently it
is static, but eventually will be dynamically controllable by a process.
If a process can control its own, then it is useful for it to be
ptrace-able to (e.g., for checkpoint-restore functionality).

It is also relevant to core dumps (the NPHIE aspect in particular),
which use the ptrace mechanism (or is it the other way around?) to
decide what to dump. The HDEXCR is useful here too, as the NPHIE aspect
may be set in the HDEXCR without being set in the DEXCR. Although the
HDEXCR is per-cpu and we don't track it in the task struct (it's useless
in normal operation), it would be difficult to imagine why a hypervisor
would set it to different values within a guest. A hypervisor cannot
safely set NPHIE differently at least, as that would break programs.

Expose a read-only view of the userspace DEXCR and HDEXCR to ptrace.
The HDEXCR is always readonly, and is useful for diagnosing the core
dumps (as the HDEXCR may set NPHIE without the DEXCR setting it).

Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
Reviewed-by: Russell Currey <ruscur@russell.cc>
[mpe: Use lower_32_bits() rather than open coding]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230616034846.311705-7-bgray@linux.ibm.com
2023-06-19 17:36:26 +10:00
..
boot powerpc/build: Remove -pipe from compilation flags 2023-06-14 12:46:42 +10:00
configs powerpc updates for 6.4 2023-04-28 16:24:32 -07:00
crypto powerpc/crypto: Fix aes-gcm-p10 link errors 2023-05-30 15:50:32 +10:00
include powerpc/ptrace: Expose DEXCR and HDEXCR registers to ptrace 2023-06-19 17:36:26 +10:00
kernel powerpc/ptrace: Expose DEXCR and HDEXCR registers to ptrace 2023-06-19 17:36:26 +10:00
kexec powerpc/kexec_file: print error string on usable memory property update failure 2023-02-15 23:14:06 +11:00
kvm s390: 2023-05-01 12:06:20 -07:00
lib powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
math-emu powerpc/math-emu: Inhibit W=1 warnings 2022-09-08 11:11:18 +10:00
mm powerpc/32s: Fix LLVM SMP build 2023-06-14 12:46:42 +10:00
net powerpc/bpf: populate extable entries only during the last pass 2023-05-15 15:40:31 +10:00
perf powerpc/perf: Properly detect mpc7450 family 2023-03-30 23:35:43 +11:00
platforms powerpc/64s: Fix VAS mm use after free 2023-06-15 14:04:19 +10:00
purgatory powerpc/kcsan: Add exclusions from instrumentation 2023-02-10 22:19:56 +11:00
sysdev powerpc updates for 6.4 2023-04-28 16:24:32 -07:00
tools powerpc/64: Use -mprofile-kernel for big endian ELFv2 kernels 2023-06-14 12:46:42 +10:00
xmon powerpc/xmon: Use KSYM_NAME_LEN in array size 2023-05-30 16:46:56 +10:00
Kbuild
Kconfig powerpc/64: Use -mprofile-kernel for big endian ELFv2 kernels 2023-06-14 12:46:42 +10:00
Kconfig.debug powerpc: Add support for early debugging via Serial 16550 console 2022-09-28 19:22:09 +10:00
Makefile powerpc/build: Remove -pipe from compilation flags 2023-06-14 12:46:42 +10:00
Makefile.postlink kbuild: remove --include-dir MAKEFLAG from top Makefile 2023-02-05 18:51:22 +09:00