34 lines
1.8 KiB
Diff
34 lines
1.8 KiB
Diff
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))
|