(Linux)coprocessor CPUID 확인
글쓴이: leeky1124 / 작성시간: 토, 2014/08/02 - 9:02오후
리눅스 디바이스드라이버를 사용하여 보드 CPUID의 coprocessor를 확인하려고 합니다.
#include <stdio.h> #ifndef REAL #define REAL double #endif #ifndef LOOP_SIZE #define LOOP_SIZE 5000000000 #endif static inline void vfma64_operation_d1(); int main(){ unsigned int i,f; for (i=0 ; i<LOOP_SIZE/8 ; i++) { vfma64_operation_d1(); } return 0; } // Diffence bw. Dest and Src1 static inline void vfma64_operation_d1() { __asm__ __volatile__ ( "vfma.F64 d0, d1, d2 \n\t" : \ : \ : \ ); }
C코드를 만들고 크로스컴파일해 보드에 넣어서 실행해봤더니 약간의 대기시간후에 아무 동작도 일어나지 않았습니다.(추가적으로 소스해석해보았는데 이걸로 CPUID를 확인할 수 있을지 의문이 들었습니다.)
이부분에 대해서 보완해주실수 있거나, 새로운 대안을 제시해 주시면 감사하겠습니다.
Forums:
참조
>리눅스 디바이스드라이버를 사용하여 보드 CPUID의 coprocessor를 확인하려고 합니다.
이 것은 문제가 없는데, 위에서 만든 코드는 User space 의 단순 App입니다. User Space에서는 asm inline을 써도 coprocessor 의 ID을 읽을 수 없습니다.
(mrc 사용 X )
감사합니다.
덕분에 수정방향 바꿔서 mrc를 사용해서 coprocessor를 읽어올 수 있었습니다.
댓글 달기