Add the last stage 2 pte fields and use them to create the stage 2 maps.
When creating these we need to clean the D-cache to the point of coherency
so any data in them is visible to any newly created guest OS.
We also need to invalidate the I-cache when creating executable entries,
however to simplify this delay the invalidation until the guest executes
this memory. This allows userspace to load code into a hypervisor guest,
perform its own clean operation, then have the kernel invalidate the
I-cache as needed. This also allows us to clean a VPIPT I-cache as it
needs to be performed at EL2, however this is as yet unimplemented.