Patchwork document QEMU<->ACPIBIOS PCI hotplug interface

login
register
mail settings
Submitter Marcelo Tosatti
Date Dec. 20, 2010, 5:09 p.m.
Message ID <20101220170917.GA30684@amt.cnet>
Download mbox | patch
Permalink /patch/76216/
State New
Headers show

Comments

Marcelo Tosatti - Dec. 20, 2010, 5:09 p.m.
Document how QEMU communicates with ACPI BIOS
for PCI hotplug.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Blue Swirl - Dec. 20, 2010, 8:11 p.m.
On Mon, Dec 20, 2010 at 5:09 PM, Marcelo Tosatti <mtosatti@redhat.com> wrote:
>
> Document how QEMU communicates with ACPI BIOS
> for PCI hotplug.
>
> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
>
> --- /dev/null   2010-12-14 09:23:48.414180082 -0200
> +++ qemu/docs/specs/acpi_pci_hotplug.txt        2010-12-20 15:00:26.000000000 -0200
> @@ -0,0 +1,39 @@
> +QEMU<->ACPI BIOS PCI hotplug interface
> +--------------------------------------
> +
> +QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document
> +describes the interface between QEMU and the ACPI BIOS.
> +
> +ACPI GPE block (IO ports 0xafe00-0xafe04):

0xae00-0xae0f?
Marcelo Tosatti - Dec. 21, 2010, 2:39 p.m.
On Mon, Dec 20, 2010 at 08:11:36PM +0000, Blue Swirl wrote:
> On Mon, Dec 20, 2010 at 5:09 PM, Marcelo Tosatti <mtosatti@redhat.com> wrote:
> >
> > Document how QEMU communicates with ACPI BIOS
> > for PCI hotplug.
> >
> > Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
> >
> > --- /dev/null   2010-12-14 09:23:48.414180082 -0200
> > +++ qemu/docs/specs/acpi_pci_hotplug.txt        2010-12-20 15:00:26.000000000 -0200
> > @@ -0,0 +1,39 @@
> > +QEMU<->ACPI BIOS PCI hotplug interface
> > +--------------------------------------
> > +
> > +QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document
> > +describes the interface between QEMU and the ACPI BIOS.
> > +
> > +ACPI GPE block (IO ports 0xafe00-0xafe04):
> 
> 0xae00-0xae0f?

0xaf0-0xaf3, thanks.
Avi Kivity - Dec. 21, 2010, 2:50 p.m.
On 12/21/2010 04:41 PM, Marcelo Tosatti wrote:
> Document how QEMU communicates with ACPI BIOS
> for PCI hotplug.
>
> Signed-off-by: Marcelo Tosatti<mtosatti@redhat.com>
>
> --- /dev/null	2010-12-14 09:23:48.414180082 -0200
> +++ qemu/docs/specs/acpi_pci_hotplug.txt	2010-12-20 15:00:26.000000000 -0200
> @@ -0,0 +1,39 @@
> +QEMU<->ACPI BIOS PCI hotplug interface
> +--------------------------------------
> +
> +QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document
> +describes the interface between QEMU and the ACPI BIOS.
> +
> +ACPI GPE block (IO ports 0xafe0-0xafe3):
> +-----------------------------------------
> +
> +Generic ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject
> +event to ACPI BIOS, via SCI interrupt.
> +
> +PCI slot injection notification pending (IO port 0xae00-0xae03):
> +---------------------------------------------------------------
> +Slot injection notification pending. One bit per slot.
> +
> +Read by ACPI BIOS GPE.1 handler to notify OS of injection
> +events.
> +
> +PCI slot removal notification (IO port 0xae04-0xae07):
> +-----------------------------------------------------
> +Slot removal notification pending. One bit per slot.
> +
> +Read by ACPI BIOS GPE.1 handler to notify OS of removal
> +events.
> +
> +PCI device eject (IO port 0xae08-0xae0b):
> +----------------------------------------
> +
> +Used by ACPI BIOS _EJ0 method to request device removal. One bit per slot.
> +Reads return 0.
> +
> +PCI removability status (IO port 0xae0c-0xae0f):
> +-----------------------------------------------
> +
> +Used by ACPI BIOS _RMV method to indicate removability status to OS. One
> +bit per slot.
> +
> +

Do we support byte and word access to those ports, or just dword access?

With this documentation, I'm fine with the _RMV DSDT patch.

Patch

--- /dev/null	2010-12-14 09:23:48.414180082 -0200
+++ qemu/docs/specs/acpi_pci_hotplug.txt	2010-12-20 15:00:26.000000000 -0200
@@ -0,0 +1,39 @@ 
+QEMU<->ACPI BIOS PCI hotplug interface
+--------------------------------------
+
+QEMU supports PCI hotplug via ACPI, for PCI bus 0. This document
+describes the interface between QEMU and the ACPI BIOS.
+
+ACPI GPE block (IO ports 0xafe00-0xafe04):
+-----------------------------------------
+
+Generic ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject
+event to ACPI BIOS, via SCI interrupt.
+
+PCI slot injection notification pending (IO port 0xae00-0xae03):
+---------------------------------------------------------------
+Slot injection notification pending. One bit per slot.
+
+Read by ACPI BIOS GPE.1 handler to notify OS of injection
+events.
+
+PCI slot removal notification (IO port 0xae04-0xae07):
+-----------------------------------------------------
+Slot removal notification pending. One bit per slot.
+
+Read by ACPI BIOS GPE.1 handler to notify OS of removal
+events.
+
+PCI device eject (IO port 0xae08-0xae0b):
+----------------------------------------
+
+Used by ACPI BIOS _EJ0 method to request device removal. One bit per slot.
+Reads return 0.
+
+PCI removability status (IO port 0xae0c-0xae0f):
+-----------------------------------------------
+
+Used by ACPI BIOS _RMV method to indicate removability status to OS. One 
+bit per slot.
+
+