From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
x86@kernel.org, openrisc@lists.librecores.org,
linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms
Date: Mon, 27 Jun 2022 10:28:07 +0530 [thread overview]
Message-ID: <20220627045833.1590055-1-anshuman.khandual@arm.com> (raw)
__SXXX/__PXXX macros is an unnecessary abstraction layer in creating the
generic protection_map[] array which is used for vm_get_page_prot(). This
abstraction layer can be avoided, if the platforms just define the array
protection_map[] for all possible vm_flags access permission combinations
and also export vm_get_page_prot() implementation.
This series drops __SXXX/__PXXX macros from across platforms in the tree.
First it build protects generic protection_map[] array with '#ifdef __P000'
and moves it inside platforms which enable ARCH_HAS_VM_GET_PAGE_PROT. Later
this build protects same array with '#ifdef ARCH_HAS_VM_GET_PAGE_PROT' and
moves inside remaining platforms while enabling ARCH_HAS_VM_GET_PAGE_PROT.
This adds a new macro DECLARE_VM_GET_PAGE_PROT defining the current generic
vm_get_page_prot(), in order for it to be reused on platforms that do not
require custom implementation. Finally, ARCH_HAS_VM_GET_PAGE_PROT can just
be dropped, as all platforms now define and export vm_get_page_prot(), via
looking up a private and static protection_map[] array. protection_map[]
data type has been changed as 'static const' on all platforms that do not
change it during boot.
This series applies on v5.19-rc3 and has been build tested for multiple
platforms. While here it has dropped off all previous tags from folks after
the current restructuring. Series common CC list has been expanded to cover
all impacted platforms for wider reach.
- Anshuman
Changes in V5:
- Converted most platfomr protection_map[] array as 'static const'
- Moved DECLARE_VM_GET_PAGE_PROT inside <include/linux/pgtable.h>
- Moved generic protection_map[] comment near DECLARE_VM_GET_PAGE_PROT
- Updated some commit messages
Changes in V4:
https://lore.kernel.org/all/20220624044339.1533882-1-anshuman.khandual@arm.com/
- Both protection_map[] and vm_get_page_prot() moves inside all platforms
- Split patches to create modular changes for individual platforms
- Add macro DECLARE_VM_GET_PAGE_PROT defining generic vm_get_page_prot()
- Drop ARCH_HAS_VM_GET_PAGE_PROT
Changes in V3:
https://lore.kernel.org/all/20220616040924.1022607-1-anshuman.khandual@arm.com/
- Fix build issues on powerpc and riscv
Changes in V2:
https://lore.kernel.org/all/20220613053354.553579-1-anshuman.khandual@arm.com/
- Add 'const' identifier to protection_map[] on powerpc
- Dropped #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT check from sparc 32
- Dropped protection_map[] init from sparc 64
- Dropped all new platform changes subscribing ARCH_HAS_VM_GET_PAGE_PROT
- Added a second patch which moves generic protection_map[] array into
all remaining platforms (!ARCH_HAS_VM_GET_PAGE_PROT)
Changes in V1:
https://lore.kernel.org/all/20220603101411.488970-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-alpha@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-sh@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Anshuman Khandual (26):
mm/mmap: Build protect protection_map[] with __P000
mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
powerpc/mm: Move protection_map[] inside the platform
sparc/mm: Move protection_map[] inside the platform
arm64/mm: Move protection_map[] inside the platform
x86/mm: Move protection_map[] inside the platform
mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT
microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
loongarch/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
xtensa/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
hexagon/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
parisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
alpha/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
ia64/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
m68k/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arm/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
um/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
sh/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
arch/alpha/include/asm/pgtable.h | 17 -------
arch/alpha/mm/init.c | 22 +++++++++
arch/arc/include/asm/pgtable-bits-arcv2.h | 18 --------
arch/arc/mm/mmap.c | 20 +++++++++
arch/arm/include/asm/pgtable.h | 17 -------
arch/arm/lib/uaccess_with_memcpy.c | 2 +-
arch/arm/mm/mmu.c | 20 +++++++++
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 +++++++++
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 20 +++++++++
arch/hexagon/include/asm/pgtable.h | 27 -----------
arch/hexagon/mm/init.c | 42 +++++++++++++++++
arch/ia64/include/asm/pgtable.h | 18 --------
arch/ia64/mm/init.c | 28 +++++++++++-
arch/loongarch/include/asm/pgtable-bits.h | 19 --------
arch/loongarch/mm/cache.c | 46 +++++++++++++++++++
arch/m68k/include/asm/mcf_pgtable.h | 54 ----------------------
arch/m68k/include/asm/motorola_pgtable.h | 22 ---------
arch/m68k/include/asm/sun3_pgtable.h | 17 -------
arch/m68k/mm/mcfmmu.c | 55 +++++++++++++++++++++++
arch/m68k/mm/motorola.c | 20 +++++++++
arch/m68k/mm/sun3mmu.c | 20 +++++++++
arch/microblaze/include/asm/pgtable.h | 17 -------
arch/microblaze/mm/init.c | 20 +++++++++
arch/mips/include/asm/pgtable.h | 22 ---------
arch/mips/mm/cache.c | 3 ++
arch/nios2/include/asm/pgtable.h | 16 -------
arch/nios2/mm/init.c | 20 +++++++++
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 20 +++++++++
arch/parisc/include/asm/pgtable.h | 18 --------
arch/parisc/mm/init.c | 20 +++++++++
arch/powerpc/Kconfig | 1 -
arch/powerpc/include/asm/pgtable.h | 20 +--------
arch/powerpc/mm/pgtable.c | 24 ++++++++++
arch/riscv/include/asm/pgtable.h | 20 ---------
arch/riscv/mm/init.c | 20 +++++++++
arch/s390/include/asm/pgtable.h | 17 -------
arch/s390/mm/mmap.c | 20 +++++++++
arch/sh/include/asm/pgtable.h | 17 -------
arch/sh/mm/mmap.c | 20 +++++++++
arch/sparc/Kconfig | 1 -
arch/sparc/include/asm/pgtable_32.h | 19 --------
arch/sparc/include/asm/pgtable_64.h | 19 --------
arch/sparc/mm/init_32.c | 20 +++++++++
arch/sparc/mm/init_64.c | 3 ++
arch/um/include/asm/pgtable.h | 17 -------
arch/um/kernel/mem.c | 20 +++++++++
arch/x86/Kconfig | 1 -
arch/x86/include/asm/pgtable_types.h | 19 --------
arch/x86/mm/mem_encrypt_amd.c | 7 ++-
arch/x86/mm/pgprot.c | 27 +++++++++++
arch/x86/um/mem_32.c | 2 +-
arch/xtensa/include/asm/pgtable.h | 18 --------
arch/xtensa/mm/init.c | 20 +++++++++
include/linux/mm.h | 1 -
include/linux/pgtable.h | 28 ++++++++++++
mm/Kconfig | 3 --
mm/mmap.c | 47 -------------------
61 files changed, 604 insertions(+), 563 deletions(-)
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
x86@kernel.org, openrisc@lists.librecores.org,
linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms
Date: Mon, 27 Jun 2022 10:28:07 +0530 [thread overview]
Message-ID: <20220627045833.1590055-1-anshuman.khandual@arm.com> (raw)
__SXXX/__PXXX macros is an unnecessary abstraction layer in creating the
generic protection_map[] array which is used for vm_get_page_prot(). This
abstraction layer can be avoided, if the platforms just define the array
protection_map[] for all possible vm_flags access permission combinations
and also export vm_get_page_prot() implementation.
This series drops __SXXX/__PXXX macros from across platforms in the tree.
First it build protects generic protection_map[] array with '#ifdef __P000'
and moves it inside platforms which enable ARCH_HAS_VM_GET_PAGE_PROT. Later
this build protects same array with '#ifdef ARCH_HAS_VM_GET_PAGE_PROT' and
moves inside remaining platforms while enabling ARCH_HAS_VM_GET_PAGE_PROT.
This adds a new macro DECLARE_VM_GET_PAGE_PROT defining the current generic
vm_get_page_prot(), in order for it to be reused on platforms that do not
require custom implementation. Finally, ARCH_HAS_VM_GET_PAGE_PROT can just
be dropped, as all platforms now define and export vm_get_page_prot(), via
looking up a private and static protection_map[] array. protection_map[]
data type has been changed as 'static const' on all platforms that do not
change it during boot.
This series applies on v5.19-rc3 and has been build tested for multiple
platforms. While here it has dropped off all previous tags from folks after
the current restructuring. Series common CC list has been expanded to cover
all impacted platforms for wider reach.
- Anshuman
Changes in V5:
- Converted most platfomr protection_map[] array as 'static const'
- Moved DECLARE_VM_GET_PAGE_PROT inside <include/linux/pgtable.h>
- Moved generic protection_map[] comment near DECLARE_VM_GET_PAGE_PROT
- Updated some commit messages
Changes in V4:
https://lore.kernel.org/all/20220624044339.1533882-1-anshuman.khandual@arm.com/
- Both protection_map[] and vm_get_page_prot() moves inside all platforms
- Split patches to create modular changes for individual platforms
- Add macro DECLARE_VM_GET_PAGE_PROT defining generic vm_get_page_prot()
- Drop ARCH_HAS_VM_GET_PAGE_PROT
Changes in V3:
https://lore.kernel.org/all/20220616040924.1022607-1-anshuman.khandual@arm.com/
- Fix build issues on powerpc and riscv
Changes in V2:
https://lore.kernel.org/all/20220613053354.553579-1-anshuman.khandual@arm.com/
- Add 'const' identifier to protection_map[] on powerpc
- Dropped #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT check from sparc 32
- Dropped protection_map[] init from sparc 64
- Dropped all new platform changes subscribing ARCH_HAS_VM_GET_PAGE_PROT
- Added a second patch which moves generic protection_map[] array into
all remaining platforms (!ARCH_HAS_VM_GET_PAGE_PROT)
Changes in V1:
https://lore.kernel.org/all/20220603101411.488970-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-alpha@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-sh@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Anshuman Khandual (26):
mm/mmap: Build protect protection_map[] with __P000
mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
powerpc/mm: Move protection_map[] inside the platform
sparc/mm: Move protection_map[] inside the platform
arm64/mm: Move protection_map[] inside the platform
x86/mm: Move protection_map[] inside the platform
mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT
microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
loongarch/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
xtensa/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
hexagon/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
parisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
alpha/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
ia64/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
m68k/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arm/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
um/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
sh/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
arch/alpha/include/asm/pgtable.h | 17 -------
arch/alpha/mm/init.c | 22 +++++++++
arch/arc/include/asm/pgtable-bits-arcv2.h | 18 --------
arch/arc/mm/mmap.c | 20 +++++++++
arch/arm/include/asm/pgtable.h | 17 -------
arch/arm/lib/uaccess_with_memcpy.c | 2 +-
arch/arm/mm/mmu.c | 20 +++++++++
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 +++++++++
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 20 +++++++++
arch/hexagon/include/asm/pgtable.h | 27 -----------
arch/hexagon/mm/init.c | 42 +++++++++++++++++
arch/ia64/include/asm/pgtable.h | 18 --------
arch/ia64/mm/init.c | 28 +++++++++++-
arch/loongarch/include/asm/pgtable-bits.h | 19 --------
arch/loongarch/mm/cache.c | 46 +++++++++++++++++++
arch/m68k/include/asm/mcf_pgtable.h | 54 ----------------------
arch/m68k/include/asm/motorola_pgtable.h | 22 ---------
arch/m68k/include/asm/sun3_pgtable.h | 17 -------
arch/m68k/mm/mcfmmu.c | 55 +++++++++++++++++++++++
arch/m68k/mm/motorola.c | 20 +++++++++
arch/m68k/mm/sun3mmu.c | 20 +++++++++
arch/microblaze/include/asm/pgtable.h | 17 -------
arch/microblaze/mm/init.c | 20 +++++++++
arch/mips/include/asm/pgtable.h | 22 ---------
arch/mips/mm/cache.c | 3 ++
arch/nios2/include/asm/pgtable.h | 16 -------
arch/nios2/mm/init.c | 20 +++++++++
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 20 +++++++++
arch/parisc/include/asm/pgtable.h | 18 --------
arch/parisc/mm/init.c | 20 +++++++++
arch/powerpc/Kconfig | 1 -
arch/powerpc/include/asm/pgtable.h | 20 +--------
arch/powerpc/mm/pgtable.c | 24 ++++++++++
arch/riscv/include/asm/pgtable.h | 20 ---------
arch/riscv/mm/init.c | 20 +++++++++
arch/s390/include/asm/pgtable.h | 17 -------
arch/s390/mm/mmap.c | 20 +++++++++
arch/sh/include/asm/pgtable.h | 17 -------
arch/sh/mm/mmap.c | 20 +++++++++
arch/sparc/Kconfig | 1 -
arch/sparc/include/asm/pgtable_32.h | 19 --------
arch/sparc/include/asm/pgtable_64.h | 19 --------
arch/sparc/mm/init_32.c | 20 +++++++++
arch/sparc/mm/init_64.c | 3 ++
arch/um/include/asm/pgtable.h | 17 -------
arch/um/kernel/mem.c | 20 +++++++++
arch/x86/Kconfig | 1 -
arch/x86/include/asm/pgtable_types.h | 19 --------
arch/x86/mm/mem_encrypt_amd.c | 7 ++-
arch/x86/mm/pgprot.c | 27 +++++++++++
arch/x86/um/mem_32.c | 2 +-
arch/xtensa/include/asm/pgtable.h | 18 --------
arch/xtensa/mm/init.c | 20 +++++++++
include/linux/mm.h | 1 -
include/linux/pgtable.h | 28 ++++++++++++
mm/Kconfig | 3 --
mm/mmap.c | 47 -------------------
61 files changed, 604 insertions(+), 563 deletions(-)
--
2.25.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-hexagon@vger.kernel.org,
x86@kernel.org, hch@infradead.org,
linux-snps-arc@lists.infradead.org,
linux-xtensa@linux-xtensa.org,
Anshuman Khandual <anshuman.khandual@arm.com>,
linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org,
openrisc@lists.librecores.org,
linux-arm-kernel@lists.infradead.org,
linux-parisc@vger.kernel.org, linux-mips@vger.kernel.org,
linux-alpha@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org
Subject: [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms
Date: Mon, 27 Jun 2022 10:28:07 +0530 [thread overview]
Message-ID: <20220627045833.1590055-1-anshuman.khandual@arm.com> (raw)
__SXXX/__PXXX macros is an unnecessary abstraction layer in creating the
generic protection_map[] array which is used for vm_get_page_prot(). This
abstraction layer can be avoided, if the platforms just define the array
protection_map[] for all possible vm_flags access permission combinations
and also export vm_get_page_prot() implementation.
This series drops __SXXX/__PXXX macros from across platforms in the tree.
First it build protects generic protection_map[] array with '#ifdef __P000'
and moves it inside platforms which enable ARCH_HAS_VM_GET_PAGE_PROT. Later
this build protects same array with '#ifdef ARCH_HAS_VM_GET_PAGE_PROT' and
moves inside remaining platforms while enabling ARCH_HAS_VM_GET_PAGE_PROT.
This adds a new macro DECLARE_VM_GET_PAGE_PROT defining the current generic
vm_get_page_prot(), in order for it to be reused on platforms that do not
require custom implementation. Finally, ARCH_HAS_VM_GET_PAGE_PROT can just
be dropped, as all platforms now define and export vm_get_page_prot(), via
looking up a private and static protection_map[] array. protection_map[]
data type has been changed as 'static const' on all platforms that do not
change it during boot.
This series applies on v5.19-rc3 and has been build tested for multiple
platforms. While here it has dropped off all previous tags from folks after
the current restructuring. Series common CC list has been expanded to cover
all impacted platforms for wider reach.
- Anshuman
Changes in V5:
- Converted most platfomr protection_map[] array as 'static const'
- Moved DECLARE_VM_GET_PAGE_PROT inside <include/linux/pgtable.h>
- Moved generic protection_map[] comment near DECLARE_VM_GET_PAGE_PROT
- Updated some commit messages
Changes in V4:
https://lore.kernel.org/all/20220624044339.1533882-1-anshuman.khandual@arm.com/
- Both protection_map[] and vm_get_page_prot() moves inside all platforms
- Split patches to create modular changes for individual platforms
- Add macro DECLARE_VM_GET_PAGE_PROT defining generic vm_get_page_prot()
- Drop ARCH_HAS_VM_GET_PAGE_PROT
Changes in V3:
https://lore.kernel.org/all/20220616040924.1022607-1-anshuman.khandual@arm.com/
- Fix build issues on powerpc and riscv
Changes in V2:
https://lore.kernel.org/all/20220613053354.553579-1-anshuman.khandual@arm.com/
- Add 'const' identifier to protection_map[] on powerpc
- Dropped #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT check from sparc 32
- Dropped protection_map[] init from sparc 64
- Dropped all new platform changes subscribing ARCH_HAS_VM_GET_PAGE_PROT
- Added a second patch which moves generic protection_map[] array into
all remaining platforms (!ARCH_HAS_VM_GET_PAGE_PROT)
Changes in V1:
https://lore.kernel.org/all/20220603101411.488970-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-alpha@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-sh@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Anshuman Khandual (26):
mm/mmap: Build protect protection_map[] with __P000
mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
powerpc/mm: Move protection_map[] inside the platform
sparc/mm: Move protection_map[] inside the platform
arm64/mm: Move protection_map[] inside the platform
x86/mm: Move protection_map[] inside the platform
mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT
microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
loongarch/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
xtensa/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
hexagon/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
parisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
alpha/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
ia64/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
m68k/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arm/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
um/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
sh/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
arch/alpha/include/asm/pgtable.h | 17 -------
arch/alpha/mm/init.c | 22 +++++++++
arch/arc/include/asm/pgtable-bits-arcv2.h | 18 --------
arch/arc/mm/mmap.c | 20 +++++++++
arch/arm/include/asm/pgtable.h | 17 -------
arch/arm/lib/uaccess_with_memcpy.c | 2 +-
arch/arm/mm/mmu.c | 20 +++++++++
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 +++++++++
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 20 +++++++++
arch/hexagon/include/asm/pgtable.h | 27 -----------
arch/hexagon/mm/init.c | 42 +++++++++++++++++
arch/ia64/include/asm/pgtable.h | 18 --------
arch/ia64/mm/init.c | 28 +++++++++++-
arch/loongarch/include/asm/pgtable-bits.h | 19 --------
arch/loongarch/mm/cache.c | 46 +++++++++++++++++++
arch/m68k/include/asm/mcf_pgtable.h | 54 ----------------------
arch/m68k/include/asm/motorola_pgtable.h | 22 ---------
arch/m68k/include/asm/sun3_pgtable.h | 17 -------
arch/m68k/mm/mcfmmu.c | 55 +++++++++++++++++++++++
arch/m68k/mm/motorola.c | 20 +++++++++
arch/m68k/mm/sun3mmu.c | 20 +++++++++
arch/microblaze/include/asm/pgtable.h | 17 -------
arch/microblaze/mm/init.c | 20 +++++++++
arch/mips/include/asm/pgtable.h | 22 ---------
arch/mips/mm/cache.c | 3 ++
arch/nios2/include/asm/pgtable.h | 16 -------
arch/nios2/mm/init.c | 20 +++++++++
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 20 +++++++++
arch/parisc/include/asm/pgtable.h | 18 --------
arch/parisc/mm/init.c | 20 +++++++++
arch/powerpc/Kconfig | 1 -
arch/powerpc/include/asm/pgtable.h | 20 +--------
arch/powerpc/mm/pgtable.c | 24 ++++++++++
arch/riscv/include/asm/pgtable.h | 20 ---------
arch/riscv/mm/init.c | 20 +++++++++
arch/s390/include/asm/pgtable.h | 17 -------
arch/s390/mm/mmap.c | 20 +++++++++
arch/sh/include/asm/pgtable.h | 17 -------
arch/sh/mm/mmap.c | 20 +++++++++
arch/sparc/Kconfig | 1 -
arch/sparc/include/asm/pgtable_32.h | 19 --------
arch/sparc/include/asm/pgtable_64.h | 19 --------
arch/sparc/mm/init_32.c | 20 +++++++++
arch/sparc/mm/init_64.c | 3 ++
arch/um/include/asm/pgtable.h | 17 -------
arch/um/kernel/mem.c | 20 +++++++++
arch/x86/Kconfig | 1 -
arch/x86/include/asm/pgtable_types.h | 19 --------
arch/x86/mm/mem_encrypt_amd.c | 7 ++-
arch/x86/mm/pgprot.c | 27 +++++++++++
arch/x86/um/mem_32.c | 2 +-
arch/xtensa/include/asm/pgtable.h | 18 --------
arch/xtensa/mm/init.c | 20 +++++++++
include/linux/mm.h | 1 -
include/linux/pgtable.h | 28 ++++++++++++
mm/Kconfig | 3 --
mm/mmap.c | 47 -------------------
61 files changed, 604 insertions(+), 563 deletions(-)
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
x86@kernel.org, openrisc@lists.librecores.org,
linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms
Date: Mon, 27 Jun 2022 10:28:07 +0530 [thread overview]
Message-ID: <20220627045833.1590055-1-anshuman.khandual@arm.com> (raw)
__SXXX/__PXXX macros is an unnecessary abstraction layer in creating the
generic protection_map[] array which is used for vm_get_page_prot(). This
abstraction layer can be avoided, if the platforms just define the array
protection_map[] for all possible vm_flags access permission combinations
and also export vm_get_page_prot() implementation.
This series drops __SXXX/__PXXX macros from across platforms in the tree.
First it build protects generic protection_map[] array with '#ifdef __P000'
and moves it inside platforms which enable ARCH_HAS_VM_GET_PAGE_PROT. Later
this build protects same array with '#ifdef ARCH_HAS_VM_GET_PAGE_PROT' and
moves inside remaining platforms while enabling ARCH_HAS_VM_GET_PAGE_PROT.
This adds a new macro DECLARE_VM_GET_PAGE_PROT defining the current generic
vm_get_page_prot(), in order for it to be reused on platforms that do not
require custom implementation. Finally, ARCH_HAS_VM_GET_PAGE_PROT can just
be dropped, as all platforms now define and export vm_get_page_prot(), via
looking up a private and static protection_map[] array. protection_map[]
data type has been changed as 'static const' on all platforms that do not
change it during boot.
This series applies on v5.19-rc3 and has been build tested for multiple
platforms. While here it has dropped off all previous tags from folks after
the current restructuring. Series common CC list has been expanded to cover
all impacted platforms for wider reach.
- Anshuman
Changes in V5:
- Converted most platfomr protection_map[] array as 'static const'
- Moved DECLARE_VM_GET_PAGE_PROT inside <include/linux/pgtable.h>
- Moved generic protection_map[] comment near DECLARE_VM_GET_PAGE_PROT
- Updated some commit messages
Changes in V4:
https://lore.kernel.org/all/20220624044339.1533882-1-anshuman.khandual@arm.com/
- Both protection_map[] and vm_get_page_prot() moves inside all platforms
- Split patches to create modular changes for individual platforms
- Add macro DECLARE_VM_GET_PAGE_PROT defining generic vm_get_page_prot()
- Drop ARCH_HAS_VM_GET_PAGE_PROT
Changes in V3:
https://lore.kernel.org/all/20220616040924.1022607-1-anshuman.khandual@arm.com/
- Fix build issues on powerpc and riscv
Changes in V2:
https://lore.kernel.org/all/20220613053354.553579-1-anshuman.khandual@arm.com/
- Add 'const' identifier to protection_map[] on powerpc
- Dropped #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT check from sparc 32
- Dropped protection_map[] init from sparc 64
- Dropped all new platform changes subscribing ARCH_HAS_VM_GET_PAGE_PROT
- Added a second patch which moves generic protection_map[] array into
all remaining platforms (!ARCH_HAS_VM_GET_PAGE_PROT)
Changes in V1:
https://lore.kernel.org/all/20220603101411.488970-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-alpha@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-sh@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Anshuman Khandual (26):
mm/mmap: Build protect protection_map[] with __P000
mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
powerpc/mm: Move protection_map[] inside the platform
sparc/mm: Move protection_map[] inside the platform
arm64/mm: Move protection_map[] inside the platform
x86/mm: Move protection_map[] inside the platform
mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT
microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
loongarch/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
xtensa/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
hexagon/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
parisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
alpha/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
ia64/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
m68k/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arm/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
um/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
sh/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
arch/alpha/include/asm/pgtable.h | 17 -------
arch/alpha/mm/init.c | 22 +++++++++
arch/arc/include/asm/pgtable-bits-arcv2.h | 18 --------
arch/arc/mm/mmap.c | 20 +++++++++
arch/arm/include/asm/pgtable.h | 17 -------
arch/arm/lib/uaccess_with_memcpy.c | 2 +-
arch/arm/mm/mmu.c | 20 +++++++++
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 +++++++++
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 20 +++++++++
arch/hexagon/include/asm/pgtable.h | 27 -----------
arch/hexagon/mm/init.c | 42 +++++++++++++++++
arch/ia64/include/asm/pgtable.h | 18 --------
arch/ia64/mm/init.c | 28 +++++++++++-
arch/loongarch/include/asm/pgtable-bits.h | 19 --------
arch/loongarch/mm/cache.c | 46 +++++++++++++++++++
arch/m68k/include/asm/mcf_pgtable.h | 54 ----------------------
arch/m68k/include/asm/motorola_pgtable.h | 22 ---------
arch/m68k/include/asm/sun3_pgtable.h | 17 -------
arch/m68k/mm/mcfmmu.c | 55 +++++++++++++++++++++++
arch/m68k/mm/motorola.c | 20 +++++++++
arch/m68k/mm/sun3mmu.c | 20 +++++++++
arch/microblaze/include/asm/pgtable.h | 17 -------
arch/microblaze/mm/init.c | 20 +++++++++
arch/mips/include/asm/pgtable.h | 22 ---------
arch/mips/mm/cache.c | 3 ++
arch/nios2/include/asm/pgtable.h | 16 -------
arch/nios2/mm/init.c | 20 +++++++++
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 20 +++++++++
arch/parisc/include/asm/pgtable.h | 18 --------
arch/parisc/mm/init.c | 20 +++++++++
arch/powerpc/Kconfig | 1 -
arch/powerpc/include/asm/pgtable.h | 20 +--------
arch/powerpc/mm/pgtable.c | 24 ++++++++++
arch/riscv/include/asm/pgtable.h | 20 ---------
arch/riscv/mm/init.c | 20 +++++++++
arch/s390/include/asm/pgtable.h | 17 -------
arch/s390/mm/mmap.c | 20 +++++++++
arch/sh/include/asm/pgtable.h | 17 -------
arch/sh/mm/mmap.c | 20 +++++++++
arch/sparc/Kconfig | 1 -
arch/sparc/include/asm/pgtable_32.h | 19 --------
arch/sparc/include/asm/pgtable_64.h | 19 --------
arch/sparc/mm/init_32.c | 20 +++++++++
arch/sparc/mm/init_64.c | 3 ++
arch/um/include/asm/pgtable.h | 17 -------
arch/um/kernel/mem.c | 20 +++++++++
arch/x86/Kconfig | 1 -
arch/x86/include/asm/pgtable_types.h | 19 --------
arch/x86/mm/mem_encrypt_amd.c | 7 ++-
arch/x86/mm/pgprot.c | 27 +++++++++++
arch/x86/um/mem_32.c | 2 +-
arch/xtensa/include/asm/pgtable.h | 18 --------
arch/xtensa/mm/init.c | 20 +++++++++
include/linux/mm.h | 1 -
include/linux/pgtable.h | 28 ++++++++++++
mm/Kconfig | 3 --
mm/mmap.c | 47 -------------------
61 files changed, 604 insertions(+), 563 deletions(-)
--
2.25.1
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-hexagon@vger.kernel.org,
x86@kernel.org, christophe.leroy@csgroup.eu, hch@infradead.org,
linux-snps-arc@lists.infradead.org,
linux-xtensa@linux-xtensa.org,
Anshuman Khandual <anshuman.khandual@arm.com>,
linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org,
openrisc@lists.librecores.org,
linux-arm-kernel@lists.infradead.org,
linux-parisc@vger.kernel.org, linux-mips@vger.kernel.org,
linux-alpha@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org
Subject: [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms
Date: Mon, 27 Jun 2022 10:28:07 +0530 [thread overview]
Message-ID: <20220627045833.1590055-1-anshuman.khandual@arm.com> (raw)
__SXXX/__PXXX macros is an unnecessary abstraction layer in creating the
generic protection_map[] array which is used for vm_get_page_prot(). This
abstraction layer can be avoided, if the platforms just define the array
protection_map[] for all possible vm_flags access permission combinations
and also export vm_get_page_prot() implementation.
This series drops __SXXX/__PXXX macros from across platforms in the tree.
First it build protects generic protection_map[] array with '#ifdef __P000'
and moves it inside platforms which enable ARCH_HAS_VM_GET_PAGE_PROT. Later
this build protects same array with '#ifdef ARCH_HAS_VM_GET_PAGE_PROT' and
moves inside remaining platforms while enabling ARCH_HAS_VM_GET_PAGE_PROT.
This adds a new macro DECLARE_VM_GET_PAGE_PROT defining the current generic
vm_get_page_prot(), in order for it to be reused on platforms that do not
require custom implementation. Finally, ARCH_HAS_VM_GET_PAGE_PROT can just
be dropped, as all platforms now define and export vm_get_page_prot(), via
looking up a private and static protection_map[] array. protection_map[]
data type has been changed as 'static const' on all platforms that do not
change it during boot.
This series applies on v5.19-rc3 and has been build tested for multiple
platforms. While here it has dropped off all previous tags from folks after
the current restructuring. Series common CC list has been expanded to cover
all impacted platforms for wider reach.
- Anshuman
Changes in V5:
- Converted most platfomr protection_map[] array as 'static const'
- Moved DECLARE_VM_GET_PAGE_PROT inside <include/linux/pgtable.h>
- Moved generic protection_map[] comment near DECLARE_VM_GET_PAGE_PROT
- Updated some commit messages
Changes in V4:
https://lore.kernel.org/all/20220624044339.1533882-1-anshuman.khandual@arm.com/
- Both protection_map[] and vm_get_page_prot() moves inside all platforms
- Split patches to create modular changes for individual platforms
- Add macro DECLARE_VM_GET_PAGE_PROT defining generic vm_get_page_prot()
- Drop ARCH_HAS_VM_GET_PAGE_PROT
Changes in V3:
https://lore.kernel.org/all/20220616040924.1022607-1-anshuman.khandual@arm.com/
- Fix build issues on powerpc and riscv
Changes in V2:
https://lore.kernel.org/all/20220613053354.553579-1-anshuman.khandual@arm.com/
- Add 'const' identifier to protection_map[] on powerpc
- Dropped #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT check from sparc 32
- Dropped protection_map[] init from sparc 64
- Dropped all new platform changes subscribing ARCH_HAS_VM_GET_PAGE_PROT
- Added a second patch which moves generic protection_map[] array into
all remaining platforms (!ARCH_HAS_VM_GET_PAGE_PROT)
Changes in V1:
https://lore.kernel.org/all/20220603101411.488970-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-alpha@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-sh@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Anshuman Khandual (26):
mm/mmap: Build protect protection_map[] with __P000
mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
powerpc/mm: Move protection_map[] inside the platform
sparc/mm: Move protection_map[] inside the platform
arm64/mm: Move protection_map[] inside the platform
x86/mm: Move protection_map[] inside the platform
mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT
microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
loongarch/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
xtensa/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
hexagon/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
parisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
alpha/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
ia64/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
m68k/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arm/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
um/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
sh/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
arch/alpha/include/asm/pgtable.h | 17 -------
arch/alpha/mm/init.c | 22 +++++++++
arch/arc/include/asm/pgtable-bits-arcv2.h | 18 --------
arch/arc/mm/mmap.c | 20 +++++++++
arch/arm/include/asm/pgtable.h | 17 -------
arch/arm/lib/uaccess_with_memcpy.c | 2 +-
arch/arm/mm/mmu.c | 20 +++++++++
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 +++++++++
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 20 +++++++++
arch/hexagon/include/asm/pgtable.h | 27 -----------
arch/hexagon/mm/init.c | 42 +++++++++++++++++
arch/ia64/include/asm/pgtable.h | 18 --------
arch/ia64/mm/init.c | 28 +++++++++++-
arch/loongarch/include/asm/pgtable-bits.h | 19 --------
arch/loongarch/mm/cache.c | 46 +++++++++++++++++++
arch/m68k/include/asm/mcf_pgtable.h | 54 ----------------------
arch/m68k/include/asm/motorola_pgtable.h | 22 ---------
arch/m68k/include/asm/sun3_pgtable.h | 17 -------
arch/m68k/mm/mcfmmu.c | 55 +++++++++++++++++++++++
arch/m68k/mm/motorola.c | 20 +++++++++
arch/m68k/mm/sun3mmu.c | 20 +++++++++
arch/microblaze/include/asm/pgtable.h | 17 -------
arch/microblaze/mm/init.c | 20 +++++++++
arch/mips/include/asm/pgtable.h | 22 ---------
arch/mips/mm/cache.c | 3 ++
arch/nios2/include/asm/pgtable.h | 16 -------
arch/nios2/mm/init.c | 20 +++++++++
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 20 +++++++++
arch/parisc/include/asm/pgtable.h | 18 --------
arch/parisc/mm/init.c | 20 +++++++++
arch/powerpc/Kconfig | 1 -
arch/powerpc/include/asm/pgtable.h | 20 +--------
arch/powerpc/mm/pgtable.c | 24 ++++++++++
arch/riscv/include/asm/pgtable.h | 20 ---------
arch/riscv/mm/init.c | 20 +++++++++
arch/s390/include/asm/pgtable.h | 17 -------
arch/s390/mm/mmap.c | 20 +++++++++
arch/sh/include/asm/pgtable.h | 17 -------
arch/sh/mm/mmap.c | 20 +++++++++
arch/sparc/Kconfig | 1 -
arch/sparc/include/asm/pgtable_32.h | 19 --------
arch/sparc/include/asm/pgtable_64.h | 19 --------
arch/sparc/mm/init_32.c | 20 +++++++++
arch/sparc/mm/init_64.c | 3 ++
arch/um/include/asm/pgtable.h | 17 -------
arch/um/kernel/mem.c | 20 +++++++++
arch/x86/Kconfig | 1 -
arch/x86/include/asm/pgtable_types.h | 19 --------
arch/x86/mm/mem_encrypt_amd.c | 7 ++-
arch/x86/mm/pgprot.c | 27 +++++++++++
arch/x86/um/mem_32.c | 2 +-
arch/xtensa/include/asm/pgtable.h | 18 --------
arch/xtensa/mm/init.c | 20 +++++++++
include/linux/mm.h | 1 -
include/linux/pgtable.h | 28 ++++++++++++
mm/Kconfig | 3 --
mm/mmap.c | 47 -------------------
61 files changed, 604 insertions(+), 563 deletions(-)
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
x86@kernel.org, openrisc@lists.librecores.org,
linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms
Date: Mon, 27 Jun 2022 10:28:07 +0530 [thread overview]
Message-ID: <20220627045833.1590055-1-anshuman.khandual@arm.com> (raw)
__SXXX/__PXXX macros is an unnecessary abstraction layer in creating the
generic protection_map[] array which is used for vm_get_page_prot(). This
abstraction layer can be avoided, if the platforms just define the array
protection_map[] for all possible vm_flags access permission combinations
and also export vm_get_page_prot() implementation.
This series drops __SXXX/__PXXX macros from across platforms in the tree.
First it build protects generic protection_map[] array with '#ifdef __P000'
and moves it inside platforms which enable ARCH_HAS_VM_GET_PAGE_PROT. Later
this build protects same array with '#ifdef ARCH_HAS_VM_GET_PAGE_PROT' and
moves inside remaining platforms while enabling ARCH_HAS_VM_GET_PAGE_PROT.
This adds a new macro DECLARE_VM_GET_PAGE_PROT defining the current generic
vm_get_page_prot(), in order for it to be reused on platforms that do not
require custom implementation. Finally, ARCH_HAS_VM_GET_PAGE_PROT can just
be dropped, as all platforms now define and export vm_get_page_prot(), via
looking up a private and static protection_map[] array. protection_map[]
data type has been changed as 'static const' on all platforms that do not
change it during boot.
This series applies on v5.19-rc3 and has been build tested for multiple
platforms. While here it has dropped off all previous tags from folks after
the current restructuring. Series common CC list has been expanded to cover
all impacted platforms for wider reach.
- Anshuman
Changes in V5:
- Converted most platfomr protection_map[] array as 'static const'
- Moved DECLARE_VM_GET_PAGE_PROT inside <include/linux/pgtable.h>
- Moved generic protection_map[] comment near DECLARE_VM_GET_PAGE_PROT
- Updated some commit messages
Changes in V4:
https://lore.kernel.org/all/20220624044339.1533882-1-anshuman.khandual@arm.com/
- Both protection_map[] and vm_get_page_prot() moves inside all platforms
- Split patches to create modular changes for individual platforms
- Add macro DECLARE_VM_GET_PAGE_PROT defining generic vm_get_page_prot()
- Drop ARCH_HAS_VM_GET_PAGE_PROT
Changes in V3:
https://lore.kernel.org/all/20220616040924.1022607-1-anshuman.khandual@arm.com/
- Fix build issues on powerpc and riscv
Changes in V2:
https://lore.kernel.org/all/20220613053354.553579-1-anshuman.khandual@arm.com/
- Add 'const' identifier to protection_map[] on powerpc
- Dropped #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT check from sparc 32
- Dropped protection_map[] init from sparc 64
- Dropped all new platform changes subscribing ARCH_HAS_VM_GET_PAGE_PROT
- Added a second patch which moves generic protection_map[] array into
all remaining platforms (!ARCH_HAS_VM_GET_PAGE_PROT)
Changes in V1:
https://lore.kernel.org/all/20220603101411.488970-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-alpha@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-sh@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Anshuman Khandual (26):
mm/mmap: Build protect protection_map[] with __P000
mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
powerpc/mm: Move protection_map[] inside the platform
sparc/mm: Move protection_map[] inside the platform
arm64/mm: Move protection_map[] inside the platform
x86/mm: Move protection_map[] inside the platform
mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT
microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
loongarch/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
xtensa/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
hexagon/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
parisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
alpha/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
ia64/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
m68k/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arm/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
um/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
sh/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
arch/alpha/include/asm/pgtable.h | 17 -------
arch/alpha/mm/init.c | 22 +++++++++
arch/arc/include/asm/pgtable-bits-arcv2.h | 18 --------
arch/arc/mm/mmap.c | 20 +++++++++
arch/arm/include/asm/pgtable.h | 17 -------
arch/arm/lib/uaccess_with_memcpy.c | 2 +-
arch/arm/mm/mmu.c | 20 +++++++++
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 +++++++++
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 20 +++++++++
arch/hexagon/include/asm/pgtable.h | 27 -----------
arch/hexagon/mm/init.c | 42 +++++++++++++++++
arch/ia64/include/asm/pgtable.h | 18 --------
arch/ia64/mm/init.c | 28 +++++++++++-
arch/loongarch/include/asm/pgtable-bits.h | 19 --------
arch/loongarch/mm/cache.c | 46 +++++++++++++++++++
arch/m68k/include/asm/mcf_pgtable.h | 54 ----------------------
arch/m68k/include/asm/motorola_pgtable.h | 22 ---------
arch/m68k/include/asm/sun3_pgtable.h | 17 -------
arch/m68k/mm/mcfmmu.c | 55 +++++++++++++++++++++++
arch/m68k/mm/motorola.c | 20 +++++++++
arch/m68k/mm/sun3mmu.c | 20 +++++++++
arch/microblaze/include/asm/pgtable.h | 17 -------
arch/microblaze/mm/init.c | 20 +++++++++
arch/mips/include/asm/pgtable.h | 22 ---------
arch/mips/mm/cache.c | 3 ++
arch/nios2/include/asm/pgtable.h | 16 -------
arch/nios2/mm/init.c | 20 +++++++++
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 20 +++++++++
arch/parisc/include/asm/pgtable.h | 18 --------
arch/parisc/mm/init.c | 20 +++++++++
arch/powerpc/Kconfig | 1 -
arch/powerpc/include/asm/pgtable.h | 20 +--------
arch/powerpc/mm/pgtable.c | 24 ++++++++++
arch/riscv/include/asm/pgtable.h | 20 ---------
arch/riscv/mm/init.c | 20 +++++++++
arch/s390/include/asm/pgtable.h | 17 -------
arch/s390/mm/mmap.c | 20 +++++++++
arch/sh/include/asm/pgtable.h | 17 -------
arch/sh/mm/mmap.c | 20 +++++++++
arch/sparc/Kconfig | 1 -
arch/sparc/include/asm/pgtable_32.h | 19 --------
arch/sparc/include/asm/pgtable_64.h | 19 --------
arch/sparc/mm/init_32.c | 20 +++++++++
arch/sparc/mm/init_64.c | 3 ++
arch/um/include/asm/pgtable.h | 17 -------
arch/um/kernel/mem.c | 20 +++++++++
arch/x86/Kconfig | 1 -
arch/x86/include/asm/pgtable_types.h | 19 --------
arch/x86/mm/mem_encrypt_amd.c | 7 ++-
arch/x86/mm/pgprot.c | 27 +++++++++++
arch/x86/um/mem_32.c | 2 +-
arch/xtensa/include/asm/pgtable.h | 18 --------
arch/xtensa/mm/init.c | 20 +++++++++
include/linux/mm.h | 1 -
include/linux/pgtable.h | 28 ++++++++++++
mm/Kconfig | 3 --
mm/mmap.c | 47 -------------------
61 files changed, 604 insertions(+), 563 deletions(-)
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
x86@kernel.org, openrisc@lists.librecores.org,
linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms
Date: Mon, 27 Jun 2022 04:57:26 +0000 [thread overview]
Message-ID: <20220627045833.1590055-1-anshuman.khandual@arm.com> (raw)
__SXXX/__PXXX macros is an unnecessary abstraction layer in creating the
generic protection_map[] array which is used for vm_get_page_prot(). This
abstraction layer can be avoided, if the platforms just define the array
protection_map[] for all possible vm_flags access permission combinations
and also export vm_get_page_prot() implementation.
This series drops __SXXX/__PXXX macros from across platforms in the tree.
First it build protects generic protection_map[] array with '#ifdef __P000'
and moves it inside platforms which enable ARCH_HAS_VM_GET_PAGE_PROT. Later
this build protects same array with '#ifdef ARCH_HAS_VM_GET_PAGE_PROT' and
moves inside remaining platforms while enabling ARCH_HAS_VM_GET_PAGE_PROT.
This adds a new macro DECLARE_VM_GET_PAGE_PROT defining the current generic
vm_get_page_prot(), in order for it to be reused on platforms that do not
require custom implementation. Finally, ARCH_HAS_VM_GET_PAGE_PROT can just
be dropped, as all platforms now define and export vm_get_page_prot(), via
looking up a private and static protection_map[] array. protection_map[]
data type has been changed as 'static const' on all platforms that do not
change it during boot.
This series applies on v5.19-rc3 and has been build tested for multiple
platforms. While here it has dropped off all previous tags from folks after
the current restructuring. Series common CC list has been expanded to cover
all impacted platforms for wider reach.
- Anshuman
Changes in V5:
- Converted most platfomr protection_map[] array as 'static const'
- Moved DECLARE_VM_GET_PAGE_PROT inside <include/linux/pgtable.h>
- Moved generic protection_map[] comment near DECLARE_VM_GET_PAGE_PROT
- Updated some commit messages
Changes in V4:
https://lore.kernel.org/all/20220624044339.1533882-1-anshuman.khandual@arm.com/
- Both protection_map[] and vm_get_page_prot() moves inside all platforms
- Split patches to create modular changes for individual platforms
- Add macro DECLARE_VM_GET_PAGE_PROT defining generic vm_get_page_prot()
- Drop ARCH_HAS_VM_GET_PAGE_PROT
Changes in V3:
https://lore.kernel.org/all/20220616040924.1022607-1-anshuman.khandual@arm.com/
- Fix build issues on powerpc and riscv
Changes in V2:
https://lore.kernel.org/all/20220613053354.553579-1-anshuman.khandual@arm.com/
- Add 'const' identifier to protection_map[] on powerpc
- Dropped #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT check from sparc 32
- Dropped protection_map[] init from sparc 64
- Dropped all new platform changes subscribing ARCH_HAS_VM_GET_PAGE_PROT
- Added a second patch which moves generic protection_map[] array into
all remaining platforms (!ARCH_HAS_VM_GET_PAGE_PROT)
Changes in V1:
https://lore.kernel.org/all/20220603101411.488970-1-anshuman.khandual@arm.com/
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-alpha@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-sh@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Anshuman Khandual (26):
mm/mmap: Build protect protection_map[] with __P000
mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
powerpc/mm: Move protection_map[] inside the platform
sparc/mm: Move protection_map[] inside the platform
arm64/mm: Move protection_map[] inside the platform
x86/mm: Move protection_map[] inside the platform
mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT
microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
loongarch/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
xtensa/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
hexagon/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
parisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
alpha/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
ia64/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
m68k/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
arm/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
um/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
sh/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
arch/alpha/include/asm/pgtable.h | 17 -------
arch/alpha/mm/init.c | 22 +++++++++
arch/arc/include/asm/pgtable-bits-arcv2.h | 18 --------
arch/arc/mm/mmap.c | 20 +++++++++
arch/arm/include/asm/pgtable.h | 17 -------
arch/arm/lib/uaccess_with_memcpy.c | 2 +-
arch/arm/mm/mmu.c | 20 +++++++++
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 +++++++++
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 20 +++++++++
arch/hexagon/include/asm/pgtable.h | 27 -----------
arch/hexagon/mm/init.c | 42 +++++++++++++++++
arch/ia64/include/asm/pgtable.h | 18 --------
arch/ia64/mm/init.c | 28 +++++++++++-
arch/loongarch/include/asm/pgtable-bits.h | 19 --------
arch/loongarch/mm/cache.c | 46 +++++++++++++++++++
arch/m68k/include/asm/mcf_pgtable.h | 54 ----------------------
arch/m68k/include/asm/motorola_pgtable.h | 22 ---------
arch/m68k/include/asm/sun3_pgtable.h | 17 -------
arch/m68k/mm/mcfmmu.c | 55 +++++++++++++++++++++++
arch/m68k/mm/motorola.c | 20 +++++++++
arch/m68k/mm/sun3mmu.c | 20 +++++++++
arch/microblaze/include/asm/pgtable.h | 17 -------
arch/microblaze/mm/init.c | 20 +++++++++
arch/mips/include/asm/pgtable.h | 22 ---------
arch/mips/mm/cache.c | 3 ++
arch/nios2/include/asm/pgtable.h | 16 -------
arch/nios2/mm/init.c | 20 +++++++++
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 20 +++++++++
arch/parisc/include/asm/pgtable.h | 18 --------
arch/parisc/mm/init.c | 20 +++++++++
arch/powerpc/Kconfig | 1 -
arch/powerpc/include/asm/pgtable.h | 20 +--------
arch/powerpc/mm/pgtable.c | 24 ++++++++++
arch/riscv/include/asm/pgtable.h | 20 ---------
arch/riscv/mm/init.c | 20 +++++++++
arch/s390/include/asm/pgtable.h | 17 -------
arch/s390/mm/mmap.c | 20 +++++++++
arch/sh/include/asm/pgtable.h | 17 -------
arch/sh/mm/mmap.c | 20 +++++++++
arch/sparc/Kconfig | 1 -
arch/sparc/include/asm/pgtable_32.h | 19 --------
arch/sparc/include/asm/pgtable_64.h | 19 --------
arch/sparc/mm/init_32.c | 20 +++++++++
arch/sparc/mm/init_64.c | 3 ++
arch/um/include/asm/pgtable.h | 17 -------
arch/um/kernel/mem.c | 20 +++++++++
arch/x86/Kconfig | 1 -
arch/x86/include/asm/pgtable_types.h | 19 --------
arch/x86/mm/mem_encrypt_amd.c | 7 ++-
arch/x86/mm/pgprot.c | 27 +++++++++++
arch/x86/um/mem_32.c | 2 +-
arch/xtensa/include/asm/pgtable.h | 18 --------
arch/xtensa/mm/init.c | 20 +++++++++
include/linux/mm.h | 1 -
include/linux/pgtable.h | 28 ++++++++++++
mm/Kconfig | 3 --
mm/mmap.c | 47 -------------------
61 files changed, 604 insertions(+), 563 deletions(-)
--
2.25.1
next reply other threads:[~2022-06-27 4:58 UTC|newest]
Thread overview: 253+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-27 4:57 Anshuman Khandual [this message]
2022-06-27 4:58 ` [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:57 ` [PATCH V5 02/26] mm/mmap: Define DECLARE_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 4:57 ` [PATCH V5 01/26] mm/mmap: Build protect protection_map[] with __P000 Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 4:57 ` [PATCH V5 03/26] powerpc/mm: Move protection_map[] inside the platform Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 4:57 ` [PATCH V5 04/26] sparc/mm: " Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 17:14 ` Sam Ravnborg
2022-06-27 17:14 ` Sam Ravnborg
2022-06-27 17:14 ` Sam Ravnborg
2022-06-27 17:14 ` Sam Ravnborg
2022-06-27 17:14 ` Sam Ravnborg
2022-06-27 17:14 ` Sam Ravnborg
2022-06-27 17:14 ` Sam Ravnborg
2022-06-28 3:12 ` Anshuman Khandual
2022-06-28 3:24 ` Anshuman Khandual
2022-06-28 3:12 ` Anshuman Khandual
2022-06-28 3:12 ` Anshuman Khandual
2022-06-28 3:12 ` Anshuman Khandual
2022-06-28 3:12 ` Anshuman Khandual
2022-06-28 3:12 ` Anshuman Khandual
2022-06-27 4:57 ` [PATCH V5 05/26] arm64/mm: " Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 06/26] x86/mm: " Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 07/26] mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 5:49 ` Christophe Leroy
2022-06-27 4:58 ` [PATCH V5 08/26] microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 09/26] loongarch/mm: " Anshuman Khandual
2022-06-27 4:59 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 10/26] openrisc/mm: " Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 11/26] xtensa/mm: " Anshuman Khandual
2022-06-27 4:59 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 12/26] hexagon/mm: " Anshuman Khandual
2022-06-27 4:59 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 14:32 ` Brian Cain
2022-06-27 14:32 ` Brian Cain
2022-06-27 14:32 ` Brian Cain
2022-06-27 14:32 ` Brian Cain
2022-06-27 14:32 ` Brian Cain
2022-06-27 14:32 ` Brian Cain
2022-06-27 14:32 ` Brian Cain
2022-06-27 4:58 ` [PATCH V5 13/26] parisc/mm: " Anshuman Khandual
2022-06-27 4:59 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 14/26] alpha/mm: " Anshuman Khandual
2022-06-27 4:59 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 15/26] nios2/mm: " Anshuman Khandual
2022-06-27 4:59 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 16/26] riscv/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 17/26] csky/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 18/26] s390/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 19/26] ia64/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 20/26] mips/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 21/26] m68k/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 22/26] arc/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 23/26] arm/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 24/26] um/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 25/26] sh/mm: " Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27 5:10 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 4:58 ` Anshuman Khandual
2022-06-27 5:50 ` Christophe Leroy
2022-06-27 5:50 ` Christophe Leroy
2022-06-27 5:50 ` Christophe Leroy
2022-06-27 5:50 ` Christophe Leroy
2022-06-27 5:50 ` Christophe Leroy
2022-06-27 5:50 ` Christophe Leroy
2022-06-27 5:50 ` Christophe Leroy
2022-06-27 5:50 ` 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=20220627045833.1590055-1-anshuman.khandual@arm.com \
--to=anshuman.khandual@arm.com \
--cc=akpm@linux-foundation.org \
--cc=christophe.leroy@csgroup.eu \
--cc=hch@infradead.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-hexagon@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux-um@lists.infradead.org \
--cc=linux-xtensa@linux-xtensa.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=openrisc@lists.librecores.org \
--cc=sparclinux@vger.kernel.org \
--cc=x86@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.