ref: 42e3ee2d9508932863c789041c71b7ae6c813f49
dir: /b_amd64.s/
#define RDTSCP WORD $0x010f; BYTE $0xf9 TEXT tstart(SB), 1, $0 CPUID RDTSC MOVL AX, 0(RARG) MOVL DX, 4(RARG) RET TEXT _tend(SB), 1, $0 /* it needs MOVL CR0, AX; MOV AX, CR0 but it's userspace */ RDTSC MOVL AX, 0(RARG) MOVL DX, 4(RARG) CPUID RET TEXT _tendp(SB), 1, $0 RDTSCP MOVL AX, 0(RARG) MOVL DX, 4(RARG) CPUID RET TEXT cpuid(SB), 1, $0 MOVL ax+8(FP), AX MOVL cx+16(FP), CX CPUID MOVL AX, 0(BP) MOVL BX, 4(BP) MOVL CX, 8(BP) MOVL DX, 12(BP) RET