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

Commit 80376f34 authored by Jan Glauber's avatar Jan Glauber Committed by Martin Schwidefsky
Browse files

[S390] Introduce get_clock_fast()



Add get_clock_fast() which uses the slightly faster stckf if available.
If stckf is not available fall back to stck, which has the same width.

Signed-off-by: default avatarJan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 388186bc
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -86,6 +86,17 @@ static inline void get_clock_ext(char *clk)
	asm volatile("stcke %0" : "=Q" (*clk) : : "cc");
}

static inline unsigned long long get_clock_fast(void)
{
	unsigned long long clk;

	if (test_facility(25))
		asm volatile(".insn	s,0xb27c0000,%0" : "=Q" (clk) : : "cc");
	else
		clk = get_clock();
	return clk;
}

static inline unsigned long long get_clock_xt(void)
{
	unsigned char clk[16];