coreboot-kgpe-d16/src/arch/armv7
Ronald G. Minnich 601b27596f ARMV7: minor tweaks to inter-stage calling and payload handling.
Payloads, by design, can return. There's lots of mechanism in the payload code
to support it, and the chooser payload relies on it. Hence, we should not mark
the function call in exit_stage as noreturn.

Not all ARM have unified caches, and it's not always easy to tell what
to do. So we are very paranoid. Before we call between stages, we
should carefully flush the dcache to memory and invalidate the icache.
This may be more than is necessary on all architectures but it
doesn't really hurt for the most part.

So compile cache management code into all stages, and call the
flush dcache/invalidate icache from all stages.

Change-Id: Ib9cc625c4dfd2d7d4b3c69a74686cc655a9d6484
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: http://review.coreboot.org/2462
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2013-02-20 20:49:16 +01:00
..
boot armv7/snow: add CPU and RAM resources via allocator 2013-02-19 19:00:54 +01:00
include ARMv7: Drop u-boot type remains 2013-02-15 19:05:39 +01:00
lib ARMV7: minor tweaks to inter-stage calling and payload handling. 2013-02-20 20:49:16 +01:00
bootblock.inc armv7: init stack to 0xdeadbeef to detect stack overflows 2013-02-19 00:57:41 +01:00
bootblock.lds armv7/exynos5250: place .id between .start and bootblock main 2013-02-10 01:28:53 +01:00
bootblock_simple.c armv7: Use same console initialization procedure for all ARM stages 2013-02-08 03:24:09 +01:00
coreboot_ram.ld armv7/exynos5250: fix usage of _stack and _estack 2013-02-16 00:39:01 +01:00
Kconfig armv7: Clean up: remove deprecated SPL. 2013-02-06 22:09:01 +01:00
Makefile.inc armv7/exynos5250: place .id between .start and bootblock main 2013-02-10 01:28:53 +01:00
romstage.ld armv7: unify stage hand-off routines 2013-02-01 03:25:30 +01:00
stages.c ARMV7: minor tweaks to inter-stage calling and payload handling. 2013-02-20 20:49:16 +01:00