| QEMU<->ACPI BIOS PCI hotplug interface |
| -------------------------------------- |
| |
| QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document |
| describes the interface between QEMU and the ACPI BIOS. |
| |
| ACPI GPE block (IO ports 0xafe0-0xafe3, byte access): |
| ----------------------------------------- |
| |
| Generic ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject |
| event to ACPI BIOS, via SCI interrupt. |
| |
| PCI slot injection notification pending (IO port 0xae00-0xae03, 4-byte access): |
| --------------------------------------------------------------- |
| Slot injection notification pending. One bit per slot. |
| |
| Read by ACPI BIOS GPE.1 handler to notify OS of injection |
| events. Read-only. |
| |
| PCI slot removal notification (IO port 0xae04-0xae07, 4-byte access): |
| ----------------------------------------------------- |
| Slot removal notification pending. One bit per slot. |
| |
| Read by ACPI BIOS GPE.1 handler to notify OS of removal |
| events. Read-only. |
| |
| PCI device eject (IO port 0xae08-0xae0b, 4-byte access): |
| ---------------------------------------- |
| |
| Write: Used by ACPI BIOS _EJ0 method to request device removal. |
| One bit per slot. |
| |
| Read: Hotplug features register. Used by platform to identify features |
| available. Current base feature set (no bits set): |
| - Read-only "up" register @0xae00, 4-byte access, bit per slot |
| - Read-only "down" register @0xae04, 4-byte access, bit per slot |
| - Read/write "eject" register @0xae08, 4-byte access, |
| write: bit per slot eject, read: hotplug feature set |
| - Read-only hotplug capable register @0xae0c, 4-byte access, bit per slot |
| |
| PCI removability status (IO port 0xae0c-0xae0f, 4-byte access): |
| ----------------------------------------------- |
| |
| Used by ACPI BIOS _RMV method to indicate removability status to OS. One |
| bit per slot. Read-only |