What problem does it solve? Porting a KVM-based Rust VMM to Windows requires reimplementing everything KVM provides in-kernel — partition and vCPU lifecycle, register mapping, run-loop exit translation, MMIO instruction emulation, CPUID policy, and the PIC/IOAPIC/PIT interrupt chips that WHP does not supply. This Skill encodes the hard-won design decisions, type mappings, and debugging traps for that work so changes to the Windows backend stay correct and keep Linux green. ## Core Features & Use Cases - WHP partition and vCPU lifecycle: Guides partition property ordering, WHvMapGpaRange guest memory mapping, register name/value tables, and the 16-byte alignment rules that otherwise crash WHP calls silently. - Run-loop exit translation: Covers HaltGate idle handling, port-I/O and MMIO emulation via WHvEmulatorTryMmioEmulation, CPUID exit policy as a diff over DefaultResult registers, and ACPI S5 shutdown instead of triple-fault detection. - Userspace irqchip: Documents the portable 8259/8254/IOAPIC implementation in machine-x86, InterruptDelivery into WHvRequestInterrupt, and PIT counter design driven by host elapsed time. - Use Case: When modifying crates/vmm-core/src/whp/ or machine-x86/src/irqchip/, load this Skill to avoid known traps — for example, why a memory-to-memory instruction with one MMIO operand must serve guest RAM through the emulator callback, or why concurrent WHP tests must serialize on one partition per process. ## Quick Start Load this skill before making any change to the windows crate, WHv* API calls, or machine_x86::irqchip in the Entangled Desktop repository.