1*f054eb1cSPeter MaydellQEMU<->ACPI BIOS PCI hotplug interface
2*f054eb1cSPeter Maydell======================================
3*f054eb1cSPeter Maydell
4*f054eb1cSPeter MaydellQEMU supports PCI hotplug via ACPI, for PCI bus 0. This document
5*f054eb1cSPeter Maydelldescribes the interface between QEMU and the ACPI BIOS.
6*f054eb1cSPeter Maydell
7*f054eb1cSPeter MaydellACPI GPE block (IO ports 0xafe0-0xafe3, byte access)
8*f054eb1cSPeter Maydell----------------------------------------------------
9*f054eb1cSPeter Maydell
10*f054eb1cSPeter MaydellGeneric ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject
11*f054eb1cSPeter Maydellevent to ACPI BIOS, via SCI interrupt.
12*f054eb1cSPeter Maydell
13*f054eb1cSPeter MaydellPCI slot injection notification pending (IO port 0xae00-0xae03, 4-byte access)
14*f054eb1cSPeter Maydell------------------------------------------------------------------------------
15*f054eb1cSPeter Maydell
16*f054eb1cSPeter MaydellSlot injection notification pending. One bit per slot.
17*f054eb1cSPeter Maydell
18*f054eb1cSPeter MaydellRead by ACPI BIOS GPE.1 handler to notify OS of injection
19*f054eb1cSPeter Maydellevents.  Read-only.
20*f054eb1cSPeter Maydell
21*f054eb1cSPeter MaydellPCI slot removal notification (IO port 0xae04-0xae07, 4-byte access)
22*f054eb1cSPeter Maydell--------------------------------------------------------------------
23*f054eb1cSPeter Maydell
24*f054eb1cSPeter MaydellSlot removal notification pending. One bit per slot.
25*f054eb1cSPeter Maydell
26*f054eb1cSPeter MaydellRead by ACPI BIOS GPE.1 handler to notify OS of removal
27*f054eb1cSPeter Maydellevents.  Read-only.
28*f054eb1cSPeter Maydell
29*f054eb1cSPeter MaydellPCI device eject (IO port 0xae08-0xae0b, 4-byte access)
30*f054eb1cSPeter Maydell-------------------------------------------------------
31*f054eb1cSPeter Maydell
32*f054eb1cSPeter MaydellWrite: Used by ACPI BIOS _EJ0 method to request device removal.
33*f054eb1cSPeter MaydellOne bit per slot.
34*f054eb1cSPeter Maydell
35*f054eb1cSPeter MaydellRead: Hotplug features register.  Used by platform to identify features
36*f054eb1cSPeter Maydellavailable.  Current base feature set (no bits set):
37*f054eb1cSPeter Maydell
38*f054eb1cSPeter Maydell- Read-only "up" register @0xae00, 4-byte access, bit per slot
39*f054eb1cSPeter Maydell- Read-only "down" register @0xae04, 4-byte access, bit per slot
40*f054eb1cSPeter Maydell- Read/write "eject" register @0xae08, 4-byte access,
41*f054eb1cSPeter Maydell  write: bit per slot eject, read: hotplug feature set
42*f054eb1cSPeter Maydell- Read-only hotplug capable register @0xae0c, 4-byte access, bit per slot
43*f054eb1cSPeter Maydell
44*f054eb1cSPeter MaydellPCI removability status (IO port 0xae0c-0xae0f, 4-byte access)
45*f054eb1cSPeter Maydell--------------------------------------------------------------
46*f054eb1cSPeter Maydell
47*f054eb1cSPeter MaydellUsed by ACPI BIOS _RMV method to indicate removability status to OS. One
48*f054eb1cSPeter Maydellbit per slot.  Read-only.
49