我需要重置(设置为 0)特殊用途寄存器 527(Alt Time Base 寄存器上限)。但是这个函数 sysAltTimeBaseUreset 使我的 VxWorks 目标的 PowerPC (Freescale P2020) 崩溃:
FUNC_BEGIN(sysAltTimeBaseUreset)
mtspr 527, 0x0000 /* reset high 32-bits of Alt. Time Base register */
bclr 20,0 /* Return to caller */
FUNC_END(sysAltTimeBaseUreset)
下面的函数工作正常,并返回 AltTimeBase 高位寄存器的内容。
FUNC_BEGIN(sysAltTimeBaseUGet)
mfspr r3, 527 /* high 32-bits of Alt. Time Base register */
bclr 20,0 /* Return to caller */
FUNC_END(sysAltTimeBaseUGet)