mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-09 04:36:31 +00:00
pmap: move the smp_targeted_tlb_shutdown pointer stuff to amd64 pmap.h
Fixes: bec000c9c1ef409989685bb03ff0532907befb4aESC Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
215a18d502
commit
9c5d7e4a0c
|
@ -542,6 +542,33 @@ pmap_get_pcid(pmap_t pmap)
|
|||
}
|
||||
#endif /* sys/pcpu.h */
|
||||
|
||||
/*
|
||||
* Invalidation request. PCPU pc_smp_tlb_op uses u_int instead of the
|
||||
* enum to avoid both namespace and ABI issues (with enums).
|
||||
*/
|
||||
enum invl_op_codes {
|
||||
INVL_OP_TLB = 1,
|
||||
INVL_OP_TLB_INVPCID = 2,
|
||||
INVL_OP_TLB_INVPCID_PTI = 3,
|
||||
INVL_OP_TLB_PCID = 4,
|
||||
INVL_OP_PGRNG = 5,
|
||||
INVL_OP_PGRNG_INVPCID = 6,
|
||||
INVL_OP_PGRNG_PCID = 7,
|
||||
INVL_OP_PG = 8,
|
||||
INVL_OP_PG_INVPCID = 9,
|
||||
INVL_OP_PG_PCID = 10,
|
||||
INVL_OP_CACHE = 11,
|
||||
};
|
||||
|
||||
typedef void (*smp_invl_local_cb_t)(struct pmap *, vm_offset_t addr1,
|
||||
vm_offset_t addr2);
|
||||
typedef void (*smp_targeted_tlb_shootdown_t)(pmap_t, vm_offset_t, vm_offset_t,
|
||||
smp_invl_local_cb_t, enum invl_op_codes);
|
||||
|
||||
void smp_targeted_tlb_shootdown_native(pmap_t, vm_offset_t, vm_offset_t,
|
||||
smp_invl_local_cb_t, enum invl_op_codes);
|
||||
extern smp_targeted_tlb_shootdown_t smp_targeted_tlb_shootdown;
|
||||
|
||||
#endif /* _KERNEL */
|
||||
|
||||
/* Return various clipped indexes for a given VA */
|
||||
|
|
|
@ -167,33 +167,6 @@ void pmap_unwire(pmap_t pmap, vm_offset_t start, vm_offset_t end);
|
|||
void pmap_zero_page(vm_page_t);
|
||||
void pmap_zero_page_area(vm_page_t, int off, int size);
|
||||
|
||||
/*
|
||||
* Invalidation request. PCPU pc_smp_tlb_op uses u_int instead of the
|
||||
* enum to avoid both namespace and ABI issues (with enums).
|
||||
*/
|
||||
enum invl_op_codes {
|
||||
INVL_OP_TLB = 1,
|
||||
INVL_OP_TLB_INVPCID = 2,
|
||||
INVL_OP_TLB_INVPCID_PTI = 3,
|
||||
INVL_OP_TLB_PCID = 4,
|
||||
INVL_OP_PGRNG = 5,
|
||||
INVL_OP_PGRNG_INVPCID = 6,
|
||||
INVL_OP_PGRNG_PCID = 7,
|
||||
INVL_OP_PG = 8,
|
||||
INVL_OP_PG_INVPCID = 9,
|
||||
INVL_OP_PG_PCID = 10,
|
||||
INVL_OP_CACHE = 11,
|
||||
};
|
||||
typedef void (*smp_invl_local_cb_t)(struct pmap *, vm_offset_t addr1,
|
||||
vm_offset_t addr2);
|
||||
typedef void (*smp_targeted_tlb_shootdown_t)(pmap_t, vm_offset_t, vm_offset_t,
|
||||
smp_invl_local_cb_t, enum invl_op_codes);
|
||||
|
||||
extern void
|
||||
smp_targeted_tlb_shootdown_native(pmap_t, vm_offset_t, vm_offset_t,
|
||||
smp_invl_local_cb_t, enum invl_op_codes);
|
||||
extern smp_targeted_tlb_shootdown_t smp_targeted_tlb_shootdown;
|
||||
|
||||
#define pmap_resident_count(pm) ((pm)->pm_stats.resident_count)
|
||||
#define pmap_wired_count(pm) ((pm)->pm_stats.wired_count)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user