ARM: zImage/virt: hyp mode entry support for the zImage loader
authorDave Martin <dave.martin@linaro.org>
Sat, 11 Feb 2012 02:07:07 +0000 (18:07 -0800)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 19 Sep 2012 07:32:50 +0000 (08:32 +0100)
commit424e5994e63326a42012f003f1174f3c363c7b62
treed8ff950676dac0fc3b38d6801423f996f8b20214
parent80c59dafb1a9a86fa996e6e34d06b60567c925ca
ARM: zImage/virt: hyp mode entry support for the zImage loader

The zImage loader needs to turn on the MMU in order to take
advantage of caching while decompressing the zImage.  Running this
in hyp mode would require the LPAE pagetable format to be
supported; to avoid this complexity, this patch switches out of hyp
mode, and returns back to hyp mode just before booting the kernel.

This implementation assumes that the Hyp mode view of memory and the
PL1 view of memory are coherent, providing that the MMU and caches
are off in both, as required by the boot protocol.  The zImage
decompression code must drain the write buffer on completion anyway, and
entry into Hyp mode should flush any prefetch buffer, avoiding hazards
associated with local write buffers and the pipeline.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm/boot/compressed/.gitignore
arch/arm/boot/compressed/Makefile
arch/arm/boot/compressed/head.S
arch/arm/kernel/hyp-stub.S