blob: a839434f313d4320c0e94ba289f343b67797e9d2 [file] [log] [blame]
Marcelo Tosatti9c046d92011-01-11 14:20:38 -02001QEMU<->ACPI BIOS PCI hotplug interface
2--------------------------------------
3
4QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document
5describes the interface between QEMU and the ACPI BIOS.
6
7ACPI GPE block (IO ports 0xafe0-0xafe3, byte access):
8-----------------------------------------
9
10Generic ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject
11event to ACPI BIOS, via SCI interrupt.
12
13PCI slot injection notification pending (IO port 0xae00-0xae03, 4-byte access):
14---------------------------------------------------------------
15Slot injection notification pending. One bit per slot.
16
17Read by ACPI BIOS GPE.1 handler to notify OS of injection
Alex Williamsonba737542012-04-05 11:07:08 -060018events. Read-only.
Marcelo Tosatti9c046d92011-01-11 14:20:38 -020019
20PCI slot removal notification (IO port 0xae04-0xae07, 4-byte access):
21-----------------------------------------------------
22Slot removal notification pending. One bit per slot.
23
24Read by ACPI BIOS GPE.1 handler to notify OS of removal
Alex Williamsonba737542012-04-05 11:07:08 -060025events. Read-only.
Marcelo Tosatti9c046d92011-01-11 14:20:38 -020026
27PCI device eject (IO port 0xae08-0xae0b, 4-byte access):
28----------------------------------------
29
Alex Williamson9290f362012-04-05 11:07:28 -060030Write: Used by ACPI BIOS _EJ0 method to request device removal.
31One bit per slot.
32
33Read: Hotplug features register. Used by platform to identify features
34available. 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 Tosatti9c046d92011-01-11 14:20:38 -020040
41PCI removability status (IO port 0xae0c-0xae0f, 4-byte access):
42-----------------------------------------------
43
44Used by ACPI BIOS _RMV method to indicate removability status to OS. One
Alex Williamson31745aa2012-04-05 11:07:21 -060045bit per slot. Read-only