aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/dev_kvm_amd64.txt
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2025-11-19 15:45:40 +0100
committerAlexander Potapenko <glider@google.com>2025-11-20 09:23:19 +0000
commit5c74d2f73618084fe35322dbb04bf713f7d177f2 (patch)
tree1c3b16cd8fa7e9a93adb462870551f6d99f04e72 /sys/linux/dev_kvm_amd64.txt
parentec988b2fb6c4aada0b3afcd9739ad27ec64b8249 (diff)
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.
Diffstat (limited to 'sys/linux/dev_kvm_amd64.txt')
-rw-r--r--sys/linux/dev_kvm_amd64.txt1
1 files changed, 1 insertions, 0 deletions
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 [