summaryrefslogtreecommitdiff
path: root/sys/include/arch
diff options
context:
space:
mode:
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 */