arm64: handle 52-bit physical addresses in page table entries

The top 4 bits of a 52-bit physical address are positioned at bits
12..15 of a page table entry. Introduce macros to convert between a
physical address and its placement in a table entry, and change all
macros/functions that access PTEs to use them.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Tested-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Tested-by: Bob Picco <bob.picco@oracle.com>
Reviewed-by: Bob Picco <bob.picco@oracle.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
[catalin.marinas@arm.com: some long lines wrapped]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Este commit está contenido en:
Kristina Martsenko
2017-12-13 17:07:21 +00:00
cometido por Catalin Marinas
padre 193383043f
commit 75387b9263
Se han modificado 5 ficheros con 51 adiciones y 20 borrados

Ver fichero

@@ -161,7 +161,7 @@ ENDPROC(preserve_boot_args)
* supporting this configuration with 64K pages.
*/
orr \pte, \phys, \phys, lsr #36
and \pte, \pte, #PTE_ADDR_MASK_52
and \pte, \pte, #PTE_ADDR_MASK
#else
mov \pte, \phys
#endif