[U-Boot] U-Boot on ARM9

Hello.
I have a few questions on arm926 initialization code, located in ${U_BOOT}/cpu/arm926ejs/start.S: 1) what is the point of deliberately setting up SVC mode, as it's already in this mode right upon the reset? 2) I can't quite understand what 'CONFIG_USE_IRQ' is used for. It is defined on just a few targets. 3) The stack set up -- commonly startup code initializes stacks for all modes, but it's not clear how it's done in 'start.S'. Seems like somehow stacks are run-time configured, but I didn't perceive how.
Thanks in advance for comments.

Hi,
I have a few questions on arm926 initialization code, located in ${U_BOOT}/cpu/arm926ejs/start.S:
- what is the point of deliberately setting up SVC mode, as it's
already in this mode right upon the reset?
What if the target board has a custom bootmonitor & you use U-Boot as secondary bootloader. This is a precautionary measure.
- I can't quite understand what 'CONFIG_USE_IRQ' is used for. It is
defined on just a few targets.
Generally bootloader doesnt use IRQ for running. But if u need to use IRQ/FIQ u need to setup stacks for the Same. And also When Interrupt occurs you need to set sp to pint to proper stacks, save registers & then jump to irq handler. U_Boot provides a common envelope for all interrupt related functions.
- The stack set up -- commonly startup code initializes stacks for
all modes, but it's not clear how it's done in 'start.S'. Seems like somehow stacks are run-time configured, but I didn't perceive how.
U-boot Initially sets up Stack for SVC Mode.
Upon Interrupt Triggers, Stacks are setup for the IRQ/FIQ Modes.
This is done in the ${U_BOOT}/cpu/arm926ejs/start.S
for SVC Mode ---> @ line 173 for IRQ Mode ---> @ line 327 for FIQ Mode ---> @ line 331
Hope this would clear your doubts.
Regards Gururaja

Hello.
Thank you for your quick response.
2008/9/22 Hebbar gururajakr@sanyo.co.in: [skip]
Generally bootloader doesnt use IRQ for running. But if u need to use IRQ/FIQ u need to setup stacks for the Same.
Right, because U-Boot is basically needed to initialize hardware and prepaare it to launch OS on it. IRQ/FIQ may be necessary to run standalone code within bootlloader ?
participants (2)
-
Hebbar
-
Roman Mashak