Merge branch 'for-next/hugepages' of git://git.linaro.org/people/stevecapper/linux...
authorCatalin Marinas <catalin.marinas@arm.com>
Mon, 1 Jul 2013 10:20:58 +0000 (11:20 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 1 Jul 2013 10:20:58 +0000 (11:20 +0100)
* 'for-next/hugepages' of git://git.linaro.org/people/stevecapper/linux:
  ARM64: mm: THP support.
  ARM64: mm: Raise MAX_ORDER for 64KB pages and THP.
  ARM64: mm: HugeTLB support.
  ARM64: mm: Move PTE_PROT_NONE bit.
  ARM64: mm: Make PAGE_NONE pages read only and no-execute.
  ARM64: mm: Restore memblock limit when map_mem finished.
  mm: thp: Correct the HPAGE_PMD_ORDER check.
  x86: mm: Remove general hugetlb code from x86.
  mm: hugetlb: Copy general hugetlb code from x86 to mm.
  x86: mm: Remove x86 version of huge_pmd_share.
  mm: hugetlb: Copy huge_pmd_share from x86 to mm.

Conflicts:
arch/arm64/Kconfig
arch/arm64/include/asm/pgtable-hwdef.h
arch/arm64/include/asm/pgtable.h

1  2 
arch/arm64/Kconfig
arch/arm64/include/asm/pgtable-hwdef.h
arch/arm64/include/asm/pgtable.h
arch/arm64/mm/mmu.c

@@@ -188,18 -180,25 +188,35 @@@ config HW_PERF_EVENT
          Enable hardware performance counter support for perf events. If
          disabled, perf events will use software events only.
  
+ config SYS_SUPPORTS_HUGETLBFS
+       def_bool y
+ config ARCH_WANT_GENERAL_HUGETLB
+       def_bool y
+ config ARCH_WANT_HUGE_PMD_SHARE
+       def_bool y if !ARM64_64K_PAGES
+ config HAVE_ARCH_TRANSPARENT_HUGEPAGE
+       def_bool y
  source "mm/Kconfig"
  
 +config XEN_DOM0
 +      def_bool y
 +      depends on XEN
 +
 +config XEN
 +      bool "Xen guest support on ARM64 (EXPERIMENTAL)"
 +      depends on ARM64 && OF
 +      help
 +        Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64.
 +
+ config FORCE_MAX_ZONEORDER
+       int
+       default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
+       default "11"
  endmenu
  
  menu "Boot options"
@@@ -76,13 -76,7 +76,13 @@@ extern pgprot_t pgprot_default
  #define PAGE_KERNEL           _MOD_PROT(pgprot_default, PTE_PXN | PTE_UXN | PTE_DIRTY)
  #define PAGE_KERNEL_EXEC      _MOD_PROT(pgprot_default, PTE_UXN | PTE_DIRTY)
  
- #define __PAGE_NONE           __pgprot(((_PAGE_DEFAULT) & ~PTE_TYPE_MASK) | PTE_PROT_NONE)
 +#define PAGE_HYP              _MOD_PROT(pgprot_default, PTE_HYP)
 +#define PAGE_HYP_DEVICE               __pgprot(PROT_DEVICE_nGnRE | PTE_HYP)
 +
 +#define PAGE_S2                       __pgprot_modify(pgprot_default, PTE_S2_MEMATTR_MASK, PTE_S2_MEMATTR(MT_S2_NORMAL) | PTE_S2_RDONLY)
 +#define PAGE_S2_DEVICE                __pgprot(PROT_DEFAULT | PTE_S2_MEMATTR(MT_S2_DEVICE_nGnRE) | PTE_S2_RDWR | PTE_UXN)
 +
+ #define __PAGE_NONE           __pgprot(((_PAGE_DEFAULT) & ~PTE_TYPE_MASK) | PTE_PROT_NONE | PTE_RDONLY | PTE_PXN | PTE_UXN)
  #define __PAGE_SHARED         __pgprot(_PAGE_DEFAULT | PTE_USER | PTE_NG | PTE_PXN | PTE_UXN)
  #define __PAGE_SHARED_EXEC    __pgprot(_PAGE_DEFAULT | PTE_USER | PTE_NG | PTE_PXN)
  #define __PAGE_COPY           __pgprot(_PAGE_DEFAULT | PTE_USER | PTE_NG | PTE_PXN | PTE_UXN | PTE_RDONLY)
Simple merge