| 808 | } |
| 809 | |
| 810 | static void |
| 811 | invltlb_invpcid_handler(pmap_t smp_tlb_pmap) |
| 812 | { |
| 813 | struct invpcid_descr d; |
| 814 | |
| 815 | #ifdef COUNT_XINVLTLB_HITS |
| 816 | xhits_gbl[PCPU_GET(cpuid)]++; |
| 817 | #endif /* COUNT_XINVLTLB_HITS */ |
| 818 | #ifdef COUNT_IPIS |
| 819 | (*ipi_invltlb_counts[PCPU_GET(cpuid)])++; |
| 820 | #endif /* COUNT_IPIS */ |
| 821 | |
| 822 | d.pcid = smp_tlb_pmap->pm_pcids[PCPU_GET(cpuid)].pm_pcid; |
| 823 | d.pad = 0; |
| 824 | d.addr = 0; |
| 825 | invpcid(&d, smp_tlb_pmap == kernel_pmap ? INVPCID_CTXGLOB : |
| 826 | INVPCID_CTX); |
| 827 | } |
| 828 | |
| 829 | static void |
| 830 | invltlb_invpcid_pti_handler(pmap_t smp_tlb_pmap) |
no test coverage detected