Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1226406

[PATCH 4/7] arm64: Macros to check/set/unset the contiguous bit

From Jeremy Linton <jeremy.linton@arm.com>
Newsgroups linux.kernel
Subject [PATCH 4/7] arm64: Macros to check/set/unset the contiguous bit
Date 2015-09-16 21:10 +0200
Message-ID <q9qfF-4Y7-37@gated-at.bofh.it> (permalink)
References <q9qfE-4Y7-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Add the supporting macros to check if the contiguous bit
is set, set the bit, or clear it in a PTE entry.

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
---
 arch/arm64/include/asm/pgtable.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index 6900b2d9..d43e1d1 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -144,6 +144,7 @@ extern struct page *empty_zero_page;
 #define pte_special(pte)	(!!(pte_val(pte) & PTE_SPECIAL))
 #define pte_write(pte)		(!!(pte_val(pte) & PTE_WRITE))
 #define pte_exec(pte)		(!(pte_val(pte) & PTE_UXN))
+#define pte_cont(pte)		(!!(pte_val(pte) & PTE_CONT))
 
 #ifdef CONFIG_ARM64_HW_AFDBM
 #define pte_hw_dirty(pte)	(!(pte_val(pte) & PTE_RDONLY))
@@ -206,6 +207,16 @@ static inline pte_t pte_mkspecial(pte_t pte)
 	return set_pte_bit(pte, __pgprot(PTE_SPECIAL));
 }
 
+static inline pte_t pte_mkcont(pte_t pte)
+{
+	return set_pte_bit(pte, __pgprot(PTE_CONT));
+}
+
+static inline pte_t pte_mknoncont(pte_t pte)
+{
+	return clear_pte_bit(pte, __pgprot(PTE_CONT));
+}
+
 static inline void set_pte(pte_t *ptep, pte_t pte)
 {
 	*ptep = pte;
-- 
2.4.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 0/7] arm64: Use contigous PTE bit for the kernel linear mapping Jeremy Linton <jeremy.linton@arm.com> - 2015-09-16 21:10 +0200
  [PATCH 7/7] arm64: Mark kernel page ranges contiguous Jeremy Linton <jeremy.linton@arm.com> - 2015-09-16 21:10 +0200
    Re: [PATCH 7/7] arm64: Mark kernel page ranges contiguous Steve Capper <steve.capper@linaro.org> - 2015-09-17 19:30 +0200
      RE: [PATCH 7/7] arm64: Mark kernel page ranges contiguous Jeremy Linton <Jeremy.Linton@arm.com> - 2015-09-17 19:40 +0200
  [PATCH 5/7] arm64: Default kernel pages should be contiguous Jeremy Linton <jeremy.linton@arm.com> - 2015-09-16 21:10 +0200
  [PATCH 3/7] arm64: PTE/PMD contiguous bit definition Jeremy Linton <jeremy.linton@arm.com> - 2015-09-16 21:10 +0200
  [PATCH 4/7] arm64: Macros to check/set/unset the contiguous bit Jeremy Linton <jeremy.linton@arm.com> - 2015-09-16 21:10 +0200

csiph-web