28 lines
700 B
ArmAsm
28 lines
700 B
ArmAsm
// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file.
|
|
//
|
|
// See https://github.com/klauspost/cpuid/blob/master/LICENSE
|
|
//
|
|
// Using this inside Minio with modifications
|
|
//
|
|
|
|
// func cpuid(op uint32) (eax, ebx, ecx, edx uint32)
|
|
TEXT ·cpuid(SB),7,$0
|
|
MOVL op+0(FP),AX
|
|
CPUID
|
|
MOVL AX,eax+8(FP)
|
|
MOVL BX,ebx+12(FP)
|
|
MOVL CX,ecx+16(FP)
|
|
MOVL DX,edx+20(FP)
|
|
RET
|
|
|
|
// func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32)
|
|
TEXT ·cpuidex(SB),7,$0
|
|
MOVL op+0(FP),AX
|
|
MOVL op2+4(FP),CX
|
|
CPUID
|
|
MOVL AX,eax+8(FP)
|
|
MOVL BX,ebx+12(FP)
|
|
MOVL CX,ecx+16(FP)
|
|
MOVL DX,edx+20(FP)
|
|
RET
|