On Fri, 24 Nov 2023 16:34:51 +0000, Joey Gouly <joey.gouly@xxxxxxx> wrote: > > Define the new system registers that POE introduces and context switch them. Thinking about it some more, I don't think this is enough. One fundamental thing that POE changes is that read permissions can now be removed from S1 by the guest. Which means that if we take a (for example) a permission fault at S2 and perform (as we do today) a "AT S1E1R" to obtain the faulting IPA, we can end-up with a failing translation because POE, under control of the guest, has removed the read permission. Which is why FEAT_ATS1A exists, and ignores permission overlays so that we can get to the IPA. I think this means we need to teach __translate_far_to_hpfar() about AT S1E1A Thanks, M. -- Without deviation from the norm, progress is not possible.