xref: /plan9-contrib/sys/src/libc/power/cycles.s (revision 06578a4f3718de90863de956eb431cf8c81001d3)
1e288d156SDavid du Colombier#define TBRL	268
2e288d156SDavid du Colombier#define TBRU	269		/* Time base Upper/Lower (Reading) */
3e288d156SDavid du Colombier
4*06578a4fSDavid du Colombier/*
5*06578a4fSDavid du Colombier * time stamp counter; _cycles since power up
6*06578a4fSDavid du Colombier * Runs at fasthz/4 cycles per second (m->clkin>>3)
7*06578a4fSDavid du Colombier */
8*06578a4fSDavid du ColombierTEXT cycles(SB),1,$0
9e288d156SDavid du Colombierloop:
10e288d156SDavid du Colombier	MOVW	SPR(TBRU),R7
11e288d156SDavid du Colombier	MOVW	SPR(TBRL),R8
12e288d156SDavid du Colombier	MOVW	SPR(TBRU),R5
13e288d156SDavid du Colombier	CMP	R5,R7
14e288d156SDavid du Colombier	BNE	loop
15e288d156SDavid du Colombier	MOVW	R7,0(R3)
16e288d156SDavid du Colombier	MOVW	R8,4(R3)
17e288d156SDavid du Colombier	RETURN
18