gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 11:17:06 25 4
gpt4 key购买 nike

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

我正在使用为 Armv8 交叉编译的 Linux 4.1。

最佳答案

关于上下文切换的第一个问题,我没有找到任何现有引用,但我个人的经验是所有进程共享同一个异常向量表,除非您手动更新 VBAR_EL0/1 寄存器。如果您成功更新寄存器,那么所有进程都会根据新寄存器的值找到异常处理程序。

第二个问题:

how does this work when switching between 32 and 64 bit processor modes?

根据ARM Architecture Reference Manual :

VBAR_EL1[31:0] is architecturally mapped to AArch32 System register VBAR.

关于linux - VBAR_EL 寄存器是否通过 ARM 中的上下文切换保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50865019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com