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