diff options
author | Rob Herring <ra7055@blueberry.sigmatel.com> | 2009-01-30 17:09:27 -0600 |
---|---|---|
committer | Alejandro Gonzalez <alex.gonzalez@digi.com> | 2010-02-12 17:19:09 +0100 |
commit | ce8e87124553db3a0a15def404167f001d122c96 (patch) | |
tree | 0dc16a915b5454b11ead2e4941c57a48a0e89588 /arch/arm/include | |
parent | 8e507ec39b8682b537a5948ef5a47b229fb6e60c (diff) |
ENGR00107731-1 arm: Add more cache memory types macros
Add memory types for different inner and outer cache settings.
Signed-off-by: Rob Herring <r.herring@freescale.com>
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/pgtable.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h index c433c6c73112..cde0a048f7e2 100644 --- a/arch/arm/include/asm/pgtable.h +++ b/arch/arm/include/asm/pgtable.h @@ -186,6 +186,8 @@ extern void __pgd_error(const char *file, int line, unsigned long val); #define L_PTE_MT_DEV_NONSHARED (0x0c << 2) /* 1100 */ #define L_PTE_MT_DEV_WC (0x09 << 2) /* 1001 */ #define L_PTE_MT_DEV_CACHED (0x0b << 2) /* 1011 */ +#define L_PTE_MT_OUTER_UNCACHED (0x0d << 2) /* 1101 */ +#define L_PTE_MT_OUTER_WRITETHRU (0x0e << 2) /* 1110 */ #define L_PTE_MT_MASK (0x0f << 2) #ifndef __ASSEMBLY__ @@ -304,6 +306,19 @@ static inline pte_t pte_mkspecial(pte_t pte) { return pte; } __pgprot((pgprot_val(prot) & ~L_PTE_MT_MASK) | L_PTE_MT_UNCACHED) #define pgprot_writecombine(prot) \ __pgprot((pgprot_val(prot) & ~L_PTE_MT_MASK) | L_PTE_MT_BUFFERABLE) +#define pgprot_writethru(prot) \ + __pgprot((pgprot_val(prot) & ~L_PTE_MT_MASK) | L_PTE_MT_WRITETHROUGH) +#define pgprot_nonshareddev(prot) \ + __pgprot((pgprot_val(prot) & ~L_PTE_MT_MASK) | L_PTE_MT_DEV_NONSHARED) + +/* Extended configurations for inner writeback cacheable */ +#define pgprot_writealloc(prot) \ + __pgprot((pgprot_val(prot) & ~L_PTE_MT_MASK) | L_PTE_MT_WRITEALLOC) +#define pgprot_outer_wrthru(prot) \ + __pgprot((pgprot_val(prot) & ~L_PTE_MT_MASK) | L_PTE_MT_OUTER_WRITETHRU) +#define pgprot_outer_noncached(prot) \ + __pgprot((pgprot_val(prot) & ~L_PTE_MT_MASK) | L_PTE_MT_OUTER_UNCACHED) + #define pmd_none(pmd) (!pmd_val(pmd)) #define pmd_present(pmd) (pmd_val(pmd)) |