Lines Matching +full:address +full:- +full:translation
8 Linux kernel. The architecture allows up to 4 levels of translation
11 AArch64 Linux uses either 3 levels or 4 levels of translation tables
12 with the 4KB page configuration, allowing 39-bit (512GB) or 48-bit
14 64KB pages, only 2 levels of translation tables, allowing 42-bit (4TB)
15 virtual address, are used but the memory layout is the same.
17 ARMv8.2 adds optional support for Large Virtual Address space. This is
19 number of descriptors in the first level of translation.
21 TTBRx selection is given by bit 55 of the virtual address. The
23 contains only user (non-global) mappings. The swapper_pg_dir address is
36 52-bit VA support in the kernel
37 -------------------------------
38 If the ARMv8.2-LVA optional feature is present, and we are running
39 with a 64KB page size; then it is possible to use 52-bits of address
41 binary that supports 52-bit must also be able to fall back to 48-bit
45 higher addresses such that they are invariant to 48/52-bit VAs. Due
48 kernel VA space for both 48/52-bit. (Switching from 48-bit to 52-bit,
50 whilst the start address will "grow" towards the lower addresses).
53 is kept constant at 0xFFF0000000000000 (corresponding to 52-bit),
58 As a single binary will need to support both 48-bit and 52-bit VA
59 spaces, the VMEMMAP must be sized large enough for 52-bit VAs and
77 52-bit userspace VAs
78 --------------------
80 VA space maximum size of 48-bits, the kernel will, by default,
81 return virtual addresses to userspace from a 48-bit range.
83 Software can "opt-in" to receiving VAs from a 52-bit space by
84 specifying an mmap hint parameter that is larger than 48-bit.
88 .. code-block:: c
93 from a 52-bit space by enabling the following kernel config options:
95 .. code-block:: sh