aboutsummaryrefslogtreecommitdiffstats
path: root/executor/kvm.h
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2025-11-17 16:13:55 +0100
committerAlexander Potapenko <glider@google.com>2025-11-19 08:59:40 +0000
commita0dd64f852f58d267f78c25c35b3f3eae2b521c7 (patch)
tree9b3b4345aa6b28ba5498df41e5515fd846697d73 /executor/kvm.h
parent825f9f21aae8dd655126b50de70210bacbd330f9 (diff)
executor: x86: implement SYZOS_API_ENABLE_NESTED
Add vendor-specific code to turn on nested virtualization on Intel and AMD. Also provide get_cpu_vendor() to pick the correct implementation.
Diffstat (limited to 'executor/kvm.h')
-rw-r--r--executor/kvm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/executor/kvm.h b/executor/kvm.h
index ec6fdccc3..ab6c44601 100644
--- a/executor/kvm.h
+++ b/executor/kvm.h
@@ -215,14 +215,17 @@
#define X86_SEL_TSS64_CPL3 ((29 << 3) + 3)
#define X86_SEL_TSS64_CPL3_HI (30 << 3)
+// Model-Specific Registers (MSRs).
#define X86_MSR_IA32_FEATURE_CONTROL 0x3a
#define X86_MSR_IA32_VMX_BASIC 0x480
#define X86_MSR_IA32_SMBASE 0x9e
#define X86_MSR_IA32_SYSENTER_CS 0x174
#define X86_MSR_IA32_SYSENTER_ESP 0x175
#define X86_MSR_IA32_SYSENTER_EIP 0x176
+#define X86_MSR_IA32_EFER 0xc0000080
#define X86_MSR_IA32_STAR 0xC0000081
#define X86_MSR_IA32_LSTAR 0xC0000082
+#define X86_MSR_VM_HSAVE_PA 0xc0010117
#define X86_MSR_IA32_VMX_PROCBASED_CTLS2 0x48B
#define X86_NEXT_INSN $0xbadc0de