Commit-ID:  ca6cfbe6d25cdf9ed81cbf26c2146eda17a70472
Gitweb:     http://git.kernel.org/tip/ca6cfbe6d25cdf9ed81cbf26c2146eda17a70472
Author:     Gerald Schaefer <gerald.schae...@de.ibm.com>
AuthorDate: Thu, 18 Oct 2012 18:26:42 +0200
Committer:  Ingo Molnar <mi...@kernel.org>
CommitDate: Fri, 19 Oct 2012 23:38:48 +0200

s390/thp: implement pmd_pgprot() for s390

Git commit "mm/thp: Preserve pgprot across huge page split"
introduced a pmd_pgprot() function, which is missing
on s390, resulting in a compile error in linux-next where
THP is enabled on s390 as well.

This patch adds an implementation of pmd_pgprot() for s390.

Reported-by: Stephen Rothwell <s...@canb.auug.org.au>
Signed-off-by: Gerald Schaefer <gerald.schae...@de.ibm.com>
Cc: Martin Schwidefsky <schwidef...@de.ibm.com>
Cc: Heiko Carstens <heiko.carst...@de.ibm.com>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Ralf Baechle <r...@linux-mips.org>
Link: http://lkml.kernel.org/r/20121018182642.2a541275@thinkpad
Signed-off-by: Ingo Molnar <mi...@kernel.org>
---
 arch/s390/include/asm/pgtable.h |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
index dd647c9..098fc5a 100644
--- a/arch/s390/include/asm/pgtable.h
+++ b/arch/s390/include/asm/pgtable.h
@@ -1240,6 +1240,19 @@ static inline void set_pmd_at(struct mm_struct *mm, 
unsigned long addr,
        *pmdp = entry;
 }
 
+static inline pgprot_t pmd_pgprot(pmd_t pmd)
+{
+       pgprot_t prot = PAGE_RW;
+
+       if (pmd_val(pmd) & _SEGMENT_ENTRY_RO) {
+               if (pmd_val(pmd) & _SEGMENT_ENTRY_INV)
+                       prot = PAGE_NONE;
+               else
+                       prot = PAGE_RO;
+       }
+       return prot;
+}
+
 static inline unsigned long massage_pgprot_pmd(pgprot_t pgprot)
 {
        unsigned long pgprot_pmd = 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to