For those who are into the details: here is a
step-by-step guide through the process of decompressing an Arm kernel
and getting ready to boot from Linus Walleij.  “Next the
decompression code sets up a page table, if it is possible to fit one over
the whole uncompressed+compressed kernel image. The page table is not for
virtual memory, but for enabling cache, which is then turned on. The
decompression will for natural reasons be much faster if we can use
cache.“
Source: LWN.net – Walleij: How the ARM32 Linux kernel decompresses