| 6264 | } |
| 6265 | |
| 6266 | void |
| 6267 | pmap_kenter_device(vm_offset_t va, vm_size_t size, vm_paddr_t pa) |
| 6268 | { |
| 6269 | vm_offset_t sva; |
| 6270 | uint32_t l2attr; |
| 6271 | |
| 6272 | KASSERT((size & PAGE_MASK) == 0, |
| 6273 | ("%s: device mapping not page-sized", __func__)); |
| 6274 | |
| 6275 | sva = va; |
| 6276 | l2attr = vm_memattr_to_pte2(VM_MEMATTR_DEVICE); |
| 6277 | while (size != 0) { |
| 6278 | pmap_kenter_prot_attr(va, pa, PTE2_AP_KRW, l2attr); |
| 6279 | va += PAGE_SIZE; |
| 6280 | pa += PAGE_SIZE; |
| 6281 | size -= PAGE_SIZE; |
| 6282 | } |
| 6283 | tlb_flush_range(sva, va - sva); |
| 6284 | } |
| 6285 | |
| 6286 | void |
| 6287 | pmap_kremove_device(vm_offset_t va, vm_size_t size) |
nothing calls this directly
no test coverage detected