TLB
include/mem/tlb.h View source View on GitHubStructs
Section titled “Structs”tlb_payload
Section titled “tlb_payload” struct tlb_payload (2 fields) source
tlb_request
Section titled “tlb_request” struct tlb_request (3 fields) source
tlb_payload_type
Section titled “tlb_payload_type” enum tlb_payload_type (3 variants) source
tlb_mode
Section titled “tlb_mode” enum tlb_mode (4 variants) source
Type Aliases
Section titled “Type Aliases”tlb_stamp_t
Section titled “tlb_stamp_t”typedef uint64_t tlb_stamp_t source Functions
Section titled “Functions”tlb_init
Section titled “tlb_init”void tlb_init(void) source tlb_shootdown_isr
Section titled “tlb_shootdown_isr”enum irq_result tlb_shootdown_isr(struct irq_context *rsp, void *ctx) source tlb_shootdown_full
Section titled “tlb_shootdown_full”void tlb_shootdown_full(struct tlb_request rq) source tlb_invalidate_lazy
Section titled “tlb_invalidate_lazy”void tlb_invalidate_lazy(void) source Macros
Section titled “Macros”TLB_QUEUE_SIZE
Section titled “TLB_QUEUE_SIZE”#define TLB_QUEUE_SIZE 64 source per-cpu
tlb_shootdown
Section titled “tlb_shootdown”#define tlb_shootdown(...) source Expansion
#define tlb_shootdown(...) \
tlb_shootdown_full(cc_wno_override_init_expr( \
struct tlb_request, \
((struct tlb_request) {.mode = TLB_MODE_SYNC, \
.targets = CPU_MASK_INIT_ALL, \
.payload.type = TLB_PAYLOAD_PAGE, \
##__VA_ARGS__})))