| 623 | } |
| 624 | |
| 625 | void |
| 626 | invlpg_handler(void) |
| 627 | { |
| 628 | uint32_t generation; |
| 629 | |
| 630 | #ifdef COUNT_XINVLTLB_HITS |
| 631 | xhits_pg[PCPU_GET(cpuid)]++; |
| 632 | #endif /* COUNT_XINVLTLB_HITS */ |
| 633 | #ifdef COUNT_IPIS |
| 634 | (*ipi_invlpg_counts[PCPU_GET(cpuid)])++; |
| 635 | #endif /* COUNT_IPIS */ |
| 636 | |
| 637 | generation = smp_tlb_generation; /* Overlap with serialization */ |
| 638 | if (smp_tlb_pmap == kernel_pmap) |
| 639 | invlpg(smp_tlb_addr1); |
| 640 | PCPU_SET(smp_tlb_done, generation); |
| 641 | } |
| 642 | |
| 643 | void |
| 644 | invlrng_handler(void) |