| From 120c8f221cb18f6630d5cb954484bac88288cced Mon Sep 17 00:00:00 2001 |
| From: Haiying Wang <Haiying.Wang@freescale.com> |
| Date: Wed, 22 Apr 2015 13:07:25 -0400 |
| Subject: [PATCH] arm64: add ioremap for normal cacheable non-shareable memory |
| |
| Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> |
| Reviewed-by: Roy Pledge <roy.pledge@freescale.com> |
| Reviewed-by: Stuart Yoder <stuart.yoder@freescale.com> |
| --- |
| arch/arm64/include/asm/io.h | 1 + |
| arch/arm64/include/asm/pgtable-prot.h | 1 + |
| 2 files changed, 2 insertions(+) |
| |
| --- a/arch/arm64/include/asm/io.h |
| +++ b/arch/arm64/include/asm/io.h |
| @@ -170,6 +170,7 @@ extern void __iomem *ioremap_cache(phys_ |
| #define ioremap_nocache(addr, size) __ioremap((addr), (size), __pgprot(PROT_DEVICE_nGnRE)) |
| #define ioremap_wc(addr, size) __ioremap((addr), (size), __pgprot(PROT_NORMAL_NC)) |
| #define ioremap_wt(addr, size) __ioremap((addr), (size), __pgprot(PROT_DEVICE_nGnRE)) |
| +#define ioremap_cache_ns(addr, size) __ioremap((addr), (size), __pgprot(PROT_NORMAL_NS)) |
| |
| /* |
| * PCI configuration space mapping function. |
| --- a/arch/arm64/include/asm/pgtable-prot.h |
| +++ b/arch/arm64/include/asm/pgtable-prot.h |
| @@ -37,6 +37,7 @@ |
| #define PROT_NORMAL_NC (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_WRITE | PTE_ATTRINDX(MT_NORMAL_NC)) |
| #define PROT_NORMAL_WT (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_WRITE | PTE_ATTRINDX(MT_NORMAL_WT)) |
| #define PROT_NORMAL (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_WRITE | PTE_ATTRINDX(MT_NORMAL)) |
| +#define PROT_NORMAL_NS (PTE_TYPE_PAGE | PTE_AF | PTE_PXN | PTE_UXN | PTE_DIRTY | PTE_WRITE | PTE_ATTRINDX(MT_NORMAL)) |
| |
| #define PROT_SECT_DEVICE_nGnRE (PROT_SECT_DEFAULT | PMD_SECT_PXN | PMD_SECT_UXN | PMD_ATTRINDX(MT_DEVICE_nGnRE)) |
| #define PROT_SECT_NORMAL (PROT_SECT_DEFAULT | PMD_SECT_PXN | PMD_SECT_UXN | PMD_ATTRINDX(MT_NORMAL)) |