ARM中的VBAR_EL寄存器在上下文切换时是否被保存?

3
我曾被告知,在上下文切换时,VBAR_EL0/1寄存器不会被备份。我还注意到,VBAR_EL0/1寄存器没有列在这里,但除此之外,我没有找到更多的信息。这是否意味着所有32位进程的异常表必须位于同一位置?此外,在32位和64位处理器模式之间切换时,这是如何工作的?
我正在使用交叉编译为Armv8的Linux 4.1。
1个回答

1
关于上下文切换的第一个问题,我没有找到任何现有的参考资料,但我的个人经验是,除非您手动更新VBAR_EL0/1寄存器,否则所有进程共享相同的异常向量表。如果成功更新寄存器,则所有进程将根据新寄存器的值找到异常处理程序。
对于您的第二个问题:
在32位和64位处理器模式之间切换时,根据ARM架构参考手册
VBAR_EL1 [31:0]被结构映射到AArch32系统寄存器VBAR。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接