xen/arm64: head: Introduce distinct paths for the boot CPU and secondary CPUs
authorJulien Grall <julien.grall@arm.com>
Fri, 7 Jun 2019 18:28:51 +0000 (19:28 +0100)
committerJulien Grall <julien.grall@arm.com>
Wed, 31 Jul 2019 19:29:12 +0000 (20:29 +0100)
commitf5f214d63562faa3a4ef3f0b14e9443e85a6b54d
tree5e13a219e3756b9aba497de685321f42da724971
parent9f4d3848db9a0bff152a42a6bcb40bb714df7c4e
xen/arm64: head: Introduce distinct paths for the boot CPU and secondary CPUs

The boot code is currently quite difficult to go through because of the
lack of documentation and a number of indirection to avoid executing
some path in either the boot CPU or secondary CPUs.

In an attempt to make the boot code easier to follow, each parts of the
boot are now in separate functions. Furthermore, the paths for the boot
CPU and secondary CPUs are now distinct and for now will call each
functions.

Follow-ups will remove unnecessary calls and do further improvement
(such as adding documentation and reshuffling).

Note that the switch from using the 1:1 mapping to the runtime mapping
is duplicated for each path. This is because in the future we will need
to stay longer in the 1:1 mapping for the boot CPU.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/arm64/head.S