parallel: QOM'ify
[qemu/agraf.git] / docs / specs / acpi_pci_hotplug.txt
bloba839434f313d4320c0e94ba289f343b67797e9d2
1 QEMU<->ACPI BIOS PCI hotplug interface
2 --------------------------------------
4 QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document
5 describes the interface between QEMU and the ACPI BIOS.
7 ACPI GPE block (IO ports 0xafe0-0xafe3, byte access):
8 -----------------------------------------
10 Generic ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject
11 event to ACPI BIOS, via SCI interrupt.
13 PCI slot injection notification pending (IO port 0xae00-0xae03, 4-byte access):
14 ---------------------------------------------------------------
15 Slot injection notification pending. One bit per slot.
17 Read by ACPI BIOS GPE.1 handler to notify OS of injection
18 events.  Read-only.
20 PCI slot removal notification (IO port 0xae04-0xae07, 4-byte access):
21 -----------------------------------------------------
22 Slot removal notification pending. One bit per slot.
24 Read by ACPI BIOS GPE.1 handler to notify OS of removal
25 events.  Read-only.
27 PCI device eject (IO port 0xae08-0xae0b, 4-byte access):
28 ----------------------------------------
30 Write: Used by ACPI BIOS _EJ0 method to request device removal.
31 One bit per slot.
33 Read: Hotplug features register.  Used by platform to identify features
34 available.  Current base feature set (no bits set):
35  - Read-only "up" register @0xae00, 4-byte access, bit per slot
36  - Read-only "down" register @0xae04, 4-byte access, bit per slot
37  - Read/write "eject" register @0xae08, 4-byte access,
38    write: bit per slot eject, read: hotplug feature set
39  - Read-only hotplug capable register @0xae0c, 4-byte access, bit per slot
41 PCI removability status (IO port 0xae0c-0xae0f, 4-byte access):
42 -----------------------------------------------
44 Used by ACPI BIOS _RMV method to indicate removability status to OS. One
45 bit per slot.  Read-only