This fixes system hangs on reading device registers in LinuxKPI drivers on aarch64.
VM_MEMATTR_DEVICE is also defined on RISC-V and 32-bit ARM, so I used ifdef VM_MEMATTR_DEVICE to make sure anyone trying to port LinuxKPI stuff to these architectures doesn't hit the same problem.