[TESTS] Improve guest image loading in basic firmware

It might happen that we are running Basic firmware after a reboot
from guest Linux in which case both I-Cache and D-Cache will have
stale contents. We need to cleanup these stale contents while loading
guest images so that guest Linux sees correct contents in guest RAM
even after MMU ON. To handle this issue, we clean & invalidate portion
of guest RAM where we are going to load a guest image before copying
guest image to guest RAM.

Further, Linux ARM/ARM64 kernel expects us to boot from 0x8000 (or
0x80000 aligned address, perferrably RAM start + 0x8000 (or 0x80000)
address. The 0x8000 (or 0x80000) bytes above kernel start address is
used by Linux ARM/ARM64 kernel to setup boot page tables. If we are
running Basic firmware after a reboot from guest Linux then both
I-Cache and D-Cache will have stale contents. If we don't cleanup
these stale contents then Linux kernel will not see correct contents
of boot page tables after MMU ON. To take care of this issue, we nuke
the area where guest Linux will setup boot page tables before jumping
into guest Linux kernel.

Signed-off-by: Anup Patel <anup@brainfault.org>