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: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Michael Ellerman 2015-10-15 11:39:28 +11:00
parent 65b6ba6359
commit 20d09927e6
1 changed files with 12 additions and 2 deletions

View File

@ -77,13 +77,23 @@ pid_t getppid_tm(bool suspend)
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)
{
unsigned count = 0;
struct timeval end, now;
SKIP_IF(!((long)get_auxv_entry(AT_HWCAP2)
& PPC_FEATURE2_HTM_NOSC));
SKIP_IF(!have_htm_nosc());
setbuf(stdout, NULL);
printf("Testing transactional syscalls for %d seconds...\n", TEST_DURATION);