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 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)
                                  ^
./include/asm-generic/pgtable.h:748:15: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd)
               ^
./include/asm-generic/pgtable.h:748:38: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd)
                                      ^
./include/asm-generic/pgtable.h:758:15: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd)
               ^
./include/asm-generic/pgtable.h:758:42: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_clear_soft_dirty(pmd_t pmd)
                                          ^
./include/asm-generic/pgtable.h:778:15: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_swp_mksoft_dirty(pmd_t pmd)
               ^
./include/asm-generic/pgtable.h:778:42: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_swp_mksoft_dirty(pmd_t pmd)
                                          ^
./include/asm-generic/pgtable.h:783:38: error: unknown type name ‘pmd_t’
 static inline int pmd_swp_soft_dirty(pmd_t pmd)
                                      ^
./include/asm-generic/pgtable.h:788:15: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd)
               ^
./include/asm-generic/pgtable.h:788:46: error: unknown type name ‘pmd_t’
 static inline pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd)
                                              ^
./include/asm-generic/pgtable.h:1071:32: error: unknown type name ‘pmd_t’
 static inline int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
                                ^
./include/asm-generic/pgtable.h:1083:34: error: unknown type name ‘pmd_t’
 static inline int pmd_clear_huge(pmd_t *pmd)
                                  ^
./include/asm-generic/pgtable.h:1095:37: error: unknown type name ‘pmd_t’
 static inline int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
                                     ^
In file included from ./include/linux/ring_buffer.h:5:0,
                 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/linux/mm.h:423:2: error: unknown type name ‘pmd_t’
  pmd_t *pmd;   /* Pointer to pmd entry matching
  ^
./include/linux/mm.h:568:30: error: unknown type name ‘pmd_t’
 static inline int pmd_devmap(pmd_t pmd)
                              ^
In file included from ./include/linux/mm.h:587:0,
                 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/linux/huge_mm.h:12:5: error: unknown type name ‘pmd_t’
     pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr,
     ^
./include/linux/huge_mm.h:12:21: error: unknown type name ‘pmd_t’
     pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr,
                     ^
./include/linux/huge_mm.h:14:57: error: unknown type name ‘pmd_t’
 extern void huge_pmd_set_accessed(struct vm_fault *vmf, pmd_t orig_pmd);
                                                         ^
./include/linux/huge_mm.h:27:61: error: unknown type name ‘pmd_t’
 extern vm_fault_t do_huge_pmd_wp_page(struct vm_fault *vmf, pmd_t orig_pmd);
                                                             ^
./include/linux/huge_mm.h:30:8: error: unknown type name ‘pmd_t’
        pmd_t *pmd,
        ^
./include/linux/huge_mm.h:34:4: error: unknown type name ‘pmd_t’
    pmd_t *pmd, unsigned long addr, unsigned long next);
    ^
./include/linux/huge_mm.h:37:4: error: unknown type name ‘pmd_t’
    pmd_t *pmd, unsigned long addr);
    ^
./include/linux/huge_mm.h:41:57: error: unknown type name ‘pmd_t’
 extern int mincore_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
                                                         ^
./include/linux/huge_mm.h:46:5: error: unknown type name ‘pmd_t’
     pmd_t *old_pmd, pmd_t *new_pmd);
     ^
./include/linux/huge_mm.h:46:21: error: unknown type name ‘pmd_t’
     pmd_t *old_pmd, pmd_t *new_pmd);
                     ^
./include/linux/huge_mm.h:47:56: error: unknown type name ‘pmd_t’
 extern int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
                                                        ^
./include/linux/huge_mm.h:336:65: error: unknown type name ‘pmd_t’
 static inline void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
                                                                 ^
./include/linux/huge_mm.h:356:31: error: unknown type name ‘pmd_t’
 static inline int is_swap_pmd(pmd_t pmd)
                               ^
./include/linux/huge_mm.h:360:47: error: unknown type name ‘pmd_t’
 static inline spinlock_t *pmd_trans_huge_lock(pmd_t *pmd,
                                               ^
./include/linux/huge_mm.h:372:3: error: unknown type name ‘pmd_t’
   pmd_t orig_pmd)
   ^
./include/linux/huge_mm.h:393:22: error: unknown type name ‘pmd_t’
  unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap)
                      ^
In file included from ./include/linux/ring_buffer.h:5:0,
                 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/linux/mm.h:1447:5: error: unknown type name ‘pmd_t’
     pmd_t pmd);
     ^
./include/linux/mm.h:1464:21: error: unknown type name ‘pmd_t’
      pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp);
                     ^
./include/linux/mm.h:1850:39: error: unknown type name ‘pmd_t’
 int __pte_alloc(struct mm_struct *mm, pmd_t *pmd);
                                       ^
./include/linux/mm.h:1851:24: error: unknown type name ‘pmd_t’
 int __pte_alloc_kernel(pmd_t *pmd);
                        ^
./include/linux/mm.h:1937:61: error: unknown type name ‘pmd_t’
 static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
                                                             ^
./include/linux/mm.h:2028:61: error: unknown type name ‘pmd_t’
 static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
                                                             ^
./include/linux/mm.h:2040:58: error: unknown type name ‘pmd_t’
 static inline spinlock_t *pmd_lock(struct mm_struct *mm, pmd_t *pmd)
                                                          ^
In file included from ./include/linux/ring_buffer.h:5:0,
                 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/linux/mm.h:2755:1: error: unknown type name ‘pmd_t’
 pmd_t *vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node);
 ^
./include/linux/mm.h:2756:29: error: unknown type name ‘pmd_t’
 pte_t *vmemmap_pte_populate(pmd_t *pmd, unsigned long addr, int node);
                             ^
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

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