arm64: use one stage_entry for all stages
Ramstage needs an assembly entry point for setting up
the initial state of the CPU. Therefore, a function is
provided, arm64_el3_startup(), that bootstraps the state
of the processor, initializes the stack pointer, and
branches to a defined entry symbol. To make this work
without adding too much preprocessor macro conditions
provide _stack and _estack for all the stages.
Currently the entry point after initialization is 'main',
however it can be changed/extended to do more work such
as seeding the stack contents with tombstones, etc.
It should be noted that romstage and bootblock weren't
tested. Only ramstage is known to work.
TEST=Brought up 64-bit ramstage on rush.
Original-Signed-off-by: Aaron Durbin <email@example.com>
Original-Reviewed-by: Furquan Shaikh <firstname.lastname@example.org>
(cherry picked from commit 7850ee3a7bf48c05f2e64147edb92161f8308f19)
Signed-off-by: Marc Jones <email@example.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <firstname.lastname@example.org>
8 files changed