Commit 20d09927 authored by Michael Ellerman's avatar Michael Ellerman

selftests/powerpc: Allow the tm-syscall test to build with old headers

When building against older kernel headers, currently the tm-syscall
test fails to build because PPC_FEATURE2_HTM_NOSC is not defined.

Tweak the test so that if PPC_FEATURE2_HTM_NOSC is not defined it still
builds, but prints a warning at run time and marks the test as skipped.
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 65b6ba63
...@@ -77,13 +77,23 @@ pid_t getppid_tm(bool suspend) ...@@ -77,13 +77,23 @@ pid_t getppid_tm(bool suspend)
exit(-1); exit(-1);
} }
static inline bool have_htm_nosc(void)
{
#ifdef PPC_FEATURE2_HTM_NOSC
return ((long)get_auxv_entry(AT_HWCAP2) & PPC_FEATURE2_HTM_NOSC);
#else
printf("PPC_FEATURE2_HTM_NOSC not defined, can't check AT_HWCAP2\n");
return false;
#endif
}
int tm_syscall(void) int tm_syscall(void)
{ {
unsigned count = 0; unsigned count = 0;
struct timeval end, now; struct timeval end, now;
SKIP_IF(!((long)get_auxv_entry(AT_HWCAP2) SKIP_IF(!have_htm_nosc());
& PPC_FEATURE2_HTM_NOSC));
setbuf(stdout, NULL); setbuf(stdout, NULL);
printf("Testing transactional syscalls for %d seconds...\n", TEST_DURATION); printf("Testing transactional syscalls for %d seconds...\n", TEST_DURATION);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment