TBI is a default feature of ARMv8.0, allowing for the top byte of a
virtual address to be ignored by hardware during address translation and
is a prerequisite for features such as Memory Tagging Extension (MTE)
In order for TBI to be enabled in the kernel, various places that handle
userspace addresses need to be updated to handle TBI, particularly where
an address is compared against the VM_MAXUSER_ADDRESS, as currently
these checks fail if the top byte of a userspace address is set.
TBI has two options to be enabled, via the TCR_EL1 system register. TBI1
will enable it for kernel space, and TBI0 for user space. TBI will only
be enabled for user space for the time being.
Sponsored-by: Arm Ltd
Signed-off-by: Harry Moulton <harry.moulton@arm.com>