When the kernel is built with BTI support we need to add a guard page
flag to the page table entries for executable memory. Add this flag
and use it on all kernel executable memory.
As this creates the requirement that modules must be built for BTI if
the kernel has leave disabled until these modules can be checked to
ensure they are built this way. A module built with BTI support will
work with a kernel without it, however in this case the BTI
instructions will be nop.