arm64: Add a macro to find a VM fault address

Add a macro to find which bits from far_el2 are needed to be copied
to get the full intermediate physical address (IPA).

The hpfar_el2 register only contains a 4k aligned fault address. We
need to include the lower bits from far_el2 if we need the full
faulting IPA.
This commit is contained in:
Andrew Turner 2024-02-21 18:17:47 +00:00
parent 9c52f98c9f
commit b3bbec37ba

View file

@ -126,6 +126,8 @@
/* HPFAR_EL2_FIPA holds the 4k page address */
#define HPFAR_EL2_FIPA_ADDR(x) \
(HPFAR_EL2_FIPA_GET(x) << 12)
/* The bits from FAR_EL2 we need to add to HPFAR_EL2_FIPA_ADDR */
#define FAR_EL2_HPFAR_PAGE_MASK (0xffful)
/* ICC_SRE_EL2 */
#define ICC_SRE_EL2_SRE (1UL << 0)