aboutsummaryrefslogtreecommitdiffstats
path: root/executor/kvm.h
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2025-10-13 15:05:46 +0200
committerAlexander Potapenko <glider@google.com>2025-10-17 06:51:20 +0000
commit1bf5eb12ff86ff72f837a79ea186d4391edd4214 (patch)
tree0f1b7d10eee7aa0725e52926b843460207504473 /executor/kvm.h
parentbc704f36a2d3ef35b1857bc077e58e98c9af4f94 (diff)
executor: rework GDT setup for SYZOS
Untangle SYZOS GDT setup from the legacy one. Drop LDT and TSS for now.
Diffstat (limited to 'executor/kvm.h')
-rw-r--r--executor/kvm.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/executor/kvm.h b/executor/kvm.h
index 28391db57..57d8aa490 100644
--- a/executor/kvm.h
+++ b/executor/kvm.h
@@ -51,6 +51,7 @@
#define X86_SYZOS_ADDR_PT_UNUSED_MEM 0x7000
// IOAPIC PT for GPAs 0xfed00000 - 0xfedfffff.
#define X86_SYZOS_ADDR_PT_IOAPIC 0x9000
+#define X86_SYZOS_ADDR_VAR_IDT 0x10000
#define X86_SYZOS_ADDR_SMRAM 0x30000
// Write to this page to trigger a page fault and stop KVM_RUN.
@@ -66,6 +67,10 @@
#define X86_SYZOS_ADDR_UNUSED 0x200000
#define X86_SYZOS_ADDR_IOAPIC 0xfec00000
+// SYZOS segment selectors
+#define X86_SYZOS_SEL_CODE 0x8
+#define X86_SYZOS_SEL_DATA 0x10
+
#define X86_CR0_PE 1ULL
#define X86_CR0_MP (1ULL << 1)
#define X86_CR0_EM (1ULL << 2)