All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Price <steven.price@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org
Cc: "Steven Price" <steven.price@arm.com>,
	"Andy Lutomirski" <luto@kernel.org>,
	"Ard Biesheuvel" <ard.biesheuvel@linaro.org>,
	"Arnd Bergmann" <arnd@arndb.de>, "Borislav Petkov" <bp@alien8.de>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Ingo Molnar" <mingo@redhat.com>,
	"James Morse" <james.morse@arm.com>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Will Deacon" <will@kernel.org>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	"Mark Rutland" <Mark.Rutland@arm.com>,
	"Liang, Kan" <kan.liang@linux.intel.com>,
	"Heiko Carstens" <heiko.carstens@de.ibm.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	linux-s390@vger.kernel.org
Subject: [PATCH v16 08/25] s390: mm: Add p?d_leaf() definitions
Date: Fri,  6 Dec 2019 13:52:59 +0000	[thread overview]
Message-ID: <20191206135316.47703-9-steven.price@arm.com> (raw)
In-Reply-To: <20191206135316.47703-1-steven.price@arm.com>

walk_page_range() is going to be allowed to walk page tables other than
those of user space. For this it needs to know when it has reached a
'leaf' entry in the page tables. This information is provided by the
p?d_leaf() functions/macros.

For s390, pud_large() and pmd_large() are already implemented as static
inline functions. Add a macro to provide the p?d_leaf names for the
generic code to use.

CC: Heiko Carstens <heiko.carstens@de.ibm.com>
CC: Vasily Gorbik <gor@linux.ibm.com>
CC: Christian Borntraeger <borntraeger@de.ibm.com>
CC: linux-s390@vger.kernel.org
Signed-off-by: Steven Price <steven.price@arm.com>
---
 arch/s390/include/asm/pgtable.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
index 7b03037a8475..137a3920ca36 100644
--- a/arch/s390/include/asm/pgtable.h
+++ b/arch/s390/include/asm/pgtable.h
@@ -673,6 +673,7 @@ static inline int pud_none(pud_t pud)
 	return pud_val(pud) == _REGION3_ENTRY_EMPTY;
 }
 
+#define pud_leaf	pud_large
 static inline int pud_large(pud_t pud)
 {
 	if ((pud_val(pud) & _REGION_ENTRY_TYPE_MASK) != _REGION_ENTRY_TYPE_R3)
@@ -690,6 +691,7 @@ static inline unsigned long pud_pfn(pud_t pud)
 	return (pud_val(pud) & origin_mask) >> PAGE_SHIFT;
 }
 
+#define pmd_leaf	pmd_large
 static inline int pmd_large(pmd_t pmd)
 {
 	return (pmd_val(pmd) & _SEGMENT_ENTRY_LARGE) != 0;
-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Steven Price <steven.price@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org
Cc: "Mark Rutland" <Mark.Rutland@arm.com>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Heiko Carstens" <heiko.carstens@de.ibm.com>,
	"H. Peter Anvin" <hpa@zytor.com>, "Will Deacon" <will@kernel.org>,
	"Liang, Kan" <kan.liang@linux.intel.com>,
	linux-s390@vger.kernel.org, "Arnd Bergmann" <arnd@arndb.de>,
	x86@kernel.org, "Steven Price" <steven.price@arm.com>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Andy Lutomirski" <luto@kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	"Ard Biesheuvel" <ard.biesheuvel@linaro.org>,
	linux-kernel@vger.kernel.org, "James Morse" <james.morse@arm.com>
Subject: [PATCH v16 08/25] s390: mm: Add p?d_leaf() definitions
Date: Fri,  6 Dec 2019 13:52:59 +0000	[thread overview]
Message-ID: <20191206135316.47703-9-steven.price@arm.com> (raw)
In-Reply-To: <20191206135316.47703-1-steven.price@arm.com>

walk_page_range() is going to be allowed to walk page tables other than
those of user space. For this it needs to know when it has reached a
'leaf' entry in the page tables. This information is provided by the
p?d_leaf() functions/macros.

For s390, pud_large() and pmd_large() are already implemented as static
inline functions. Add a macro to provide the p?d_leaf names for the
generic code to use.

CC: Heiko Carstens <heiko.carstens@de.ibm.com>
CC: Vasily Gorbik <gor@linux.ibm.com>
CC: Christian Borntraeger <borntraeger@de.ibm.com>
CC: linux-s390@vger.kernel.org
Signed-off-by: Steven Price <steven.price@arm.com>
---
 arch/s390/include/asm/pgtable.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
index 7b03037a8475..137a3920ca36 100644
--- a/arch/s390/include/asm/pgtable.h
+++ b/arch/s390/include/asm/pgtable.h
@@ -673,6 +673,7 @@ static inline int pud_none(pud_t pud)
 	return pud_val(pud) == _REGION3_ENTRY_EMPTY;
 }
 
+#define pud_leaf	pud_large
 static inline int pud_large(pud_t pud)
 {
 	if ((pud_val(pud) & _REGION_ENTRY_TYPE_MASK) != _REGION_ENTRY_TYPE_R3)
@@ -690,6 +691,7 @@ static inline unsigned long pud_pfn(pud_t pud)
 	return (pud_val(pud) & origin_mask) >> PAGE_SHIFT;
 }
 
+#define pmd_leaf	pmd_large
 static inline int pmd_large(pmd_t pmd)
 {
 	return (pmd_val(pmd) & _SEGMENT_ENTRY_LARGE) != 0;
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-12-06 13:54 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-06 13:52 [PATCH v16 00/25] Generic page walk and ptdump Steven Price
2019-12-06 13:52 ` Steven Price
2019-12-06 13:52 ` [PATCH v16 01/25] mm: Add generic p?d_leaf() macros Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52 ` [PATCH v16 02/25] arc: mm: Add p?d_leaf() definitions Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52 ` [PATCH v16 03/25] arm: " Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52 ` [PATCH v16 04/25] arm64: " Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52 ` [PATCH v16 05/25] mips: " Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52 ` [PATCH v16 06/25] powerpc: " Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-09 11:08   ` Michael Ellerman
2019-12-09 11:08     ` Michael Ellerman
2019-12-09 11:08     ` Michael Ellerman
2019-12-09 11:08     ` Michael Ellerman
2019-12-09 13:06     ` Steven Price
2019-12-09 13:06       ` Steven Price
2019-12-09 13:06       ` Steven Price
2019-12-09 13:06       ` Steven Price
2019-12-06 13:52 ` [PATCH v16 07/25] riscv: " Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52   ` Steven Price
2019-12-06 13:52 ` Steven Price [this message]
2019-12-06 13:52   ` [PATCH v16 08/25] s390: " Steven Price
2019-12-06 13:53 ` [PATCH v16 09/25] sparc: " Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 10/25] x86: " Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 11/25] mm: pagewalk: Add p4d_entry() and pgd_entry() Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-12 11:23   ` Thomas Hellström (VMware)
2019-12-12 11:23     ` Thomas Hellström (VMware)
2019-12-12 11:33     ` Thomas Hellström (VMware)
2019-12-12 11:33       ` Thomas Hellström (VMware)
2019-12-12 13:15       ` Steven Price
2019-12-12 13:15         ` Steven Price
2019-12-12 14:04         ` Thomas Hellström (VMware)
2019-12-12 14:04           ` Thomas Hellström (VMware)
2019-12-12 15:18           ` Steven Price
2019-12-12 15:18             ` Steven Price
2019-12-06 13:53 ` [PATCH v16 12/25] mm: pagewalk: Allow walking without vma Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 13/25] mm: pagewalk: Don't lock PTEs for walk_page_range_novma() Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-10 11:23   ` kbuild test robot
2019-12-10 11:23     ` kbuild test robot
2019-12-10 11:23     ` kbuild test robot
2019-12-11 15:54     ` Steven Price
2019-12-11 15:54       ` Steven Price
2019-12-11 15:54       ` Steven Price
2019-12-11 17:12       ` Luc Van Oostenryck
2019-12-11 17:12         ` Luc Van Oostenryck
2019-12-11 17:19       ` Qian Cai
2019-12-11 17:19         ` Qian Cai
2019-12-06 13:53 ` [PATCH v16 14/25] mm: pagewalk: fix termination condition in walk_pte_range() Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 15/25] mm: pagewalk: Add test_p?d callbacks Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 16/25] mm: pagewalk: Add 'depth' parameter to pte_hole Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 17/25] x86: mm: Point to struct seq_file from struct pg_state Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 18/25] x86: mm+efi: Convert ptdump_walk_pgd_level() to take a mm_struct Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 19/25] x86: mm: Convert ptdump_walk_pgd_level_debugfs() to take an mm_struct Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 20/25] x86: mm: Convert ptdump_walk_pgd_level_core() " Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 21/25] mm: Add generic ptdump Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 22/25] x86: mm: Convert dump_pagetables to use walk_page_range Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 23/25] arm64: mm: Convert mm/dump.c to use walk_page_range() Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 24/25] arm64: mm: Display non-present entries in ptdump Steven Price
2019-12-06 13:53   ` Steven Price
2019-12-06 13:53 ` [PATCH v16 25/25] mm: ptdump: Reduce level numbers by 1 in note_page() Steven Price
2019-12-06 13:53   ` Steven Price

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=20191206135316.47703-9-steven.price@arm.com \
    --to=steven.price@arm.com \
    --cc=Mark.Rutland@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=arnd@arndb.de \
    --cc=borntraeger@de.ibm.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=gor@linux.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=jglisse@redhat.com \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=will@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.