| 10953 | } |
| 10954 | |
| 10955 | static pt_entry_t |
| 10956 | pmap_pkru_get(pmap_t pmap, vm_offset_t va) |
| 10957 | { |
| 10958 | struct pmap_pkru_range *ppr; |
| 10959 | |
| 10960 | PMAP_LOCK_ASSERT(pmap, MA_OWNED); |
| 10961 | if (pmap->pm_type != PT_X86 || |
| 10962 | (cpu_stdext_feature2 & CPUID_STDEXT2_PKU) == 0 || |
| 10963 | va >= VM_MAXUSER_ADDRESS) |
| 10964 | return (0); |
| 10965 | ppr = rangeset_lookup(&pmap->pm_pkru, va); |
| 10966 | if (ppr != NULL) |
| 10967 | return (X86_PG_PKU(ppr->pkru_keyidx)); |
| 10968 | return (0); |
| 10969 | } |
| 10970 | |
| 10971 | static bool |
| 10972 | pred_pkru_on_remove(void *ctx __unused, void *r) |
no test coverage detected