我讀關於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年左右)提供的極爲古老的技術。我會忽略它;這就是爲什麼沒有人記錄它。 –
謝謝你的回答。 –