public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] U-Boot on ARM9
@ 2008-09-22  7:12 Roman Mashak
  2008-09-22  9:46 ` Hebbar
  0 siblings, 1 reply; 3+ messages in thread
From: Roman Mashak @ 2008-09-22  7:12 UTC (permalink / raw)
  To: u-boot

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.

-- 
Roman Mashak

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] U-Boot on ARM9
  2008-09-22  7:12 [U-Boot] U-Boot on ARM9 Roman Mashak
@ 2008-09-22  9:46 ` Hebbar
  2008-09-23 12:17   ` Roman Mashak
  0 siblings, 1 reply; 3+ messages in thread
From: Hebbar @ 2008-09-22  9:46 UTC (permalink / raw)
  To: u-boot


Hi,

>>
>>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?
What if the target board has a custom bootmonitor & you use U-Boot as
secondary bootloader. This is a precautionary measure.

>>2) 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. 


>>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.
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
-- 
View this message in context: http://www.nabble.com/-U-Boot--U-Boot-on-ARM9-tp19602930p19604726.html
Sent from the Uboot - Users mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] U-Boot on ARM9
  2008-09-22  9:46 ` Hebbar
@ 2008-09-23 12:17   ` Roman Mashak
  0 siblings, 0 replies; 3+ messages in thread
From: Roman Mashak @ 2008-09-23 12:17 UTC (permalink / raw)
  To: u-boot

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 ?

-- 
Roman Mashak

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-09-23 12:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-22  7:12 [U-Boot] U-Boot on ARM9 Roman Mashak
2008-09-22  9:46 ` Hebbar
2008-09-23 12:17   ` Roman Mashak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox