Merge remote-tracking branch 'jvrao/for-anthony' into staging
[qemu-dev-zwu.git] / docs / specs / acpi_pci_hotplug.txt
blobf0f74a7c7c8d962d01a55b617825460e21f7e937
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.
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.
27 PCI device eject (IO port 0xae08-0xae0b, 4-byte access):
28 ----------------------------------------
30 Used by ACPI BIOS _EJ0 method to request device removal. One bit per slot.
31 Reads return 0.
33 PCI removability status (IO port 0xae0c-0xae0f, 4-byte access):
34 -----------------------------------------------
36 Used by ACPI BIOS _RMV method to indicate removability status to OS. One
37 bit per slot.