~~There are still loose ends to be dealt with before this patch is committed, but I'm posting it now because it seems to work and I would like to see it tested on other hardware besides Amazon EC2 Cortex-A72-based machines.~~
Utilize ASIDs to reduce both the direct and indirect costs of context switching. The indirect costs being unnecessary TLB misses that are incurred when ASIDs are not used.
Mark all user-space ("ttbr0") page table entries with the non-global flag.
Implement a workaround for Cavium erratum 27456 affecting ThunderX machines.
Address integer overflow in the definition of TCR_ASID_16.
Eliminate some unused code.