Marcelo Tosatti | 9c046d9 | 2011-01-11 14:20:38 -0200 | [diff] [blame] | 1 | QEMU<->ACPI BIOS PCI hotplug interface |
| 2 | -------------------------------------- |
| 3 | |
| 4 | QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document |
| 5 | describes the interface between QEMU and the ACPI BIOS. |
| 6 | |
| 7 | ACPI GPE block (IO ports 0xafe0-0xafe3, byte access): |
| 8 | ----------------------------------------- |
| 9 | |
| 10 | Generic ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject |
| 11 | event to ACPI BIOS, via SCI interrupt. |
| 12 | |
| 13 | PCI slot injection notification pending (IO port 0xae00-0xae03, 4-byte access): |
| 14 | --------------------------------------------------------------- |
| 15 | Slot injection notification pending. One bit per slot. |
| 16 | |
| 17 | Read by ACPI BIOS GPE.1 handler to notify OS of injection |
Alex Williamson | ba73754 | 2012-04-05 11:07:08 -0600 | [diff] [blame] | 18 | events. Read-only. |
Marcelo Tosatti | 9c046d9 | 2011-01-11 14:20:38 -0200 | [diff] [blame] | 19 | |
| 20 | PCI slot removal notification (IO port 0xae04-0xae07, 4-byte access): |
| 21 | ----------------------------------------------------- |
| 22 | Slot removal notification pending. One bit per slot. |
| 23 | |
| 24 | Read by ACPI BIOS GPE.1 handler to notify OS of removal |
Alex Williamson | ba73754 | 2012-04-05 11:07:08 -0600 | [diff] [blame] | 25 | events. Read-only. |
Marcelo Tosatti | 9c046d9 | 2011-01-11 14:20:38 -0200 | [diff] [blame] | 26 | |
| 27 | PCI device eject (IO port 0xae08-0xae0b, 4-byte access): |
| 28 | ---------------------------------------- |
| 29 | |
Alex Williamson | 9290f36 | 2012-04-05 11:07:28 -0600 | [diff] [blame] | 30 | Write: Used by ACPI BIOS _EJ0 method to request device removal. |
| 31 | One bit per slot. |
| 32 | |
| 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 |
Marcelo Tosatti | 9c046d9 | 2011-01-11 14:20:38 -0200 | [diff] [blame] | 40 | |
| 41 | PCI removability status (IO port 0xae0c-0xae0f, 4-byte access): |
| 42 | ----------------------------------------------- |
| 43 | |
| 44 | Used by ACPI BIOS _RMV method to indicate removability status to OS. One |
Alex Williamson | 31745aa | 2012-04-05 11:07:21 -0600 | [diff] [blame] | 45 | bit per slot. Read-only |