Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -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);