Arm A15皮质上的手臂拇指模式问题

Arm A15皮质上的手臂拇指模式问题,arm,thumb,Arm,Thumb,我们使用的是cortex A15和内核3.8。 如果我编译 arm-gcc-4.7.3测试c-o测试拇指-mthumb 在内核中,如果我设置CONFIG\u ARM\u THUMB或unset。我的拇指(用户空间)始终运行 所以我无法理解这种行为 好吧,我看不出有什么好的理由去做你想做的事。。。所以我想你问这个问题纯粹是出于好奇 不可能(在处理器中)禁用对Thumb指令的解码或切换到Thumb状态。CONFIG_ARM_THUMB选项是关于在应用程序中安全地使用THUMB代码,以了解操作系统的操

我们使用的是cortex A15和内核3.8。 如果我编译 arm-gcc-4.7.3测试c-o测试拇指-mthumb

在内核中,如果我设置CONFIG\u ARM\u THUMB或unset。我的拇指(用户空间)始终运行


所以我无法理解这种行为

好吧,我看不出有什么好的理由去做你想做的事。。。所以我想你问这个问题纯粹是出于好奇

不可能(在处理器中)禁用对Thumb指令的解码或切换到Thumb状态。CONFIG_ARM_THUMB选项是关于在应用程序中安全地使用THUMB代码,以了解操作系统的操作方式。这意味着,在理论层面上,不禁用该选项可能意味着在某些情况下程序无法正常工作,而不是阻止代码执行

实际上,它的主要作用是OABI,它在SWI(现在的SVC)指令中使用一个嵌入值来识别它请求的系统调用。 我认为最新版本的GCC/binutils甚至不支持OABI。。。
任何4.7工具链都很可能是EABI。

+1在某些情况下,由于需要保存的上下文稍微多一些(至少对于某些Linux版本而言),因此会有轻微的调度惩罚。