| 2755 | } |
| 2756 | |
| 2757 | void |
| 2758 | pmap_quick_remove_page(vm_offset_t addr) |
| 2759 | { |
| 2760 | mips_dcache_wbinv_range(addr, PAGE_SIZE); |
| 2761 | |
| 2762 | #if !defined(__mips_n64) |
| 2763 | pt_entry_t *pte; |
| 2764 | |
| 2765 | if (addr >= MIPS_KSEG0_START && addr < MIPS_KSEG0_END) |
| 2766 | return; |
| 2767 | |
| 2768 | pte = PCPU_GET(qmap_ptep); |
| 2769 | |
| 2770 | KASSERT(*pte != PTE_G, |
| 2771 | ("pmap_quick_remove_page: PTE not in use")); |
| 2772 | KASSERT(PCPU_GET(qmap_addr) == addr, |
| 2773 | ("pmap_quick_remove_page: invalid address")); |
| 2774 | |
| 2775 | *pte = PTE_G; |
| 2776 | tlb_invalidate_address(kernel_pmap, addr); |
| 2777 | critical_exit(); |
| 2778 | #endif |
| 2779 | } |
| 2780 | |
| 2781 | /* |
| 2782 | * Returns true if the pmap's pv is one of the first |
no test coverage detected