qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu: piix: PCI bridge ACPI hotplug support


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH] qemu: piix: PCI bridge ACPI hotplug support
Date: Tue, 11 Jun 2013 10:53:14 +0300

On Tue, Jun 11, 2013 at 09:42:29AM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> >>> Portability:
> >>>     - Non x86 (or any Linux) platforms don't need any of this code.
> >>>       They can keep happily using SHPC the way
> >>>       they always did.
> >>
> >> Hmm.  Is is possible to write a SHPC driver in AML?  I think it would be
> >> alot better to have one guest/host interface for pci bridge hotplug
> >> instead of two.
> >>
> >> cheers,
> >>   Gerd
> > 
> > No, it's not possible, SHPC is not designed to be used from ACPI.
> > 
> > Two reasons off the top of my head, there are likely others:
> > 
> > 1. SHPC uses regular PCI interrupts to signal events. It does not signal
> >    GFE and SCI.
> > 
> > 2. SHPC uses config accesses to get information from device.
> >    ACPI does not allow config access anywhere except the root bus from ACPI
> >    (This requirement is designed to give the OS freedom
> >    to reconfigure PCI in an arbitrary way).
> 
> OK, so it's designed for OSes to have native SHPC support.  Linux has that?

Yes.

> Quick googling found me Windows Vista+ has it too, correct?  So that
> leaves Win2k + WinXP versions.  Older Windows versions do not support
> pci hotplug at all.  Win2k is EOL already.  WinXP will follow soon.
> 
> More users?

googling lead you astray.
No windows version supports SHPC.

> /me wonders whenever it is worth hopping through the loops needed to
> support ACPI-based hotplug of devices behind bridges in the first place.
> 
> cheers,
>   Gerd

Yes and not just because of windows guests.
ACPI spec is also very explicit that native hotplug is an optional
feature. Test suites such as WHQL are known to test spec compliance.

-- 
MST



reply via email to

[Prev in Thread] Current Thread [Next in Thread]