TTBR0/1 are CP15 registers which are programmed by PL1 OS. Now If PL1 OS1 programs TTBR0 and then on the same core the PL1 OS2 is scheduled, would the PL1 OS2 see the value of TTBR0/1 set the OS1
I am sure there is someway that the sanity is maintained, is the following is true?
While switching between guests the hypervisor saves all cp15 regs in guest context and later restores before switching the guest
if yes then wouldnt it be time consuming for hypervisor as the list of cp15 regs would be very long
FIQ
and it is possible that some may not use an MMU at all. You must do mostly the same for TrustZone. I think you can physically lock out the FIQ from the guest OSs with TrustZone and avoid the FIQ bank save/restore. This may cause a guest OS to crash or driver to deadlock. – Aleece