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)
committerDavid Butcher <david.butcher@arm.com>
Fri, 17 Jan 2014 09:42:35 +0000 (09:42 +0000)
commit754af9a1d3f81e8e17dd47be81c673abc681fbe0
treefa5c2621677beb8b810d65182070f2289bc972d1
parent7bb429f0dc58fbb1248e986638d2b117650025da
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.

Change-Id: I4c025d026144c69a2259b6562e46176f95b4e110
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
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