Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c5d2d3f authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

powerpc/nohash/64: do not include pte-common.h



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: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent d82fd29c
Loading
Loading
Loading
Loading
+16 −1
Original line number Original line Diff line number Diff line
@@ -89,7 +89,22 @@
 * Include the PTE bits definitions
 * Include the PTE bits definitions
 */
 */
#include <asm/nohash/pte-book3e.h>
#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__
#ifndef __ASSEMBLY__
/* pte_clear moved to later in this file */
/* pte_clear moved to later in this file */
+28 −0
Original line number Original line Diff line number Diff line
@@ -8,6 +8,34 @@
#include <asm/nohash/32/pgtable.h>
#include <asm/nohash/32/pgtable.h>
#endif
#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__
#ifndef __ASSEMBLY__


/* Generic accessors to PTE bits */
/* Generic accessors to PTE bits */
+0 −35
Original line number Original line Diff line number Diff line
@@ -14,9 +14,6 @@
#ifndef _PAGE_WRITETHRU
#ifndef _PAGE_WRITETHRU
#define _PAGE_WRITETHRU	0
#define _PAGE_WRITETHRU	0
#endif
#endif
#ifndef _PAGE_SAO
#define _PAGE_SAO	0
#endif
/* _PAGE_RO and _PAGE_RW shall not be defined at the same time */
/* _PAGE_RO and _PAGE_RW shall not be defined at the same time */
#ifndef _PAGE_RO
#ifndef _PAGE_RO
#define _PAGE_RO 0
#define _PAGE_RO 0
@@ -61,35 +58,3 @@
 */
 */
#define _PAGE_CHG_MASK	(PTE_RPN_MASK | _PAGE_DIRTY | \
#define _PAGE_CHG_MASK	(PTE_RPN_MASK | _PAGE_DIRTY | \
                         _PAGE_ACCESSED | _PAGE_SPECIAL)
                         _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