Merge branch 'for-next/52-bit-pa' into for-next/core
authorCatalin Marinas <catalin.marinas@arm.com>
Fri, 22 Dec 2017 17:40:58 +0000 (17:40 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 22 Dec 2017 17:40:58 +0000 (17:40 +0000)
* for-next/52-bit-pa:
  arm64: enable 52-bit physical address support
  arm64: allow ID map to be extended to 52 bits
  arm64: handle 52-bit physical addresses in page table entries
  arm64: don't open code page table entry creation
  arm64: head.S: handle 52-bit PAs in PTEs in early page table setup
  arm64: handle 52-bit addresses in TTBR
  arm64: limit PA size to supported range
  arm64: add kconfig symbol to configure physical address size

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

Simple merge
Simple merge
Simple merge
  #define TCR_TG1_4K            (UL(2) << TCR_TG1_SHIFT)
  #define TCR_TG1_64K           (UL(3) << TCR_TG1_SHIFT)
  
+ #define TCR_IPS_SHIFT         32
+ #define TCR_IPS_MASK          (UL(7) << TCR_IPS_SHIFT)
 +#define TCR_A1                        (UL(1) << 22)
  #define TCR_ASID16            (UL(1) << 36)
  #define TCR_TBI0              (UL(1) << 37)
  #define TCR_HA                        (UL(1) << 39)
Simple merge
Simple merge
@@@ -138,14 -138,13 +138,15 @@@ ENDPROC(cpu_do_resume
   *    - pgd_phys - physical address of new TTB
   */
  ENTRY(cpu_do_switch_mm)
 -      phys_to_ttbr x0, x2
 -      pre_ttbr0_update_workaround x2, x3, x4
 +      mrs     x2, ttbr1_el1
        mmid    x1, x1                          // get mm->context.id
        bfi     x2, x1, #48, #16                // set the ASID
 -      msr     ttbr0_el1, x2                   // set TTBR0
 +      msr     ttbr1_el1, x2                   // in TTBR1 (since TCR.A1 is set)
 +      isb
-       msr     ttbr0_el1, x0                   // now update TTBR0
++      phys_to_ttbr x0, x2
++      msr     ttbr0_el1, x2                   // now update TTBR0
        isb
 -      post_ttbr0_update_workaround
 +      post_ttbr_update_workaround
        ret
  ENDPROC(cpu_do_switch_mm)