summaryrefslogtreecommitdiff
path: root/sys/include/arch
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-05-23 19:50:57 -0400
committerIan Moffett <ian@osmora.org>2024-05-23 19:50:57 -0400
commit9c978c882984e879f6f418733fe95a16310f1373 (patch)
treedf2c59d29831d7d4a9c005aec1ed5fbd8de3b6ff /sys/include/arch
parentb63337fbcf9f471399caa8a420fd35a1c2db98db (diff)
kernel/amd64: pmap: Add support for TLB shootdowns
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include/arch')
-rw-r--r--sys/include/arch/amd64/cpu.h3
-rw-r--r--sys/include/arch/amd64/sysvec.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/include/arch/amd64/cpu.h b/sys/include/arch/amd64/cpu.h
index ee9bad7..3febf5a 100644
--- a/sys/include/arch/amd64/cpu.h
+++ b/sys/include/arch/amd64/cpu.h
@@ -35,6 +35,7 @@
#include <sys/spinlock.h>
#include <sys/sched_state.h>
#include <sys/queue.h>
+#include <sys/intr.h>
#include <machine/tss.h>
#include <machine/msr.h>
/*
@@ -72,6 +73,8 @@ struct cpu_info {
volatile void *lapic_base;
volatile bool has_x2apic;
volatile struct tss_entry *tss;
+ volatile uintptr_t tlb_flush_ptr; /* Address to flush */
+ struct intr_info *tlb_shootdown; /* Shootdown interrupt info */
};
/*
diff --git a/sys/include/arch/amd64/sysvec.h b/sys/include/arch/amd64/sysvec.h
index a6ff1bd..99a84c0 100644
--- a/sys/include/arch/amd64/sysvec.h
+++ b/sys/include/arch/amd64/sysvec.h
@@ -43,6 +43,7 @@ typedef enum {
SYSVEC_IPI, /* IPI vector */
SYSVEC_HLT, /* Halt vector */
SYSVEC_PCKBD, /* Keyboard vector */
+ SYSVEC_TLB, /* TLB shootdown */
/* -- XXX: New vectors go above -- */
NSYSVEC_BASE, /* Non-system vector base */