【发布时间】:2014-03-31 02:31:47
【问题描述】:
对于ARM处理器同时支持ARM和Thumb-2状态(指令集),如何设置运行内核态代码的状态,例如用于中断和系统调用的内核代码。
【问题讨论】:
-
通常,它总是默认为 ARM,除非 CPU 只支持 Thumb。即Cortex-M系列。某些特定的 CPU 上可能有一些 CP15 寄存器来支持这一点,但绝对没有通用的 ARM 机制。
-
Linux 有 CONFIG_THUMB2_KERNEL 来设置构建内核的指令集,当配置的目标支持 Thumb-2 时。但是,如果处理器支持 ARM,则入口点始终是 ARM 状态。
标签: arm