arm64: mm: permit use of tagged pointers at EL0
authorWill Deacon <will.deacon@arm.com>
Wed, 12 Jun 2013 15:28:04 +0000 (16:28 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 5 May 2014 23:06:23 +0000 (16:06 -0700)
commitbfe193600a0134d519d173e4ea7d84fc32827654
treebc2cc6e01f42c6acbd6695efb53dcdde55bf439f
parent8bb495e3f02401ee6f76d1b1d77f3ac9f079e376
arm64: mm: permit use of tagged pointers at EL0

TCR.TBI0 can be used to cause hardware address translation to ignore the
top byte of userspace virtual addresses. Whilst not especially useful in
standard C programs, this can be used by JITs to `tag' pointers with
various pieces of metadata.

This patch enables this bit for AArch64 Linux, and adds a new file to
Documentation/arm64/ which describes some potential caveats when using
tagged virtual addresses.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit d50240a5f6ceaf690a77b0fccb17be51cfa151c2)

Signed-off-by: Alex Shi <alex.shi@linaro.org>
Documentation/arm64/tagged-pointers.txt [new file with mode: 0644]
arch/arm64/include/asm/pgtable-hwdef.h
arch/arm64/kernel/entry.S
arch/arm64/mm/proc.S