diff for duplicates of <20200516172015.GA1118872@kernel.org> diff --git a/a/1.txt b/N1/1.txt index b68ac7b..e70c1d5 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -302,13 +302,13 @@ and qemu-system-aarch64 boots find with this. > @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr > #define __pgprot(x) ((pgprot_t) { (x) } ) > -> #if CONFIG_PGTABLE_LEVELS = 2 +> #if CONFIG_PGTABLE_LEVELS == 2 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopmd.h> -> #elif CONFIG_PGTABLE_LEVELS = 3 +> #elif CONFIG_PGTABLE_LEVELS == 3 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopud.h> -> #elif CONFIG_PGTABLE_LEVELS = 4 +> #elif CONFIG_PGTABLE_LEVELS == 4 > -#include <asm-generic/5level-fixup.h> > +#include <asm-generic/pgtable-nop4d.h> > #endif @@ -938,7 +938,7 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + pudp = pud_offset(p4dp, addr); > pmdp = pmd_offset(pudp, addr); -> if ((pte_t *)pmdp = ptep) { +> if ((pte_t *)pmdp == ptep) { > *pgsize = PMD_SIZE; > @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct * > unsigned long addr, unsigned long sz) @@ -1163,8 +1163,8 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + p4d = READ_ONCE(*p4dp); > if (CONFIG_PGTABLE_LEVELS > 3 && -> - !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) { -> + !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) { +> - !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) { +> + !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) { > /* > * We only end up here if the kernel mapping and the fixmap > * share the top level pgd entry, which should only happen on @@ -1210,3 +1210,7 @@ and qemu-system-aarch64 boots find with this. -- Sincerely yours, Mike. +_______________________________________________ +kvmarm mailing list +kvmarm@lists.cs.columbia.edu +https://lists.cs.columbia.edu/mailman/listinfo/kvmarm diff --git a/a/content_digest b/N1/content_digest index fdff739..583280a 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -3,7 +3,7 @@ "ref\020200515114012.49f45aa01efb7d8b918bc0f5@linux-foundation.org\0" "From\0Mike Rapoport <rppt@kernel.org>\0" "Subject\0Re: [PATCH v4 03/14] arm64: add support for folded p4d page tables\0" - "Date\0Sat, 16 May 2020 17:20:15 +0000\0" + "Date\0Sat, 16 May 2020 20:20:15 +0300\0" "To\0Andrew Morton <akpm@linux-foundation.org>\0" "Cc\0Rich Felker <dalias@libc.org>" linux-ia64@vger.kernel.org @@ -345,13 +345,13 @@ "> @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr\n" "> #define __pgprot(x)\t((pgprot_t) { (x) } )\n" "> \n" - "> #if CONFIG_PGTABLE_LEVELS = 2\n" + "> #if CONFIG_PGTABLE_LEVELS == 2\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopmd.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 3\n" + "> #elif CONFIG_PGTABLE_LEVELS == 3\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopud.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 4\n" + "> #elif CONFIG_PGTABLE_LEVELS == 4\n" "> -#include <asm-generic/5level-fixup.h>\n" "> +#include <asm-generic/pgtable-nop4d.h>\n" "> #endif\n" @@ -981,7 +981,7 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tpudp = pud_offset(p4dp, addr);\n" "> \tpmdp = pmd_offset(pudp, addr);\n" - "> \tif ((pte_t *)pmdp = ptep) {\n" + "> \tif ((pte_t *)pmdp == ptep) {\n" "> \t\t*pgsize = PMD_SIZE;\n" "> @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct *\n" "> \t\t unsigned long addr, unsigned long sz)\n" @@ -1206,8 +1206,8 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tp4d = READ_ONCE(*p4dp);\n" "> \tif (CONFIG_PGTABLE_LEVELS > 3 &&\n" - "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) {\n" - "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) {\n" + "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) {\n" + "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) {\n" "> \t\t/*\n" "> \t\t * We only end up here if the kernel mapping and the fixmap\n" "> \t\t * share the top level pgd entry, which should only happen on\n" @@ -1252,6 +1252,10 @@ "\n" "-- \n" "Sincerely yours,\n" - Mike. + "Mike.\n" + "_______________________________________________\n" + "kvmarm mailing list\n" + "kvmarm@lists.cs.columbia.edu\n" + https://lists.cs.columbia.edu/mailman/listinfo/kvmarm -80c766b9413ab3227ee0a9eb0ecbd337eb6b5191056f75e36b5a18a6e89cc5de +fe20fb20e1b5df0327f949602ad7470a4c635a584d1519121a433d07e7a81e1c
diff --git a/a/1.txt b/N2/1.txt index b68ac7b..7215e54 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -302,13 +302,13 @@ and qemu-system-aarch64 boots find with this. > @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr > #define __pgprot(x) ((pgprot_t) { (x) } ) > -> #if CONFIG_PGTABLE_LEVELS = 2 +> #if CONFIG_PGTABLE_LEVELS == 2 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopmd.h> -> #elif CONFIG_PGTABLE_LEVELS = 3 +> #elif CONFIG_PGTABLE_LEVELS == 3 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopud.h> -> #elif CONFIG_PGTABLE_LEVELS = 4 +> #elif CONFIG_PGTABLE_LEVELS == 4 > -#include <asm-generic/5level-fixup.h> > +#include <asm-generic/pgtable-nop4d.h> > #endif @@ -938,7 +938,7 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + pudp = pud_offset(p4dp, addr); > pmdp = pmd_offset(pudp, addr); -> if ((pte_t *)pmdp = ptep) { +> if ((pte_t *)pmdp == ptep) { > *pgsize = PMD_SIZE; > @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct * > unsigned long addr, unsigned long sz) @@ -1163,8 +1163,8 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + p4d = READ_ONCE(*p4dp); > if (CONFIG_PGTABLE_LEVELS > 3 && -> - !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) { -> + !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) { +> - !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) { +> + !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) { > /* > * We only end up here if the kernel mapping and the fixmap > * share the top level pgd entry, which should only happen on diff --git a/a/content_digest b/N2/content_digest index fdff739..453e91b 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -3,42 +3,28 @@ "ref\020200515114012.49f45aa01efb7d8b918bc0f5@linux-foundation.org\0" "From\0Mike Rapoport <rppt@kernel.org>\0" "Subject\0Re: [PATCH v4 03/14] arm64: add support for folded p4d page tables\0" - "Date\0Sat, 16 May 2020 17:20:15 +0000\0" + "Date\0Sat, 16 May 2020 20:20:15 +0300\0" "To\0Andrew Morton <akpm@linux-foundation.org>\0" - "Cc\0Rich Felker <dalias@libc.org>" - linux-ia64@vger.kernel.org - Geert Uytterhoeven <geert+renesas@glider.be> - linux-sh@vger.kernel.org + "Cc\0Arnd Bergmann <arnd@arndb.de>" Benjamin Herrenschmidt <benh@kernel.crashing.org> - linux-mm@kvack.org - Paul Mackerras <paulus@samba.org> - linux-hexagon@vger.kernel.org - Will Deacon <will@kernel.org> - kvmarm@lists.cs.columbia.edu - Jonas Bonn <jonas@southpole.se> - linux-arch@vger.kernel.org Brian Cain <bcain@codeaurora.org> - Marc Zyngier <maz@kernel.org> - Russell King <linux@armlinux.org.uk> - Ley Foon Tan <ley.foon.tan@intel.com> - Mike Rapoport <rppt@linux.ibm.com> Catalin Marinas <catalin.marinas@arm.com> - uclinux-h8-devel@lists.sourceforge.jp + Christophe Leroy <christophe.leroy@c-s.fr> Fenghua Yu <fenghua.yu@intel.com> - Arnd Bergmann <arnd@arndb.de> - kvm-ppc@vger.kernel.org - Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> - openrisc@lists.librecores.org - Stafford Horne <shorne@gmail.com> + Geert Uytterhoeven <geert+renesas@glider.be> Guan Xuetao <gxt@pku.edu.cn> - linux-arm-kernel@lists.infradead.org - Christophe Leroy <christophe.leroy@c-s.fr> - Tony Luck <tony.luck@intel.com> - Yoshinori Sato <ysato@users.sourceforge.jp> - linux-kernel@vger.kernel.org + James Morse <james.morse@arm.com> + Jonas Bonn <jonas@southpole.se> + Julien Thierry <julien.thierry.kdev@gmail.com> + Ley Foon Tan <ley.foon.tan@intel.com> + Marc Zyngier <maz@kernel.org> Michael Ellerman <mpe@ellerman.id.au> - nios2-dev@lists.rocketboards.org - " linuxppc-dev@lists.ozlabs.org\0" + Paul Mackerras <paulus@samba.org> + Rich Felker <dalias@libc.org> + Russell King <linux@armlinux.org.uk> + Stafford Horne <shorne@gmail.com> + Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> + " Suzuki\0" "\00:1\0" "b\0" "On Fri, May 15, 2020 at 11:40:12AM -0700, Andrew Morton wrote:\n" @@ -345,13 +331,13 @@ "> @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr\n" "> #define __pgprot(x)\t((pgprot_t) { (x) } )\n" "> \n" - "> #if CONFIG_PGTABLE_LEVELS = 2\n" + "> #if CONFIG_PGTABLE_LEVELS == 2\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopmd.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 3\n" + "> #elif CONFIG_PGTABLE_LEVELS == 3\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopud.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 4\n" + "> #elif CONFIG_PGTABLE_LEVELS == 4\n" "> -#include <asm-generic/5level-fixup.h>\n" "> +#include <asm-generic/pgtable-nop4d.h>\n" "> #endif\n" @@ -981,7 +967,7 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tpudp = pud_offset(p4dp, addr);\n" "> \tpmdp = pmd_offset(pudp, addr);\n" - "> \tif ((pte_t *)pmdp = ptep) {\n" + "> \tif ((pte_t *)pmdp == ptep) {\n" "> \t\t*pgsize = PMD_SIZE;\n" "> @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct *\n" "> \t\t unsigned long addr, unsigned long sz)\n" @@ -1206,8 +1192,8 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tp4d = READ_ONCE(*p4dp);\n" "> \tif (CONFIG_PGTABLE_LEVELS > 3 &&\n" - "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) {\n" - "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) {\n" + "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) {\n" + "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) {\n" "> \t\t/*\n" "> \t\t * We only end up here if the kernel mapping and the fixmap\n" "> \t\t * share the top level pgd entry, which should only happen on\n" @@ -1254,4 +1240,4 @@ "Sincerely yours,\n" Mike. -80c766b9413ab3227ee0a9eb0ecbd337eb6b5191056f75e36b5a18a6e89cc5de +204940a0051bcf1b04cc1604076e794c7e423dbb0a31c122cf26e0c64880a0e1
diff --git a/a/1.txt b/N3/1.txt index b68ac7b..7215e54 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -302,13 +302,13 @@ and qemu-system-aarch64 boots find with this. > @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr > #define __pgprot(x) ((pgprot_t) { (x) } ) > -> #if CONFIG_PGTABLE_LEVELS = 2 +> #if CONFIG_PGTABLE_LEVELS == 2 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopmd.h> -> #elif CONFIG_PGTABLE_LEVELS = 3 +> #elif CONFIG_PGTABLE_LEVELS == 3 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopud.h> -> #elif CONFIG_PGTABLE_LEVELS = 4 +> #elif CONFIG_PGTABLE_LEVELS == 4 > -#include <asm-generic/5level-fixup.h> > +#include <asm-generic/pgtable-nop4d.h> > #endif @@ -938,7 +938,7 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + pudp = pud_offset(p4dp, addr); > pmdp = pmd_offset(pudp, addr); -> if ((pte_t *)pmdp = ptep) { +> if ((pte_t *)pmdp == ptep) { > *pgsize = PMD_SIZE; > @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct * > unsigned long addr, unsigned long sz) @@ -1163,8 +1163,8 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + p4d = READ_ONCE(*p4dp); > if (CONFIG_PGTABLE_LEVELS > 3 && -> - !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) { -> + !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) { +> - !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) { +> + !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) { > /* > * We only end up here if the kernel mapping and the fixmap > * share the top level pgd entry, which should only happen on diff --git a/a/content_digest b/N3/content_digest index fdff739..3480c20 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -3,42 +3,45 @@ "ref\020200515114012.49f45aa01efb7d8b918bc0f5@linux-foundation.org\0" "From\0Mike Rapoport <rppt@kernel.org>\0" "Subject\0Re: [PATCH v4 03/14] arm64: add support for folded p4d page tables\0" - "Date\0Sat, 16 May 2020 17:20:15 +0000\0" + "Date\0Sat, 16 May 2020 20:20:15 +0300\0" "To\0Andrew Morton <akpm@linux-foundation.org>\0" - "Cc\0Rich Felker <dalias@libc.org>" - linux-ia64@vger.kernel.org - Geert Uytterhoeven <geert+renesas@glider.be> - linux-sh@vger.kernel.org + "Cc\0Arnd Bergmann <arnd@arndb.de>" Benjamin Herrenschmidt <benh@kernel.crashing.org> - linux-mm@kvack.org - Paul Mackerras <paulus@samba.org> - linux-hexagon@vger.kernel.org - Will Deacon <will@kernel.org> - kvmarm@lists.cs.columbia.edu - Jonas Bonn <jonas@southpole.se> - linux-arch@vger.kernel.org Brian Cain <bcain@codeaurora.org> - Marc Zyngier <maz@kernel.org> - Russell King <linux@armlinux.org.uk> - Ley Foon Tan <ley.foon.tan@intel.com> - Mike Rapoport <rppt@linux.ibm.com> Catalin Marinas <catalin.marinas@arm.com> - uclinux-h8-devel@lists.sourceforge.jp + Christophe Leroy <christophe.leroy@c-s.fr> Fenghua Yu <fenghua.yu@intel.com> - Arnd Bergmann <arnd@arndb.de> - kvm-ppc@vger.kernel.org - Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> - openrisc@lists.librecores.org - Stafford Horne <shorne@gmail.com> + Geert Uytterhoeven <geert+renesas@glider.be> Guan Xuetao <gxt@pku.edu.cn> - linux-arm-kernel@lists.infradead.org - Christophe Leroy <christophe.leroy@c-s.fr> + James Morse <james.morse@arm.com> + Jonas Bonn <jonas@southpole.se> + Julien Thierry <julien.thierry.kdev@gmail.com> + Ley Foon Tan <ley.foon.tan@intel.com> + Marc Zyngier <maz@kernel.org> + Michael Ellerman <mpe@ellerman.id.au> + Paul Mackerras <paulus@samba.org> + Rich Felker <dalias@libc.org> + Russell King <linux@armlinux.org.uk> + Stafford Horne <shorne@gmail.com> + Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> + Suzuki K Poulose <suzuki.poulose@arm.com> Tony Luck <tony.luck@intel.com> + Will Deacon <will@kernel.org> Yoshinori Sato <ysato@users.sourceforge.jp> + kvmarm@lists.cs.columbia.edu + kvm-ppc@vger.kernel.org + linux-arch@vger.kernel.org + linux-arm-kernel@lists.infradead.org + linux-hexagon@vger.kernel.org + linux-ia64@vger.kernel.org linux-kernel@vger.kernel.org - Michael Ellerman <mpe@ellerman.id.au> + linux-mm@kvack.org + linuxppc-dev@lists.ozlabs.org + linux-sh@vger.kernel.org nios2-dev@lists.rocketboards.org - " linuxppc-dev@lists.ozlabs.org\0" + openrisc@lists.librecores.org + uclinux-h8-devel@lists.sourceforge.jp + " Mike Rapoport <rppt@linux.ibm.com>\0" "\00:1\0" "b\0" "On Fri, May 15, 2020 at 11:40:12AM -0700, Andrew Morton wrote:\n" @@ -345,13 +348,13 @@ "> @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr\n" "> #define __pgprot(x)\t((pgprot_t) { (x) } )\n" "> \n" - "> #if CONFIG_PGTABLE_LEVELS = 2\n" + "> #if CONFIG_PGTABLE_LEVELS == 2\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopmd.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 3\n" + "> #elif CONFIG_PGTABLE_LEVELS == 3\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopud.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 4\n" + "> #elif CONFIG_PGTABLE_LEVELS == 4\n" "> -#include <asm-generic/5level-fixup.h>\n" "> +#include <asm-generic/pgtable-nop4d.h>\n" "> #endif\n" @@ -981,7 +984,7 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tpudp = pud_offset(p4dp, addr);\n" "> \tpmdp = pmd_offset(pudp, addr);\n" - "> \tif ((pte_t *)pmdp = ptep) {\n" + "> \tif ((pte_t *)pmdp == ptep) {\n" "> \t\t*pgsize = PMD_SIZE;\n" "> @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct *\n" "> \t\t unsigned long addr, unsigned long sz)\n" @@ -1206,8 +1209,8 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tp4d = READ_ONCE(*p4dp);\n" "> \tif (CONFIG_PGTABLE_LEVELS > 3 &&\n" - "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) {\n" - "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) {\n" + "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) {\n" + "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) {\n" "> \t\t/*\n" "> \t\t * We only end up here if the kernel mapping and the fixmap\n" "> \t\t * share the top level pgd entry, which should only happen on\n" @@ -1254,4 +1257,4 @@ "Sincerely yours,\n" Mike. -80c766b9413ab3227ee0a9eb0ecbd337eb6b5191056f75e36b5a18a6e89cc5de +27d4db7fe4fb3f24efcbacb8c28c0ae1077a7ab4e5c994ff66acd119fab0f35d
diff --git a/a/1.txt b/N4/1.txt index b68ac7b..91db45e 100644 --- a/a/1.txt +++ b/N4/1.txt @@ -107,7 +107,7 @@ and qemu-system-aarch64 boots find with this. > level where appropriate, replace 5level-fixup.h with pgtable-nop4d.h and > remove __ARCH_USE_5LEVEL_HACK. > -> Link: http://lkml.kernel.org/r/20200414153455.21744-4-rppt@kernel.org +> Link: http://lkml.kernel.org/r/20200414153455.21744-4-rppt at kernel.org > Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> @@ -302,13 +302,13 @@ and qemu-system-aarch64 boots find with this. > @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr > #define __pgprot(x) ((pgprot_t) { (x) } ) > -> #if CONFIG_PGTABLE_LEVELS = 2 +> #if CONFIG_PGTABLE_LEVELS == 2 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopmd.h> -> #elif CONFIG_PGTABLE_LEVELS = 3 +> #elif CONFIG_PGTABLE_LEVELS == 3 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopud.h> -> #elif CONFIG_PGTABLE_LEVELS = 4 +> #elif CONFIG_PGTABLE_LEVELS == 4 > -#include <asm-generic/5level-fixup.h> > +#include <asm-generic/pgtable-nop4d.h> > #endif @@ -938,7 +938,7 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + pudp = pud_offset(p4dp, addr); > pmdp = pmd_offset(pudp, addr); -> if ((pte_t *)pmdp = ptep) { +> if ((pte_t *)pmdp == ptep) { > *pgsize = PMD_SIZE; > @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct * > unsigned long addr, unsigned long sz) @@ -1163,8 +1163,8 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + p4d = READ_ONCE(*p4dp); > if (CONFIG_PGTABLE_LEVELS > 3 && -> - !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) { -> + !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) { +> - !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) { +> + !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) { > /* > * We only end up here if the kernel mapping and the fixmap > * share the top level pgd entry, which should only happen on diff --git a/a/content_digest b/N4/content_digest index fdff739..a8a3305 100644 --- a/a/content_digest +++ b/N4/content_digest @@ -2,43 +2,9 @@ "ref\020200414153455.21744-4-rppt@kernel.org\0" "ref\020200515114012.49f45aa01efb7d8b918bc0f5@linux-foundation.org\0" "From\0Mike Rapoport <rppt@kernel.org>\0" - "Subject\0Re: [PATCH v4 03/14] arm64: add support for folded p4d page tables\0" - "Date\0Sat, 16 May 2020 17:20:15 +0000\0" - "To\0Andrew Morton <akpm@linux-foundation.org>\0" - "Cc\0Rich Felker <dalias@libc.org>" - linux-ia64@vger.kernel.org - Geert Uytterhoeven <geert+renesas@glider.be> - linux-sh@vger.kernel.org - Benjamin Herrenschmidt <benh@kernel.crashing.org> - linux-mm@kvack.org - Paul Mackerras <paulus@samba.org> - linux-hexagon@vger.kernel.org - Will Deacon <will@kernel.org> - kvmarm@lists.cs.columbia.edu - Jonas Bonn <jonas@southpole.se> - linux-arch@vger.kernel.org - Brian Cain <bcain@codeaurora.org> - Marc Zyngier <maz@kernel.org> - Russell King <linux@armlinux.org.uk> - Ley Foon Tan <ley.foon.tan@intel.com> - Mike Rapoport <rppt@linux.ibm.com> - Catalin Marinas <catalin.marinas@arm.com> - uclinux-h8-devel@lists.sourceforge.jp - Fenghua Yu <fenghua.yu@intel.com> - Arnd Bergmann <arnd@arndb.de> - kvm-ppc@vger.kernel.org - Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> - openrisc@lists.librecores.org - Stafford Horne <shorne@gmail.com> - Guan Xuetao <gxt@pku.edu.cn> - linux-arm-kernel@lists.infradead.org - Christophe Leroy <christophe.leroy@c-s.fr> - Tony Luck <tony.luck@intel.com> - Yoshinori Sato <ysato@users.sourceforge.jp> - linux-kernel@vger.kernel.org - Michael Ellerman <mpe@ellerman.id.au> - nios2-dev@lists.rocketboards.org - " linuxppc-dev@lists.ozlabs.org\0" + "Subject\0[OpenRISC] [PATCH v4 03/14] arm64: add support for folded p4d page tables\0" + "Date\0Sat, 16 May 2020 20:20:15 +0300\0" + "To\0openrisc@lists.librecores.org\0" "\00:1\0" "b\0" "On Fri, May 15, 2020 at 11:40:12AM -0700, Andrew Morton wrote:\n" @@ -150,7 +116,7 @@ "> level where appropriate, replace 5level-fixup.h with pgtable-nop4d.h and\n" "> remove __ARCH_USE_5LEVEL_HACK.\n" "> \n" - "> Link: http://lkml.kernel.org/r/20200414153455.21744-4-rppt@kernel.org\n" + "> Link: http://lkml.kernel.org/r/20200414153455.21744-4-rppt at kernel.org\n" "> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>\n" "> Cc: Arnd Bergmann <arnd@arndb.de>\n" "> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>\n" @@ -345,13 +311,13 @@ "> @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr\n" "> #define __pgprot(x)\t((pgprot_t) { (x) } )\n" "> \n" - "> #if CONFIG_PGTABLE_LEVELS = 2\n" + "> #if CONFIG_PGTABLE_LEVELS == 2\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopmd.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 3\n" + "> #elif CONFIG_PGTABLE_LEVELS == 3\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopud.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 4\n" + "> #elif CONFIG_PGTABLE_LEVELS == 4\n" "> -#include <asm-generic/5level-fixup.h>\n" "> +#include <asm-generic/pgtable-nop4d.h>\n" "> #endif\n" @@ -981,7 +947,7 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tpudp = pud_offset(p4dp, addr);\n" "> \tpmdp = pmd_offset(pudp, addr);\n" - "> \tif ((pte_t *)pmdp = ptep) {\n" + "> \tif ((pte_t *)pmdp == ptep) {\n" "> \t\t*pgsize = PMD_SIZE;\n" "> @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct *\n" "> \t\t unsigned long addr, unsigned long sz)\n" @@ -1206,8 +1172,8 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tp4d = READ_ONCE(*p4dp);\n" "> \tif (CONFIG_PGTABLE_LEVELS > 3 &&\n" - "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) {\n" - "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) {\n" + "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) {\n" + "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) {\n" "> \t\t/*\n" "> \t\t * We only end up here if the kernel mapping and the fixmap\n" "> \t\t * share the top level pgd entry, which should only happen on\n" @@ -1254,4 +1220,4 @@ "Sincerely yours,\n" Mike. -80c766b9413ab3227ee0a9eb0ecbd337eb6b5191056f75e36b5a18a6e89cc5de +8d8733dce228f0fe09e76fa5b159289797ef9358991d62c390ae71744cff0f3b
diff --git a/a/1.txt b/N5/1.txt index b68ac7b..7215e54 100644 --- a/a/1.txt +++ b/N5/1.txt @@ -302,13 +302,13 @@ and qemu-system-aarch64 boots find with this. > @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr > #define __pgprot(x) ((pgprot_t) { (x) } ) > -> #if CONFIG_PGTABLE_LEVELS = 2 +> #if CONFIG_PGTABLE_LEVELS == 2 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopmd.h> -> #elif CONFIG_PGTABLE_LEVELS = 3 +> #elif CONFIG_PGTABLE_LEVELS == 3 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopud.h> -> #elif CONFIG_PGTABLE_LEVELS = 4 +> #elif CONFIG_PGTABLE_LEVELS == 4 > -#include <asm-generic/5level-fixup.h> > +#include <asm-generic/pgtable-nop4d.h> > #endif @@ -938,7 +938,7 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + pudp = pud_offset(p4dp, addr); > pmdp = pmd_offset(pudp, addr); -> if ((pte_t *)pmdp = ptep) { +> if ((pte_t *)pmdp == ptep) { > *pgsize = PMD_SIZE; > @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct * > unsigned long addr, unsigned long sz) @@ -1163,8 +1163,8 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + p4d = READ_ONCE(*p4dp); > if (CONFIG_PGTABLE_LEVELS > 3 && -> - !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) { -> + !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) { +> - !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) { +> + !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) { > /* > * We only end up here if the kernel mapping and the fixmap > * share the top level pgd entry, which should only happen on diff --git a/a/content_digest b/N5/content_digest index fdff739..3207a5d 100644 --- a/a/content_digest +++ b/N5/content_digest @@ -3,13 +3,12 @@ "ref\020200515114012.49f45aa01efb7d8b918bc0f5@linux-foundation.org\0" "From\0Mike Rapoport <rppt@kernel.org>\0" "Subject\0Re: [PATCH v4 03/14] arm64: add support for folded p4d page tables\0" - "Date\0Sat, 16 May 2020 17:20:15 +0000\0" + "Date\0Sat, 16 May 2020 20:20:15 +0300\0" "To\0Andrew Morton <akpm@linux-foundation.org>\0" "Cc\0Rich Felker <dalias@libc.org>" linux-ia64@vger.kernel.org Geert Uytterhoeven <geert+renesas@glider.be> linux-sh@vger.kernel.org - Benjamin Herrenschmidt <benh@kernel.crashing.org> linux-mm@kvack.org Paul Mackerras <paulus@samba.org> linux-hexagon@vger.kernel.org @@ -23,9 +22,11 @@ Ley Foon Tan <ley.foon.tan@intel.com> Mike Rapoport <rppt@linux.ibm.com> Catalin Marinas <catalin.marinas@arm.com> + Julien Thierry <julien.thierry.kdev@gmail.com> uclinux-h8-devel@lists.sourceforge.jp Fenghua Yu <fenghua.yu@intel.com> Arnd Bergmann <arnd@arndb.de> + Suzuki K Poulose <suzuki.poulose@arm.com> kvm-ppc@vger.kernel.org Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> openrisc@lists.librecores.org @@ -36,7 +37,7 @@ Tony Luck <tony.luck@intel.com> Yoshinori Sato <ysato@users.sourceforge.jp> linux-kernel@vger.kernel.org - Michael Ellerman <mpe@ellerman.id.au> + James Morse <james.morse@arm.com> nios2-dev@lists.rocketboards.org " linuxppc-dev@lists.ozlabs.org\0" "\00:1\0" @@ -345,13 +346,13 @@ "> @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr\n" "> #define __pgprot(x)\t((pgprot_t) { (x) } )\n" "> \n" - "> #if CONFIG_PGTABLE_LEVELS = 2\n" + "> #if CONFIG_PGTABLE_LEVELS == 2\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopmd.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 3\n" + "> #elif CONFIG_PGTABLE_LEVELS == 3\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopud.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 4\n" + "> #elif CONFIG_PGTABLE_LEVELS == 4\n" "> -#include <asm-generic/5level-fixup.h>\n" "> +#include <asm-generic/pgtable-nop4d.h>\n" "> #endif\n" @@ -981,7 +982,7 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tpudp = pud_offset(p4dp, addr);\n" "> \tpmdp = pmd_offset(pudp, addr);\n" - "> \tif ((pte_t *)pmdp = ptep) {\n" + "> \tif ((pte_t *)pmdp == ptep) {\n" "> \t\t*pgsize = PMD_SIZE;\n" "> @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct *\n" "> \t\t unsigned long addr, unsigned long sz)\n" @@ -1206,8 +1207,8 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tp4d = READ_ONCE(*p4dp);\n" "> \tif (CONFIG_PGTABLE_LEVELS > 3 &&\n" - "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) {\n" - "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) {\n" + "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) {\n" + "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) {\n" "> \t\t/*\n" "> \t\t * We only end up here if the kernel mapping and the fixmap\n" "> \t\t * share the top level pgd entry, which should only happen on\n" @@ -1254,4 +1255,4 @@ "Sincerely yours,\n" Mike. -80c766b9413ab3227ee0a9eb0ecbd337eb6b5191056f75e36b5a18a6e89cc5de +daab63d673fb2e5e82c24cc80a3a41c09c9e74c58f908a6387f1ec54ccd0edf3
diff --git a/a/1.txt b/N6/1.txt index b68ac7b..893f5ea 100644 --- a/a/1.txt +++ b/N6/1.txt @@ -302,13 +302,13 @@ and qemu-system-aarch64 boots find with this. > @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr > #define __pgprot(x) ((pgprot_t) { (x) } ) > -> #if CONFIG_PGTABLE_LEVELS = 2 +> #if CONFIG_PGTABLE_LEVELS == 2 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopmd.h> -> #elif CONFIG_PGTABLE_LEVELS = 3 +> #elif CONFIG_PGTABLE_LEVELS == 3 > -#define __ARCH_USE_5LEVEL_HACK > #include <asm-generic/pgtable-nopud.h> -> #elif CONFIG_PGTABLE_LEVELS = 4 +> #elif CONFIG_PGTABLE_LEVELS == 4 > -#include <asm-generic/5level-fixup.h> > +#include <asm-generic/pgtable-nop4d.h> > #endif @@ -938,7 +938,7 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + pudp = pud_offset(p4dp, addr); > pmdp = pmd_offset(pudp, addr); -> if ((pte_t *)pmdp = ptep) { +> if ((pte_t *)pmdp == ptep) { > *pgsize = PMD_SIZE; > @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct * > unsigned long addr, unsigned long sz) @@ -1163,8 +1163,8 @@ and qemu-system-aarch64 boots find with this. > + p4dp = p4d_offset(pgdp, addr); > + p4d = READ_ONCE(*p4dp); > if (CONFIG_PGTABLE_LEVELS > 3 && -> - !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) { -> + !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) { +> - !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) { +> + !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) { > /* > * We only end up here if the kernel mapping and the fixmap > * share the top level pgd entry, which should only happen on @@ -1210,3 +1210,8 @@ and qemu-system-aarch64 boots find with this. -- Sincerely yours, Mike. + +_______________________________________________ +linux-arm-kernel mailing list +linux-arm-kernel@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N6/content_digest index fdff739..ac2ab35 100644 --- a/a/content_digest +++ b/N6/content_digest @@ -3,7 +3,7 @@ "ref\020200515114012.49f45aa01efb7d8b918bc0f5@linux-foundation.org\0" "From\0Mike Rapoport <rppt@kernel.org>\0" "Subject\0Re: [PATCH v4 03/14] arm64: add support for folded p4d page tables\0" - "Date\0Sat, 16 May 2020 17:20:15 +0000\0" + "Date\0Sat, 16 May 2020 20:20:15 +0300\0" "To\0Andrew Morton <akpm@linux-foundation.org>\0" "Cc\0Rich Felker <dalias@libc.org>" linux-ia64@vger.kernel.org @@ -23,9 +23,11 @@ Ley Foon Tan <ley.foon.tan@intel.com> Mike Rapoport <rppt@linux.ibm.com> Catalin Marinas <catalin.marinas@arm.com> + Julien Thierry <julien.thierry.kdev@gmail.com> uclinux-h8-devel@lists.sourceforge.jp Fenghua Yu <fenghua.yu@intel.com> Arnd Bergmann <arnd@arndb.de> + Suzuki K Poulose <suzuki.poulose@arm.com> kvm-ppc@vger.kernel.org Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> openrisc@lists.librecores.org @@ -36,6 +38,7 @@ Tony Luck <tony.luck@intel.com> Yoshinori Sato <ysato@users.sourceforge.jp> linux-kernel@vger.kernel.org + James Morse <james.morse@arm.com> Michael Ellerman <mpe@ellerman.id.au> nios2-dev@lists.rocketboards.org " linuxppc-dev@lists.ozlabs.org\0" @@ -345,13 +348,13 @@ "> @@ -44,13 +45,11 @@ typedef struct { pteval_t pgprot; } pgpr\n" "> #define __pgprot(x)\t((pgprot_t) { (x) } )\n" "> \n" - "> #if CONFIG_PGTABLE_LEVELS = 2\n" + "> #if CONFIG_PGTABLE_LEVELS == 2\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopmd.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 3\n" + "> #elif CONFIG_PGTABLE_LEVELS == 3\n" "> -#define __ARCH_USE_5LEVEL_HACK\n" "> #include <asm-generic/pgtable-nopud.h>\n" - "> #elif CONFIG_PGTABLE_LEVELS = 4\n" + "> #elif CONFIG_PGTABLE_LEVELS == 4\n" "> -#include <asm-generic/5level-fixup.h>\n" "> +#include <asm-generic/pgtable-nop4d.h>\n" "> #endif\n" @@ -981,7 +984,7 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tpudp = pud_offset(p4dp, addr);\n" "> \tpmdp = pmd_offset(pudp, addr);\n" - "> \tif ((pte_t *)pmdp = ptep) {\n" + "> \tif ((pte_t *)pmdp == ptep) {\n" "> \t\t*pgsize = PMD_SIZE;\n" "> @@ -217,12 +219,14 @@ pte_t *huge_pte_alloc(struct mm_struct *\n" "> \t\t unsigned long addr, unsigned long sz)\n" @@ -1206,8 +1209,8 @@ "> +\tp4dp = p4d_offset(pgdp, addr);\n" "> +\tp4d = READ_ONCE(*p4dp);\n" "> \tif (CONFIG_PGTABLE_LEVELS > 3 &&\n" - "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) = __pa_symbol(bm_pud))) {\n" - "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) = __pa_symbol(bm_pud))) {\n" + "> -\t !(pgd_none(pgd) || pgd_page_paddr(pgd) == __pa_symbol(bm_pud))) {\n" + "> +\t !(p4d_none(p4d) || p4d_page_paddr(p4d) == __pa_symbol(bm_pud))) {\n" "> \t\t/*\n" "> \t\t * We only end up here if the kernel mapping and the fixmap\n" "> \t\t * share the top level pgd entry, which should only happen on\n" @@ -1252,6 +1255,11 @@ "\n" "-- \n" "Sincerely yours,\n" - Mike. + "Mike.\n" + "\n" + "_______________________________________________\n" + "linux-arm-kernel mailing list\n" + "linux-arm-kernel@lists.infradead.org\n" + http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -80c766b9413ab3227ee0a9eb0ecbd337eb6b5191056f75e36b5a18a6e89cc5de +2b8027fec24d3f668418397a9cce77cd6dc5bd1996bb52169d1a9d5268d2afc4
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.