Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.
中文简介正在准备中。当前显示原文说明。
Use when studying Intel VT-x or AMD-V internals: VMCS and VMCB, EPT and NPT, VM exit handling, APIC virtualization, or building a minimal type-1 hypervisor. Not for running VMs: use qemu-kvm.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
| Field | Bound contract |
|---|---|
| Trigger | A VM exit storm or EPT violation needs diagnosing, a KVM or Hyper-V behavior needs mapping to the hardware feature under it, a hypervisor CVE needs triage, or an educational hypervisor is being built. |
| Authority | Read-only. The skill reads kernel headers, sysfs, and module parameters and answers in chat. Nothing on disk changes, so there is nothing to roll back. No remote mutation. |
| Side effect | Chat output only. |
| Done | The hardware structure and exit reason in question are named with their header constants, the Intel and AMD forms are both given where they differ, and the tuning or mitigation lever is identified. |
kvm_intel or kvm_amd module parameters and the vulnerability files./dev/kvm; QEMU is its user-space device model. Done when: the user knows which layer the question lives in.VMXON enters VMX root mode; the hypervisor fills a VMCS with guest state, host state, and control fields; VMLAUNCH or VMRESUME enters the guest; the guest runs until a VM exit returns to the host handler at the host RIP in the VMCS; VMXOFF leaves VMX operation. Done when: each instruction is placed on the path.| VMCS area | Contents |
|---|---|
| Guest state | General registers, CR0, CR3, CR4, segment selectors, RIP, RSP |
| Host state | Host RIP (the exit handler), host CR3 |
| Controls | Pin-based, processor-based, VM-exit, and VM-entry controls |
| Exit information | Exit reason, exit qualification, guest linear address |
arch/x86/include/uapi/asm/vmx.h: 0 exception or NMI, 1 external interrupt, 2 triple fault, 10 CPUID, 12 HLT, 28 CR access, 30 I/O instruction, 31 MSR read, 32 MSR write, 48 EPT violation, 49 EPT misconfiguration. Done when: the observed exit reason maps to a constant.EFER.SVME enables SVM; the VMCB holds a control area (intercept vectors for CPUID, MSR, and I/O, the nested paging enable bit, the ASID) and a guest save area; VMRUN enters the guest and #VMEXIT returns. Exit codes from arch/x86/include/uapi/asm/svm.h: 0x72 CPUID, 0x78 HLT, 0x7b I/O, 0x7c MSR, 0x400 nested page fault. Done when: the Intel concept has its AMD counterpart.| Intel | AMD |
|---|---|
| VMCS | VMCB |
VMXON and VMXOFF | EFER.SVME |
VMLAUNCH and VMRESUME | VMRUN |
| EPT | NPT |
IA32_FEATURE_CONTROL and IA32_EFER and passes through the rest. Done when: the MSR or port causing an exit storm is identified and its bitmap bit is the proposed lever.V_IRQ and V_INTR_PRIO in the VMCB. On a Linux host these appear as kvm_intel parameters (enable_apicv, enable_device_posted_irqs, ept, nested, vpid, pml) under /sys/module/kvm_intel/parameters/. Done when: the interrupt path from device to guest ISR is drawn.kvm_intel parameter vmentry_l1d_flush; state in /sys/devices/system/cpu/vulnerabilities/l1tf). Read that directory for the current host state before making a claim about it. Done when: the mitigation and its sysfs evidence are named.X86_FEATURE_VMX or X86_FEATURE_SVM, exposed as vmx or svm in /proc/cpuinfo), enable VMX or SVM, allocate the VMCS or VMCB and fill host and guest state, handle exits for CPUID and HLT, add EPT or NPT with an identity map, then inject interrupts. Done when: the next step in that order is identified.int kvm = open("/dev/kvm", O_RDWR);
ioctl(kvm, KVM_GET_API_VERSION, 0); /* must be 12 */
int vm = ioctl(kvm, KVM_CREATE_VM, 0);
/* KVM_SET_USER_MEMORY_REGION maps guest memory before any vCPU runs. */
int vcpu = ioctl(vm, KVM_CREATE_VCPU, 0);
/* mmap the vCPU fd for KVM_GET_VCPU_MMAP_SIZE bytes to read the exit reason. */
ioctl(vcpu, KVM_RUN, 0); /* returns on each VM exit */
For running guests and passing through devices, use qemu-kvm. For lighter isolation without a VM, use containers-internals. For the guest OS side, use os-dev-scratch. For host kernel mitigations, use kernel-security.
| Failure class | Behavior |
|---|---|
| VM exit storm on MSR access | The MSR bitmap intercepts a hot MSR. Pass that MSR through when it is safe. |
| EPT misconfiguration exit | A malformed EPT entry (reserved bits or bad memory type). Check the entry against the SDM format. |
| Nested guest slow | Two-level page walk plus exits forwarded through the outer hypervisor. Enable hardware assists, limit nesting depth. |
VMXON fails | CR0 or CR4 fixed bits are wrong, or IA32_FEATURE_CONTROL is locked without VMX enabled. Check both. |
| Guest triple fault | The guest's IDT or an unhandled exception in early boot. Check the guest interrupt setup. |
| Every port I/O exits | The I/O bitmap traps everything. Shrink it to the emulated ports. |
A chat answer naming the structure, the exit reason with its header constant, the Intel and AMD forms, and the lever (bitmap, parameter, or paging change) that addresses the symptom, with the sysfs or header evidence quoted.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.
中文简介正在准备中。当前显示原文说明。
Use when configuring ADC sampling time, DMA-driven ADC, calibration, or DAC channel setup on bare-metal MCUs. Not for the DMA stream itself: use dma-baremetal.
中文简介正在准备中。当前显示原文说明。
Use when creating AF_XDP sockets, configuring UMEM and XSK rings, writing an XDP redirect program, or choosing copy versus zero-copy mode. Not for full kernel bypass: use dpdk.
中文简介正在准备中。当前显示原文说明。
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
中文简介正在准备中。当前显示原文说明。
Use when a redacted, trimmed agent transcript must be appended to a GitHub PR or issue body, with human approval and preview. Not for automated or model-initiated insertion.
中文简介正在准备中。当前显示原文说明。
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential, publish, deploy, or irreversible changes.
中文简介正在准备中。当前显示原文说明。