1. 24 7月, 2016 3 次提交
    • M
      xtensa: cleanup MMU setup and kernel layout macros · a9f2fc62
      Max Filippov 提交于
      Make kernel load address explicit, independent of the selected MMU
      configuration and configurable from Kconfig. Do not restrict it to the
      first 512MB of the physical address space.
      
      Cleanup kernel memory layout macros:
      
      - rename VECBASE_RESET_VADDR to VECBASE_VADDR, XC_VADDR to VECTOR_VADDR;
      - drop VIRTUAL_MEMORY_ADDRESS and LOAD_MEMORY_ADDRESS;
      - introduce PHYS_OFFSET and use it in __va and __pa definitions;
      - synchronize MMU/noMMU vectors, drop unused NMI vector;
      - replace hardcoded vectors offset of 0x3000 with Kconfig symbol.
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      a9f2fc62
    • M
      xtensa: add alternative kernel memory layouts · d39af902
      Max Filippov 提交于
      MMUv3 is able to support low memory bigger than 128MB.
      Implement 256MB and 512MB KSEG layouts:
      
      - add Kconfig selector for KSEG layout;
      - add KSEG base address, size and alignment definitions to
        arch/xtensa/include/asm/kmem_layout.h;
      - use new definitions in TLB initialization;
      - add build time memory map consistency checks.
      
      See Documentation/xtensa/mmu.txt for the details of new memory layouts.
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      d39af902
    • M
      xtensa: move kernel mapping addresses into kmem_layout.h · f1883aa7
      Max Filippov 提交于
      Create a header dedicated to memory layout definitions. Include it from
      places where these definitions are needed.
      Express vmalloc area address, VIRTUAL_MEMORY_ADDRESS and KERNELOFFSET
      through KSEG address.
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      f1883aa7