Linux 커널을 실행하는 ARM Cortex A-8 장치에서 몇 가지 실험을하고 있습니다.ARM 잠금 레지스터 쓰기 작업으로 장치가 충돌합니다.
I 액세스하고 문제없이 L2 캐시 잠금 레지스터의 값을 판독 할 수
ASM 휘발성 ("MRC P15, 1 % 0, C9, C0, 0" '= R "(I)); I 값을 다시 쓰기 할 때
, 장치는 즉시 충돌 :
ASM 휘발성 ("MCR의 P15, 1 % 0, C9, C0, 0": "R"(I));
코드가 커널 모듈로 실행되므로 사용 권한 문제가 없습니다.
그 레지스터 값을 쓰기 전에 특별한 것이없는 것일까 요?
또한 장치에서 코어의 개정판을 찾으십시오. ARM의 웹 사이트에서 Cortex A-8의 개정판에 대한 정오표를 확인하십시오. 놀랍게도 큰 정오표가 있는데, 대부분 사용자가 아닌 사람이 보입니다.하지만 시스템을 가지고 놀고 있습니다. :) –