我读关于Linux /弓/ ARM /开机/压缩/ head.S中引导Linux天使引导
我想通了有关angel boot
。这是我对这个词第一次
#ifndef CONFIG_CPU_V7M
/*
* Booting from Angel - need to enter SVC mode and disable
* FIQs/IRQs (numeric definitions from angel arm.h source).
* We only do this if we were in user mode on entry.
*/
mrs r2, cpsr @ get current mode
tst r2, #3 @ not user?
bne not_angel
mov r0, #0x17 @ angel_SWIreason_EnterSVC
ARM( swi 0x123456 ) @ angel_SWI_ARM
THUMB( svc 0xab ) @ angel_SWI_THUMB
not_angel:
safe_svcmode_maskall r0
msr spsr_cxsf, r9 @ Save the CPU boot mode in
@ SPSR
#endif
所以我用Google搜索和阅读位于linux/Documentation/arm/Booting
Linux文档有一个关于天使的引导没有明确的定义,任何网站和Linux文件中只提到天使像波纹管
For CPUs which do not include the ARM virtualization extensions, the
CPU must be in SVC mode. (A special exception exists for Angel)
所以我想了解一下关于天使的引导明确的定义
谢谢您的回答
稍微棘手的连接是,天使是ARM标准的旧名称[外部调试器的半主机接口](http://infocenter.arm.com/help/topic/com.arm.doc.dui0471m /pge1358787046598.html)。 – Notlikethat
天使是StrongARM CPU(2000年左右)提供的极为古老的技术。我会忽略它;这就是为什么没有人记录它。 –
谢谢你的回答。 –