[RFC v5 09/28] hw/arm/smmu: Add PTE NS/NSTable helpers
Tao Tang <[email protected]>
| Newsgroups | org.nongnu.qemu-devel,org.nongnu.qemu-arm |
|---|---|
| Message-ID | <[email protected]> |
Add helper macros for NS and NSTable bits and group PTE attribute accessors for clarity. No functional change beyond the new helpers. Signed-off-by: Tao Tang <[email protected]> Reviewed-by: Pierrick Bouvier <[email protected]> --- hw/arm/smmu-internal.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/arm/smmu-internal.h b/hw/arm/smmu-internal.h index d143d296f34..004abd58bca 100644 --- a/hw/arm/smmu-internal.h +++ b/hw/arm/smmu-internal.h @@ -58,16 +58,27 @@ ((level == 3) && \ ((pte & ARM_LPAE_PTE_TYPE_MASK) == ARM_LPAE_L3_PTE_TYPE_PAGE)) +/* Stage 1 attribute fields in VMSAv8-64 Block and Page descriptors */ +/* Non-secure bit */ +#define PTE_NS(pte) \ + (extract64(pte, 5, 1)) + /* access permissions */ #define PTE_AP(pte) \ (extract64(pte, 6, 2)) +/* Stage 1 VMSAv8-64 Table descriptor fields */ #define PTE_APTABLE(pte) \ (extract64(pte, 61, 2)) +#define PTE_NSTABLE(pte) \ + (extract64(pte, 63, 1)) + +/* Access flag: defined for both Block/Page and Table descriptors. */ #define PTE_AF(pte) \ (extract64(pte, 10, 1)) + /* * TODO: At the moment all transactions are considered as privileged (EL1) * as IOMMU translation callback does not pass user/priv attributes. -- 2.34.1