MCPcopy Create free account
hub / github.com/F-Stack/f-stack / pmap_quick_remove_page

Function pmap_quick_remove_page

freebsd/mips/mips/pmap.c:2757–2779  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2755}
2756
2757void
2758pmap_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

Callers 2

copyout_pageFunction · 0.50
bounce_bus_dmamap_syncFunction · 0.50

Calls 2

tlb_invalidate_addressFunction · 0.85
critical_exitFunction · 0.50

Tested by

no test coverage detected