When enabling the Software Delegated Exception Interface (SDEI) the
firmware may trash tpidr_el1. As this is used to store the per-cpu
data pointer this causes issues when we need to access this memory,
e.g. in a non-SDEI exception.
Fix this by also storing the per-CPU pointer value in tpidr_el2 when
in VHE as this isn't trashed.
Sponsored by: Arm Ltd