selftests/powerpc/dexcr: Add hashst/hashchk test
Test the kernel DEXCR[NPHIE] interface and hashchk exception handling. Introduces with it a DEXCR utils library for common DEXCR operations. Volatile is used to prevent the compiler optimising away the signal tests. Signed-off-by: Benjamin Gray <bgray@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230616034846.311705-11-bgray@linux.ibm.com
This commit is contained in:
committed by
Michael Ellerman
parent
b9125c9aa0
commit
bdb07f35a5
@@ -19,6 +19,8 @@
|
||||
#define mb() asm volatile("sync" : : : "memory");
|
||||
#define barrier() asm volatile("" : : : "memory");
|
||||
|
||||
#define SPRN_HDEXCR_RO 455 /* Userspace readonly view of SPRN_HDEXCR (471) */
|
||||
|
||||
#define SPRN_MMCR2 769
|
||||
#define SPRN_MMCRA 770
|
||||
#define SPRN_MMCR0 779
|
||||
@@ -47,6 +49,8 @@
|
||||
#define SPRN_SDAR 781
|
||||
#define SPRN_SIER 768
|
||||
|
||||
#define SPRN_DEXCR_RO 812 /* Userspace readonly view of SPRN_DEXCR (828) */
|
||||
|
||||
#define SPRN_TEXASR 0x82 /* Transaction Exception and Status Register */
|
||||
#define SPRN_TFIAR 0x81 /* Transaction Failure Inst Addr */
|
||||
#define SPRN_TFHAR 0x80 /* Transaction Failure Handler Addr */
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include <sys/signal.h>
|
||||
#include <linux/auxvec.h>
|
||||
#include <linux/perf_event.h>
|
||||
#include <asm/cputable.h>
|
||||
@@ -111,6 +112,9 @@ static inline char *auxv_platform(void)
|
||||
bool is_ppc64le(void);
|
||||
int using_hash_mmu(bool *using_hash);
|
||||
|
||||
struct sigaction push_signal_handler(int sig, void (*fn)(int, siginfo_t *, void *));
|
||||
struct sigaction pop_signal_handler(int sig, struct sigaction old_handler);
|
||||
|
||||
/* Yes, this is evil */
|
||||
#define FAIL_IF(x) \
|
||||
do { \
|
||||
|
||||
Reference in New Issue
Block a user