diff options
Diffstat (limited to 'arch/arm/include/asm/pgtable-3level.h')
| -rw-r--r-- | arch/arm/include/asm/pgtable-3level.h | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/include/asm/pgtable-3level.h b/arch/arm/include/asm/pgtable-3level.h index a3f37929940..6ef8afd1b64 100644 --- a/arch/arm/include/asm/pgtable-3level.h +++ b/arch/arm/include/asm/pgtable-3level.h @@ -104,11 +104,29 @@   */  #define L_PGD_SWAPPER		(_AT(pgdval_t, 1) << 55)	/* swapper_pg_dir entry */ +/* + * 2nd stage PTE definitions for LPAE. + */ +#define L_PTE_S2_MT_UNCACHED	 (_AT(pteval_t, 0x5) << 2) /* MemAttr[3:0] */ +#define L_PTE_S2_MT_WRITETHROUGH (_AT(pteval_t, 0xa) << 2) /* MemAttr[3:0] */ +#define L_PTE_S2_MT_WRITEBACK	 (_AT(pteval_t, 0xf) << 2) /* MemAttr[3:0] */ +#define L_PTE_S2_RDONLY		 (_AT(pteval_t, 1) << 6)   /* HAP[1]   */ +#define L_PTE_S2_RDWR		 (_AT(pteval_t, 2) << 6)   /* HAP[2:1] */ + +/* + * Hyp-mode PL2 PTE definitions for LPAE. + */ +#define L_PTE_HYP		L_PTE_USER +  #ifndef __ASSEMBLY__  #define pud_none(pud)		(!pud_val(pud))  #define pud_bad(pud)		(!(pud_val(pud) & 2))  #define pud_present(pud)	(pud_val(pud)) +#define pmd_table(pmd)		((pmd_val(pmd) & PMD_TYPE_MASK) == \ +						 PMD_TYPE_TABLE) +#define pmd_sect(pmd)		((pmd_val(pmd) & PMD_TYPE_MASK) == \ +						 PMD_TYPE_SECT)  #define pud_clear(pudp)			\  	do {				\  |