summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMax Filippov2014-09-11 06:05:21 +0200
committerMax Filippov2014-10-06 01:23:50 +0200
commita211276a8e4dbafbcd492ae3bee84a4d6db3fb75 (patch)
tree5712d9e5100127cfd230a6a21aba473aadef8bc1 /arch
parentLinux 3.17 (diff)
downloadkernel-qcow2-linux-a211276a8e4dbafbcd492ae3bee84a4d6db3fb75.tar.gz
kernel-qcow2-linux-a211276a8e4dbafbcd492ae3bee84a4d6db3fb75.tar.xz
kernel-qcow2-linux-a211276a8e4dbafbcd492ae3bee84a4d6db3fb75.zip
xtensa: implement pgprot_noncached
The default pgprot_noncached doesn't do anything. This leads to issues when drivers rely on it to disable caching in userspace mappings. Implement pgprot_noncached properly so that caching of userspace mappings could be controlled. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/xtensa/include/asm/pgtable.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/xtensa/include/asm/pgtable.h b/arch/xtensa/include/asm/pgtable.h
index b2173e5da601..0383aed59121 100644
--- a/arch/xtensa/include/asm/pgtable.h
+++ b/arch/xtensa/include/asm/pgtable.h
@@ -277,6 +277,8 @@ static inline pte_t pte_mkwrite(pte_t pte)
static inline pte_t pte_mkspecial(pte_t pte)
{ return pte; }
+#define pgprot_noncached(prot) (__pgprot(pgprot_val(prot) & ~_PAGE_CA_MASK))
+
/*
* Conversion functions: convert a page and protection to a page entry,
* and a page entry and page directory to the page they refer to.