TLB
include/mem/tlb.h View source View on GitHubStructs
Section titled “Structs”tlb_shootdown_cpu
Section titled “tlb_shootdown_cpu”struct tlb_shootdown_cpu {
_Atomic uintptr_t queue[TLB_QUEUE_SIZE];
_Atomic uint32_t head;
_Atomic uint32_t tail;
atomic_bool in_tlb_shootdown;
_Atomic uint8_t flush_all;
_Atomic uint64_t req_gen;
_Atomic uint64_t done_gen;
}; Functions
Section titled “Functions”tlb_init
Section titled “tlb_init”void tlb_init(void); tlb_shootdown_isr
Section titled “tlb_shootdown_isr”enum irq_result tlb_shootdown_isr(void *ctx, irq_t irq, struct irq_context *rsp); tlb_shootdown
Section titled “tlb_shootdown”void tlb_shootdown(uintptr_t addr, bool synchronous); Macros
Section titled “Macros”TLB_QUEUE_SIZE
Section titled “TLB_QUEUE_SIZE”#define TLB_QUEUE_SIZE 64