From: Christophe Leroy <christophe.leroy@c-s.fr>
To: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Dominik Brodowski <linux@dominikbrodowski.net>,
Geoff Levand <geoff@infradead.org>, Jens Axboe <axboe@kernel.dk>,
Kumar Gala <galak@kernel.crashing.org>,
Li Yang <leoyang.li@nxp.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Paul Mackerras <paulus@samba.org>, Scott Wood <oss@buserror.net>,
aneesh.kumar@linux.vnet.ibm.com
Cc: linux-arm-kernel@lists.infradead.org,
linux-block@vger.kernel.org, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
dri-devel@lists.freedesktop.org
Subject: [PATCH v3 19/24] powerpc/nohash/64: do not include pte-common.h
Date: Tue, 9 Oct 2018 13:52:10 +0000 (UTC) [thread overview]
Message-ID: <f442fba83ab8488ec73c4f060fdb134f425b7598.1539092112.git.christophe.leroy@c-s.fr> (raw)
In-Reply-To: <cover.1539092111.git.christophe.leroy@c-s.fr>
nohash/64 only uses book3e PTE flags, so it doesn't need pte-common.h
This also allows to drop PAGE_SAO and H_PAGE_4K_PFN from pte_common.h
as they are only used by PPC64
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
arch/powerpc/include/asm/nohash/64/pgtable.h | 16 ++++++++++++-
arch/powerpc/include/asm/nohash/pgtable.h | 27 +++++++++++++++++++++
arch/powerpc/include/asm/pte-common.h | 35 ----------------------------
3 files changed, 42 insertions(+), 36 deletions(-)
diff --git a/arch/powerpc/include/asm/nohash/64/pgtable.h b/arch/powerpc/include/asm/nohash/64/pgtable.h
index b7d65d4b61be..9ccea94b3d4e 100644
--- a/arch/powerpc/include/asm/nohash/64/pgtable.h
+++ b/arch/powerpc/include/asm/nohash/64/pgtable.h
@@ -89,7 +89,21 @@
* Include the PTE bits definitions
*/
#include <asm/nohash/pte-book3e.h>
-#include <asm/pte-common.h>
+
+#define _PAGE_HWWRITE 0
+#define _PAGE_SAO 0
+#define _PAGE_RO 0
+#define _PAGE_NA 0
+#define _PAGE_HUGE 0
+
+#define PTE_RPN_MASK (~((1UL << PTE_RPN_SHIFT) - 1))
+
+/* _PAGE_CHG_MASK masks of bits that are to be preserved across
+ * pgprot changes
+ */
+#define _PAGE_CHG_MASK (PTE_RPN_MASK | _PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_SPECIAL)
+
+#define H_PAGE_4K_PFN 0
#ifndef __ASSEMBLY__
/* pte_clear moved to later in this file */
diff --git a/arch/powerpc/include/asm/nohash/pgtable.h b/arch/powerpc/include/asm/nohash/pgtable.h
index 8de3b7eb88b0..d3feeac19467 100644
--- a/arch/powerpc/include/asm/nohash/pgtable.h
+++ b/arch/powerpc/include/asm/nohash/pgtable.h
@@ -8,6 +8,33 @@
#include <asm/nohash/32/pgtable.h>
#endif
+/* Permission masks used for kernel mappings */
+#define PAGE_KERNEL __pgprot(_PAGE_BASE | _PAGE_KERNEL_RW)
+#define PAGE_KERNEL_NC __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | _PAGE_NO_CACHE)
+#define PAGE_KERNEL_NCG __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | \
+ _PAGE_NO_CACHE | _PAGE_GUARDED)
+#define PAGE_KERNEL_X __pgprot(_PAGE_BASE | _PAGE_KERNEL_RWX)
+#define PAGE_KERNEL_RO __pgprot(_PAGE_BASE | _PAGE_KERNEL_RO)
+#define PAGE_KERNEL_ROX __pgprot(_PAGE_BASE | _PAGE_KERNEL_ROX)
+
+/* Protection used for kernel text. We want the debuggers to be able to
+ * set breakpoints anywhere, so don't write protect the kernel text
+ * on platforms where such control is possible.
+ */
+#if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH) ||\
+ defined(CONFIG_KPROBES) || defined(CONFIG_DYNAMIC_FTRACE)
+#define PAGE_KERNEL_TEXT PAGE_KERNEL_X
+#else
+#define PAGE_KERNEL_TEXT PAGE_KERNEL_ROX
+#endif
+
+/* Make modules code happy. We don't set RO yet */
+#define PAGE_KERNEL_EXEC PAGE_KERNEL_X
+
+/* Advertise special mapping type for AGP */
+#define PAGE_AGP (PAGE_KERNEL_NC)
+#define HAVE_PAGE_AGP
+
#ifndef __ASSEMBLY__
/* Generic accessors to PTE bits */
diff --git a/arch/powerpc/include/asm/pte-common.h b/arch/powerpc/include/asm/pte-common.h
index cce60b3ba7d4..4d594039bca5 100644
--- a/arch/powerpc/include/asm/pte-common.h
+++ b/arch/powerpc/include/asm/pte-common.h
@@ -14,9 +14,6 @@
#ifndef _PAGE_WRITETHRU
#define _PAGE_WRITETHRU 0
#endif
-#ifndef _PAGE_SAO
-#define _PAGE_SAO 0
-#endif
/* _PAGE_RO and _PAGE_RW shall not be defined at the same time */
#ifndef _PAGE_RO
#define _PAGE_RO 0
@@ -61,35 +58,3 @@
*/
#define _PAGE_CHG_MASK (PTE_RPN_MASK | _PAGE_DIRTY | \
_PAGE_ACCESSED | _PAGE_SPECIAL)
-
-/* Permission masks used for kernel mappings */
-#define PAGE_KERNEL __pgprot(_PAGE_BASE | _PAGE_KERNEL_RW)
-#define PAGE_KERNEL_NC __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | \
- _PAGE_NO_CACHE)
-#define PAGE_KERNEL_NCG __pgprot(_PAGE_BASE_NC | _PAGE_KERNEL_RW | \
- _PAGE_NO_CACHE | _PAGE_GUARDED)
-#define PAGE_KERNEL_X __pgprot(_PAGE_BASE | _PAGE_KERNEL_RWX)
-#define PAGE_KERNEL_RO __pgprot(_PAGE_BASE | _PAGE_KERNEL_RO)
-#define PAGE_KERNEL_ROX __pgprot(_PAGE_BASE | _PAGE_KERNEL_ROX)
-
-/* Protection used for kernel text. We want the debuggers to be able to
- * set breakpoints anywhere, so don't write protect the kernel text
- * on platforms where such control is possible.
- */
-#if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH) ||\
- defined(CONFIG_KPROBES) || defined(CONFIG_DYNAMIC_FTRACE)
-#define PAGE_KERNEL_TEXT PAGE_KERNEL_X
-#else
-#define PAGE_KERNEL_TEXT PAGE_KERNEL_ROX
-#endif
-
-/* Make modules code happy. We don't set RO yet */
-#define PAGE_KERNEL_EXEC PAGE_KERNEL_X
-
-/* Advertise special mapping type for AGP */
-#define PAGE_AGP (PAGE_KERNEL_NC)
-#define HAVE_PAGE_AGP
-
-#ifndef H_PAGE_4K_PFN
-#define H_PAGE_4K_PFN 0
-#endif
--
2.13.3
next prev parent reply other threads:[~2018-10-09 13:52 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-09 13:51 [PATCH v3 00/24] ban the use of _PAGE_XXX flags outside platform specific code Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 01/24] powerpc/32: Add ioremap_wt() and ioremap_coherent() Christophe Leroy
2018-10-15 4:01 ` [v3,01/24] " Michael Ellerman
2018-10-09 13:51 ` [PATCH v3 02/24] drivers/video/fbdev: use ioremap_wc/wt() instead of __ioremap() Christophe Leroy
2018-10-11 14:07 ` Christophe LEROY
2018-10-09 13:51 ` [PATCH v3 03/24] drivers/block/z2ram: use ioremap_wt() instead of __ioremap(_PAGE_WRITETHRU) Christophe Leroy
2018-10-09 14:59 ` Bart Van Assche
2018-10-09 15:13 ` Geert Uytterhoeven
2018-10-09 13:51 ` [PATCH v3 04/24] soc/fsl/qbman: use ioremap_cache() instead of ioremap_prot(0) Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 05/24] powerpc: don't use ioremap_prot() nor __ioremap() unless really needed Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 06/24] powerpc/mm: properly set PAGE_KERNEL flags in ioremap() Christophe Leroy
2018-10-14 3:32 ` Michael Ellerman
2018-10-14 7:02 ` Michael Ellerman
2018-10-14 9:58 ` LEROY Christophe
2018-10-15 9:25 ` Michael Ellerman
2018-10-14 7:39 ` LEROY Christophe
2018-10-14 10:05 ` LEROY Christophe
2018-10-09 13:51 ` [PATCH v3 07/24] powerpc: handover page flags with a pgprot_t parameter Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 08/24] powerpc/mm: don't use _PAGE_EXEC in book3s/32 Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 09/24] powerpc/mm: move some nohash pte helpers in nohash/[32:64]/pgtable.h Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 10/24] powerpc/mm: add pte helpers to query and change pte flags Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 11/24] powerpc/mm: don't use _PAGE_EXEC for calling hash_preload() Christophe Leroy
2018-10-09 13:51 ` [PATCH v3 12/24] powerpc/mm: use pte helpers in generic code Christophe Leroy
2018-10-17 0:59 ` Crash on FSL Book3E due to pte_pgprot()? (was Re: [PATCH v3 12/24] powerpc/mm: use pte helpers in generic code) Michael Ellerman
2018-10-17 6:00 ` Christophe Leroy
2018-10-17 9:39 ` Aneesh Kumar K.V
2018-10-17 9:55 ` Christophe LEROY
2018-10-17 10:32 ` Michael Ellerman
2018-10-17 11:12 ` Christophe Leroy
2018-10-17 11:53 ` Aneesh Kumar K.V
2018-10-09 13:51 ` [PATCH v3 13/24] powerpc/mm: Split dump_pagelinuxtables flag_array table Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 14/24] powerpc/mm: drop unused page flags Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 15/24] powerpc/mm: move __P and __S tables in the common pgtable.h Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 16/24] powerpc/book3s/32: do not include pte-common.h Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 17/24] powerpc/mm: Move pte_user() into nohash/pgtable.h Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 18/24] powerpc/mm: Distribute platform specific PAGE and PMD flags and definitions Christophe Leroy
2018-10-09 13:52 ` Christophe Leroy [this message]
2018-10-09 13:52 ` [PATCH v3 20/24] powerpc/mm: Allow platforms to redefine some helpers Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 21/24] powerpc/mm: Define platform default caches related flags Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 22/24] powerpc/mm: Get rid of pte-common.h Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 23/24] powerpc/8xx: change name of a few page flags to avoid confusion Christophe Leroy
2018-10-09 13:52 ` [PATCH v3 24/24] powerpc/book3s64: Avoid multiple endian conversion in pte helpers Christophe Leroy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f442fba83ab8488ec73c4f060fdb134f425b7598.1539092112.git.christophe.leroy@c-s.fr \
--to=christophe.leroy@c-s.fr \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=axboe@kernel.dk \
--cc=b.zolnierkie@samsung.com \
--cc=benh@kernel.crashing.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=galak@kernel.crashing.org \
--cc=geoff@infradead.org \
--cc=leoyang.li@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@dominikbrodowski.net \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=oss@buserror.net \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).