public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] Question re HYP mode and IRQ/FIQ  stack setting
@ 2013-11-12 11:41 Albert ARIBAUD
  2013-11-12 16:28 ` Christoffer Dall
  0 siblings, 1 reply; 8+ messages in thread
From: Albert ARIBAUD @ 2013-11-12 11:41 UTC (permalink / raw)
  To: u-boot

(Cc:ing Andre and Christoffer as they have discussed HYP on the ML.)

Hello,

I am working on changing the way IRQ/FIQ stacks are set up, from
"on-the-fly in a hurry while in the handler" to "during init, so that
when entering the handler, the stack is already correct".

Setting the stack then requires switching from the current mode (in
most cases, SVC32, 0x13) to IRQ (0x11) or FIQ (0x12) mode, in order to
set the right banked SP, then back into the original mode.

However, in the first lines of reset in arch/arm/cpu/armv7/start.S, the
possibility of U-Boot being started in HYP mode (0x1A) is considered
and, if in HYP mode, no switch to SVC32 is performed.

I understand that the problem here is, if we drop from HYP to SVC32,
then we cannot go back to HYP, and we want to be able to remain in HYP.

Does this also apply to dropping from HYP to IRQ or FIQ mode, i.e., if
we do such a drop, are we prevented from rising back from IRQ or FIQ
mode to HYP? I seem to remember such an issue, but I am no specialist
in HYP, so any help is welcome.

Amicalement,
-- 
Albert.

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

end of thread, other threads:[~2013-11-13 15:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-12 11:41 [U-Boot] Question re HYP mode and IRQ/FIQ stack setting Albert ARIBAUD
2013-11-12 16:28 ` Christoffer Dall
2013-11-12 16:53   ` Andre Przywara
2013-11-12 17:09     ` Christoffer Dall
2013-11-12 21:29       ` Albert ARIBAUD
2013-11-12 22:34         ` Christoffer Dall
2013-11-13  6:22           ` Albert ARIBAUD
2013-11-13 15:16             ` Christoffer Dall

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