]> git.karo-electronics.de Git - karo-tx-linux.git/commit
arm64: MMU definitions
authorCatalin Marinas <catalin.marinas@arm.com>
Mon, 5 Mar 2012 11:49:27 +0000 (11:49 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 7 Sep 2012 15:14:25 +0000 (16:14 +0100)
commit4454084d0f06cbcadfdb00b7f6817ee9c007fbc9
tree16ee6f949e9c2967b43e55d00cca86987956b3b5
parent0c68457287cca32a00aefbf027dcacdf72269e27
arm64: MMU definitions

The virtual memory layout is described in
Documentation/arm64/memory.txt. This patch adds the MMU definitions for
the 4KB and 64KB translation table configurations. The SECTION_SIZE is
2MB with 4KB page and 512MB with 64KB page configuration.

PHYS_OFFSET is calculated at run-time and stored in a variable (no
run-time code patching at this stage).

On the current implementation, both user and kernel address spaces are
512G (39-bit) each with a maximum of 256G for the RAM linear mapping.
Linux uses 3 levels of translation tables with the 4K page configuration
and 2 levels with the 64K configuration. Extending the memory space
beyond 39-bit with the 4K pages or 42-bit with 64K pages requires an
additional level of translation tables.

The SPARSEMEM configuration is global to all AArch64 platforms and
allows for 1GB sections with SPARSEMEM_VMEMMAP enabled by default.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Documentation/arm64/memory.txt [new file with mode: 0644]
arch/arm64/include/asm/memory.h [new file with mode: 0644]
arch/arm64/include/asm/mmu.h [new file with mode: 0644]
arch/arm64/include/asm/pgtable-2level-hwdef.h [new file with mode: 0644]
arch/arm64/include/asm/pgtable-2level-types.h [new file with mode: 0644]
arch/arm64/include/asm/pgtable-3level-hwdef.h [new file with mode: 0644]
arch/arm64/include/asm/pgtable-3level-types.h [new file with mode: 0644]
arch/arm64/include/asm/pgtable-hwdef.h [new file with mode: 0644]
arch/arm64/include/asm/pgtable.h [new file with mode: 0644]
arch/arm64/include/asm/sparsemem.h [new file with mode: 0644]