aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2025-11-18 11:07:02 +0100
committerAlexander Potapenko <glider@google.com>2025-11-19 08:59:40 +0000
commite5e08fbade9fe503f6dd211ecaf29510f1da05b6 (patch)
treef024d4909103be2dfbb0308a5854a2ece5cf640b /sys
parenta0dd64f852f58d267f78c25c35b3f3eae2b521c7 (diff)
executor: x86: implement SYZOS_API_NESTED_CREATE_VM
Provide basic setup for registers, page tables, and segments to create Intel/AMD-based nested virtual machines. Note that the machines do not get started yet.
Diffstat (limited to 'sys')
-rw-r--r--sys/linux/dev_kvm_amd64.txt25
1 files changed, 14 insertions, 11 deletions
diff --git a/sys/linux/dev_kvm_amd64.txt b/sys/linux/dev_kvm_amd64.txt
index 4fd3cdf66..41cb46d84 100644
--- a/sys/linux/dev_kvm_amd64.txt
+++ b/sys/linux/dev_kvm_amd64.txt
@@ -94,18 +94,21 @@ syzos_api_set_irq_handler {
arg_handler_type int64[0:2]
}
+type syzos_api_vm_id int64[0:3]
+
syzos_api_call$x86 [
- uexit syzos_api$x86[0, intptr]
- code syzos_api$x86[10, syzos_api_code$x86]
- cpuid syzos_api$x86[20, syzos_api_cpuid]
- wrmsr syzos_api$x86[30, syzos_api_wrmsr]
- rdmsr syzos_api$x86[50, syzos_api_rdmsr]
- wr_crn syzos_api$x86[70, syzos_api_wr_crn]
- wr_drn syzos_api$x86[110, syzos_api_wr_drn]
- in_dx syzos_api$x86[130, syzos_api_in_dx]
- out_dx syzos_api$x86[170, syzos_api_out_dx]
- set_irq_handler syzos_api$x86[190, syzos_api_set_irq_handler]
- enable_nested syzos_api$x86[230, const[0, intptr]]
+ uexit syzos_api$x86[0, intptr]
+ code syzos_api$x86[10, syzos_api_code$x86]
+ cpuid syzos_api$x86[20, syzos_api_cpuid]
+ wrmsr syzos_api$x86[30, syzos_api_wrmsr]
+ rdmsr syzos_api$x86[50, syzos_api_rdmsr]
+ wr_crn syzos_api$x86[70, syzos_api_wr_crn]
+ wr_drn syzos_api$x86[110, syzos_api_wr_drn]
+ in_dx syzos_api$x86[130, syzos_api_in_dx]
+ out_dx syzos_api$x86[170, syzos_api_out_dx]
+ set_irq_handler syzos_api$x86[190, syzos_api_set_irq_handler]
+ enable_nested syzos_api$x86[230, const[0, intptr]]
+ nested_create_vm syzos_api$x86[230, syzos_api_vm_id]
] [varlen]
kvm_text_x86 [