What problem does it solve? Working on the ACPI subsystem of a from-scratch Rust VMM requires knowing exactly how the RSDP/XSDT/FADT/FACS/MADT/DSDT tables are laid out, how the PM register block behaves, and how guest shutdown and reboot are wired — getting any of these wrong produces obscure boot failures like #GP faults or guests that cannot power off. ## Core Features & Use Cases - Table inventory and layout: Documents the exact addresses, sizes, and contents of every ACPI table at 0x000e_0000, including why the FACS and DSDT must never appear in the XSDT. - PM register block semantics: Explains the 16-port ACPI PM block at 0x600, the latched PM timer invariant, SCI_EN behavior, and the S5 shutdown latch that ends the VM. - AML/DSDT authoring and verification: Describes the hand-rolled AML encoder, the iasl round-trip acceptance test, and the boot tests that validate tables against real Linux and UEFI guests. - Use Case: Before modifying machine_x86::acpi or debugging a guest that fails to power off, load this Skill to understand the S5 write path through PM1a_CNT and SLEEP_CONTROL and how the run loop polls shutdown_requested(). ## Quick Start Load the acpi-machine skill before editing the ACPI tables, PM register block, or guest shutdown code in the Entangled Desktop machine.