| 867 | } |
| 868 | |
| 869 | void |
| 870 | pmap_kremove_device(vm_offset_t va, vm_size_t size) |
| 871 | { |
| 872 | |
| 873 | KASSERT((size & PAGE_MASK) == 0, |
| 874 | ("%s: device mapping not page-sized", __func__)); |
| 875 | |
| 876 | /* |
| 877 | * XXXCEM: Similar to pmap_kenter_device, this is inefficient on SMP, |
| 878 | * in that pages are invalidated individually instead of a single range |
| 879 | * rendezvous. |
| 880 | */ |
| 881 | for (; size > 0; size -= PAGE_SIZE) { |
| 882 | pmap_kremove(va); |
| 883 | va += PAGE_SIZE; |
| 884 | } |
| 885 | } |
| 886 | |
| 887 | /* |
| 888 | * remove a page from the kernel pagetables |
no test coverage detected