안녕하세요? 리눅스 상에서 arm920t(s3c2440)에서 ttb레지스터읽기 위해 인라인 어셈써서 읽어보았는데, 읽을때마다 값이 틀리게 나오네요.. openice로 체크해보면 ttb레지스터는 변하지 않고 가만히 있는데도요..


제 코드에 오류가 있는건가요?? (static, volatile 등등 붙여보고 지지고 볶아도 insmod할때마다 값이 틀리게 나오네요.. )

static inline unsigned int get_ttbr(void)

{

 unsigned int val=0;

 __asm__("mrc p15, 0, %0, c2, c0, 1":"=r" (val));

 printk(" val : %08x\n",val);

 return val;

}