首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么内核的arm64向量表与11对齐?

为什么内核的arm64向量表与11对齐?
EN

Stack Overflow用户
提问于 2021-04-06 10:38:36
回答 1查看 147关注 0票数 1

arch/arm64/kernel/entry.s中,向量表与11对齐。

代码语言:javascript
运行
复制
    .align  11
ENTRY(vectors)
    kernel_ventry   1, sync_invalid         // Synchronous EL1t
    kernel_ventry   1, irq_invalid          // IRQ EL1t
    kernel_ventry   1, fiq_invalid          // FIQ EL1t
    kernel_ventry   1, error_invalid        // Error EL1t

    kernel_ventry   1, sync             // Synchronous EL1h
    kernel_ventry   1, irq              // IRQ EL1h
    kernel_ventry   1, fiq_invalid          // FIQ EL1h
    kernel_ventry   1, error            // Error EL1h

    kernel_ventry   0, sync             // Synchronous 64-bit EL0
    kernel_ventry   0, irq              // IRQ 64-bit EL0
    kernel_ventry   0, fiq_invalid          // FIQ 64-bit EL0
    kernel_ventry   0, error            // Error 64-bit EL0

#ifdef CONFIG_COMPAT
    kernel_ventry   0, sync_compat, 32      // Synchronous 32-bit EL0
    kernel_ventry   0, irq_compat, 32       // IRQ 32-bit EL0
    kernel_ventry   0, fiq_invalid_compat, 32   // FIQ 32-bit EL0
    kernel_ventry   0, error_compat, 32     // Error 32-bit EL0
#else
    kernel_ventry   0, sync_invalid, 32     // Synchronous 32-bit EL0
    kernel_ventry   0, irq_invalid, 32      // IRQ 32-bit EL0
    kernel_ventry   0, fiq_invalid, 32      // FIQ 32-bit EL0
    kernel_ventry   0, error_invalid, 32        // Error 32-bit EL0
#endif
END(vectors)

在其他代码中,例如linux-kernel-module-cheat与11对齐。但我知道aarch64与0x80 https://developer.arm.com/documentation/100933/0100/AArch64-exception-vector-table对齐。

为什么他们使用11byte align?

EN

回答 1

Stack Overflow用户

发布于 2021-04-06 13:05:42

基本上,这是ARMv8的架构要求,您只需要接受并接受它。

(对于每个EL电平)向量表的地址被写入特殊的向量基地址寄存器-s,即VBAR_EL3VBAR_EL2VBAR_EL1

每个寄存器为:

  • Bits [63:11] - Vector Base Address
  • Bits [10:0] - Reserved, RES0

因此您根本无法提供未与2^11对齐地址。

请参阅"ARMv8架构参考手册“

对于给定的异常级别(ELx),PS:0x80是不同类型中断的开始

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66962053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档