diff options
author | Ian Moffett <ian@osmora.org> | 2025-06-01 19:58:28 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-06-01 19:58:28 -0400 |
commit | c3091854eef84ba4655ada317c215c426a08045c (patch) | |
tree | 9346c4099fe4d5f1d5c7d68b6347ae3c9b227fe4 /sys/include/arch/amd64/cpu.h | |
parent | 7fb5702f6625b181dd61cd4bd59c45b16bb3983a (diff) |
kernel/amd64: Add support for TLB shootdowns
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include/arch/amd64/cpu.h')
-rw-r--r-- | sys/include/arch/amd64/cpu.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/include/arch/amd64/cpu.h b/sys/include/arch/amd64/cpu.h index 89bc5e9..2d08d6e 100644 --- a/sys/include/arch/amd64/cpu.h +++ b/sys/include/arch/amd64/cpu.h @@ -33,6 +33,7 @@ #include <sys/types.h> #include <sys/cdefs.h> #include <sys/proc.h> +#include <sys/spinlock.h> #include <machine/tss.h> #define CPU_IRQ(IRQ_N) (BIT((IRQ_N)) & 0xFF) @@ -40,11 +41,14 @@ struct cpu_info { uint32_t apicid; uint8_t has_x2apic : 1; + uint8_t tlb_shootdown : 1; uint8_t ipl; size_t lapic_tmr_freq; uint8_t irq_mask; + vaddr_t shootdown_va; struct tss_entry *tss; struct proc *curtd; + struct spinlock lock; struct cpu_info *self; }; @@ -54,6 +58,7 @@ void cpu_startup(struct cpu_info *ci); struct cpu_info *cpu_get(uint32_t index); uint32_t cpu_count(void); +void cpu_shootdown_tlb(vaddr_t va); struct cpu_info *this_cpu(void); void mp_bootstrap_aps(struct cpu_info *ci); |