plat/kvm: Do not unconditionally clean and invalidate the cache
The arm64 linux boot protocol provides the requirements for
the system's state before jumping into the kernel [1]. Among
these it is required that upon entry:
- The MMU is off
- The D-cache for the region corresponging to the loaded image
must be cleaned to the point of coherence.
Skip expensive cache clean & invalidate operations if the MMU is
found to be disabled at boot. Although this heuristic is not
strictly required it provides with some additional confidence
that the bootloader behaves as expected.
With a clean cache, additionally optmize cache invalidations by
limiting them to the regions accessed before the MMU is enabled.