diff options
author | Gustavo Romero <gromero@linux.vnet.ibm.com> | 2017-11-01 15:23:41 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-11-09 15:50:21 +1100 |
commit | 77fad8bfb1d2f8225b05e4ea34457875fcfae37e (patch) | |
tree | df158bda5a5542d731403989d1a0005dd1cc3fd3 /tools/testing/selftests/powerpc/tm/tm.h | |
parent | powerpc/xmon: Support dumping software pagetables (diff) | |
download | linux-dev-77fad8bfb1d2f8225b05e4ea34457875fcfae37e.tar.xz linux-dev-77fad8bfb1d2f8225b05e4ea34457875fcfae37e.zip |
selftests/powerpc: Check FP/VEC on exception in TM
Add a self test to check if FP/VEC/VSX registers are sane (restored
correctly) after a FP/VEC/VSX unavailable exception is caught during a
transaction.
This test checks all possibilities in a thread regarding the combination
of MSR.[FP|VEC] states in a thread and for each scenario raises a
FP/VEC/VSX unavailable exception in transactional state, verifying if
vs0 and vs32 registers, which are representatives of FP/VEC/VSX reg
sets, are not corrupted.
Signed-off-by: Gustavo Romero <gromero@linux.vnet.ibm.com>
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to '')
-rw-r--r-- | tools/testing/selftests/powerpc/tm/tm.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/testing/selftests/powerpc/tm/tm.h b/tools/testing/selftests/powerpc/tm/tm.h index 0ffff04433c5..df4204247d45 100644 --- a/tools/testing/selftests/powerpc/tm/tm.h +++ b/tools/testing/selftests/powerpc/tm/tm.h @@ -47,6 +47,11 @@ static inline bool failure_is_syscall(void) return (failure_code() & TM_CAUSE_SYSCALL) == TM_CAUSE_SYSCALL; } +static inline bool failure_is_unavailable(void) +{ + return (failure_code() & TM_CAUSE_FAC_UNAV) == TM_CAUSE_FAC_UNAV; +} + static inline bool failure_is_nesting(void) { return (__builtin_get_texasru() & 0x400000); |