Set read and execute permission bits independently when prefaulting a
4 KiB mapping, as is already done for 2 MiB mappings. The previous
if/else made a requested read-and-execute mapping execute-only. Later
data reads from that mapping incurred protection faults and fell back
to the VM fault handler.
Skip requests with neither read nor execute permission, since the quick
path must not grant read access to a write-only mapping or install a
leaf PTE without any hardware access permissions. Prefaulting continues
to withhold write access, and execute-only requests remain execute-only.
Fixes: 65bbba25d214 ("powerpc64: Implement Radix MMU for POWER9 CPUs")
MFC after: 2 weeks
Sponsored by: FreeBSD Foundation, Reliable Computer Systems Lab