summaryrefslogtreecommitdiff
path: root/sys/src/libc/power/cycles.s
blob: 44117113602b0e42114e853e02b8c70707e60342 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define TBRL	268
#define TBRU	269		/* Time base Upper/Lower (Reading) */

/*
 * time stamp counter; _cycles since power up
 * Runs at fasthz/4 cycles per second (m->clkin>>3)
 */
TEXT cycles(SB),1,$0
loop:
	MOVW	SPR(TBRU),R7
	MOVW	SPR(TBRL),R8
	MOVW	SPR(TBRU),R5
	CMP	R5,R7
	BNE	loop
	MOVW	R7,0(R3)
	MOVW	R8,4(R3)
	RETURN