[SeaBIOS] [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables

Gleb Natapov gleb at redhat.com
Mon Sep 19 12:32:48 CEST 2011


On Mon, Sep 19, 2011 at 01:12:30PM +0300, Gleb Natapov wrote:
> On Mon, Sep 19, 2011 at 01:02:59PM +0300, Michael S. Tsirkin wrote:
> > On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote:
> > > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote:
> > > > 
> > > > Only func 0 is registered to guest driver (we can
> > > > only found func 0 in slot->funcs list of driver),
> > > > the other functions could not be cleaned when
> > > > hot-removing the whole slot. This patch adds
> > > > device per function in ACPI DSDT tables.
> > > > 
> > > You can't unplug a single function. Guest surely knows that.
> > 
> > Looking at guest code, it's clear that
> > at least a Linux guest doesn't know that.
> > 
> Have you asked relevant maintainers why is it so? Does Windows do the
> same? (Obviously you can't check Windows code, but you can see if
> removing function zero removes other functions from the device manager,
> or you can even try to access other function).
> 
> If I am not mistaken, with this new DSDT you will see more then one eject
> options in Windows GUI from each multi-function device. Is it so?
> 
> > > > Have tested with linux/winxp/win7, hot-adding/hot-remving,
> > > > single/multiple function device, they are all fine.
> > > > 
> > > What was not fine before?
> > > 
> > > Have you looked at real HW that supports PCI hot plug DSDT? Does it
> > > looks the same?
> > 
> > I recall I saw some examples like this on the net.
> > 
> Checking real HW DSDT will validate that we are doing a right thing here.
> 
According to Microsoft own documentation they want _EJ0 for each
function:
http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx

--
			Gleb.



More information about the SeaBIOS mailing list