我正在尝试编译" mrc"和" mcr"基于Board的AARCH64指令,但我看到以下错误消息
tmp/ccqOHmrK.s: Assembler messages:
/tmp/ccqOHmrK.s:43: Error: unknown mnemonic `mrc' -- `mrc p15,0,x0,c14,c3,1'
/tmp/ccqOHmrK.s:53: Error: unknown mnemonic `mrc' -- `mrc p15,0,x2,c14,c3,0'
我尝试查看内核源码/ arch / arm64,但没有使用mcr&& mrc而没有仿真。
是否存在语法问题?
答案 0 :(得分:2)
您应该使用相应的msr
说明替换它们。
例如,arch/arm/include/asm/arch_timer.h有:
case ARCH_TIMER_REG_CTRL:
asm volatile("mcr p15, 0, %0, c14, c3, 1" : : "r" (val));
arch/arm64/include/asm/arch_timer.h中的对应方有:
case ARCH_TIMER_REG_CTRL:
asm volatile("msr cntv_ctl_el0, %0" : : "r" (val));
答案 1 :(得分:0)