xen/arm32: head: Don't setup the fixmap on secondary CPUs
authorJulien Grall <julien.grall@arm.com>
Mon, 22 Jul 2019 13:24:43 +0000 (14:24 +0100)
committerJulien Grall <julien.grall@arm.com>
Sat, 7 Sep 2019 11:11:00 +0000 (12:11 +0100)
commit6fa1798b2d7066f53f310f05e86b82c713e3bc42
tree765a155e4dc806e72b8cdbb3dc90e1862a092d48
parent507c6902eb86da74ad7448ce7aaca3e5fb1a6c40
xen/arm32: head: Don't setup the fixmap on secondary CPUs

setup_fixmap() will setup the fixmap in the boot page tables in order to
use earlyprintk and also update the register r11 holding the address to
the UART.

However, secondary CPUs are not using earlyprintk between turning the
MMU on and switching to the runtime page table. So setting up the
fixmap in the boot pages table is pointless.

This means most of setup_fixmap() is not necessary for the secondary
CPUs. The update of UART address is now moved out of setup_fixmap() and
duplicated in the CPU boot and secondary CPUs boot. Additionally, the
call to setup_fixmap() is removed from secondary CPUs boot.

Lastly, take the opportunity to replace load from literal pool with the
new macro mov_w.

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