Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux VBAR_EL寄存器是否通过ARM中的上下文切换保存?_Linux_Arm_Cpu Registers_Armv8 - Fatal编程技术网

Linux VBAR_EL寄存器是否通过ARM中的上下文切换保存?

Linux VBAR_EL寄存器是否通过ARM中的上下文切换保存?,linux,arm,cpu-registers,armv8,Linux,Arm,Cpu Registers,Armv8,有一次我被告知VBAR_EL0/1寄存器没有备份到上下文开关上。我还注意到没有列出VBAR_EL0/1寄存器,但除此之外,我没有找到太多关于它的信息。这是否意味着所有32位进程的异常表必须位于同一位置?另外,在32位和64位处理器模式之间切换时,这是如何工作的 我使用的是针对Armv8的Linux 4.1交叉编译。关于上下文切换的第一个问题,我没有找到任何现有的参考资料,但我个人的经验是,除非手动更新VBAR\u EL0/1寄存器,否则所有进程共享同一个异常向量表。 如果成功更新寄存器,则所有进

有一次我被告知VBAR_EL0/1寄存器没有备份到上下文开关上。我还注意到没有列出VBAR_EL0/1寄存器,但除此之外,我没有找到太多关于它的信息。这是否意味着所有32位进程的异常表必须位于同一位置?另外,在32位和64位处理器模式之间切换时,这是如何工作的


我使用的是针对Armv8的Linux 4.1交叉编译。

关于上下文切换的第一个问题,我没有找到任何现有的参考资料,但我个人的经验是,除非手动更新VBAR\u EL0/1寄存器,否则所有进程共享同一个异常向量表。 如果成功更新寄存器,则所有进程都将根据新寄存器的值找到异常处理程序

关于第二个问题:

在32位和64位处理器模式之间切换时,这是如何工作的

根据报告:

VBAR_EL1[31:0]在体系结构上映射到AArch32系统寄存器VBAR