From 5c74d2f73618084fe35322dbb04bf713f7d177f2 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Wed, 19 Nov 2025 15:45:40 +0100 Subject: executor: sys/linux: implement SYZOS_API_NESTED_VMRESUME Provide the SYZOS API command to resume L2 execution after a VM exit, using VMRESUME on Intel and VMRUN on AMD. For testing purpose, implement basic handling of the INVD instruction: - enable INVD interception on AMD (set all bits in VMCB 00Ch); - map EXIT_REASON_INVD and VMEXIT_INVD into SYZOS_NESTED_EXIT_REASON_INVD; - advance L2 RIP to skip to the next instruction. While at it, perform minor refactorings of L2 exit reason handling. sys/linux/test/amd64-syz_kvm_nested_vmresume tests the new command by executing two instructions, INVD and HLT, in the nested VM. --- sys/linux/dev_kvm_amd64.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'sys/linux/dev_kvm_amd64.txt') diff --git a/sys/linux/dev_kvm_amd64.txt b/sys/linux/dev_kvm_amd64.txt index cb116574d..d3dac2cf9 100644 --- a/sys/linux/dev_kvm_amd64.txt +++ b/sys/linux/dev_kvm_amd64.txt @@ -117,6 +117,7 @@ syzos_api_call$x86 [ nested_create_vm syzos_api$x86[301, syzos_api_vm_id] nested_load_code syzos_api$x86[302, syzos_api_nested_load_code] nested_vmlaunch syzos_api$x86[303, syzos_api_vm_id] + nested_vmresume syzos_api$x86[304, syzos_api_vm_id] ] [varlen] kvm_text_x86 [ -- cgit mrf-deployment