aboutsummaryrefslogtreecommitdiffstats
path: root/executor/kvm.h
diff options
context:
space:
mode:
Diffstat (limited to 'executor/kvm.h')
-rw-r--r--executor/kvm.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/executor/kvm.h b/executor/kvm.h
index 79dddc486..28391db57 100644
--- a/executor/kvm.h
+++ b/executor/kvm.h
@@ -34,6 +34,24 @@
#define X86_ADDR_VAR_USER_CODE2 0x9120
// x86 SYZOS definitions.
+// Zero page (0x0 - 0xfff) is deliberately unused.
+#define X86_SYZOS_ADDR_ZERO 0x0
+#define X86_SYZOS_ADDR_GDT 0x1000
+// PML4 for GPAs 0x0 - 0xffffffffffff.
+#define X86_SYZOS_ADDR_PML4 0x2000
+// PDP for GPAs 0x0 - 0x7fffffffff.
+#define X86_SYZOS_ADDR_PDP 0x3000
+// Lowmem PD for GPAs 0x0 - 0x3fffffff.
+#define X86_SYZOS_ADDR_PD 0x4000
+// IOAPIC PD for GPAs 0xc0000000 - 0xffffffff.
+#define X86_SYZOS_ADDR_PD_IOAPIC 0x5000
+// Lowmem PT for GPAs 0x000000 - 0x1fffff.
+#define X86_SYZOS_ADDR_PT_LOW_MEM 0x6000
+// Two PTs for unused memory for GPAs 0x200000 - 0x3fffff.
+#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_SMRAM 0x30000
// Write to this page to trigger a page fault and stop KVM_RUN.
#define X86_SYZOS_ADDR_EXIT 0x40000
@@ -43,8 +61,8 @@
#define X86_SYZOS_ADDR_USER_CODE 0x50000
#define X86_SYZOS_ADDR_EXECUTOR_CODE 0x54000
#define X86_SYZOS_ADDR_SCRATCH_CODE 0x58000
-#define X86_SYZOS_ADDR_STACK_BOTTOM 0x0
-#define X86_SYZOS_ADDR_STACK0 0xf80
+#define X86_SYZOS_ADDR_STACK_BOTTOM 0x90000
+#define X86_SYZOS_ADDR_STACK0 0x90f80
#define X86_SYZOS_ADDR_UNUSED 0x200000
#define X86_SYZOS_ADDR_IOAPIC 0xfec00000