Re: [PATCH 04/12] m68k: nommu: use pgtable-nopud instead of 4level-fixup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mike,

On 24/10/19 3:35 pm, Mike Rapoport wrote:
Hi Greg,

On Thu, Oct 24, 2019 at 02:09:01PM +1000, Greg Ungerer wrote:
Hi Mike,

On 23/10/19 7:28 pm, Mike Rapoport wrote:
From: Mike Rapoport <rppt@xxxxxxxxxxxxx>

The generic nommu implementation of page table manipulation takes care of
folding of the upper levels and does not require fixups.

Simply replace of include/asm-generic/4level-fixup.h with
include/asm-generic/pgtable-nopud.h.

Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx>
---
  arch/m68k/include/asm/pgtable_no.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/m68k/include/asm/pgtable_no.h b/arch/m68k/include/asm/pgtable_no.h
index c18165b..ccc4568 100644
--- a/arch/m68k/include/asm/pgtable_no.h
+++ b/arch/m68k/include/asm/pgtable_no.h
@@ -2,7 +2,7 @@
  #ifndef _M68KNOMMU_PGTABLE_H
  #define _M68KNOMMU_PGTABLE_H
-#include <asm-generic/4level-fixup.h>
+#include <asm-generic/pgtable-nopud.h>
  /*
   * (C) Copyright 2000-2002, Greg Ungerer <gerg@xxxxxxxxxxxx>

This fails to compile for me (targeting m5208evb_defconfig):

   CC      init/main.o
In file included from ./arch/m68k/include/asm/pgtable_no.h:56:0,
                  from ./arch/m68k/include/asm/pgtable.h:3,
                  from ./include/linux/mm.h:99,
                  from ./include/linux/ring_buffer.h:5,
                  from ./include/linux/trace_events.h:6,
                  from ./include/trace/syscall.h:7,
                  from ./include/linux/syscalls.h:85,
                  from init/main.c:21:
./include/asm-generic/pgtable.h:738:34: error: unknown type name ‘pmd_t’
  static inline int pmd_soft_dirty(pmd_t pmd)
                                   ^

...

scripts/Makefile.build:265: recipe for target 'init/main.o' failed
make[1]: *** [init/main.o] Error 1
Makefile:1649: recipe for target 'init' failed
make: *** [init] Error 2

The hunk below fixes the build.

diff --git a/arch/m68k/include/asm/page.h b/arch/m68k/include/asm/page.h
index c00b67a..05e1e1e 100644
--- a/arch/m68k/include/asm/page.h
+++ b/arch/m68k/include/asm/page.h
@@ -21,7 +21,7 @@
  /*
   * These are used to make use of C type-checking..
   */
-#if CONFIG_PGTABLE_LEVELS == 3
+#if !defined(CONFIG_MMU) || CONFIG_PGTABLE_LEVELS == 3
  typedef struct { unsigned long pmd[16]; } pmd_t;
  #define pmd_val(x)	((&x)->pmd[0])
  #define __pmd(x)	((pmd_t) { { (x) }, })

That looks better. Thanks.
Tested and working on m68knommu. For the combined patches:

Acked-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>

Regards
Greg





[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux