From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ross Philipson <ross.philipson@citrix.com>
Cc: "Huangweidong (C)" <weidong.huang@huawei.com>,
Ian Campbell <Ian.Campbell@citrix.com>,
"mst@redhat.com" <mst@redhat.com>,
"Hanweidong (Randy)" <hanweidong@huawei.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
"fabio.fantoni@m2r.biz" <fabio.fantoni@m2r.biz>,
Anthony Perard <anthony.perard@citrix.com>,
"Gonglei (Arei)" <arei.gonglei@huawei.com>,
"kevin@koconnor.net" <kevin@koconnor.net>,
Stefano Stabellini <Stefano.Stabellini@citrix.com>,
"Gaowei (UVP)" <gao.gaowei@huawei.com>,
Jan Beulich <JBeulich@suse.com>,
"johannes.krampf@googlemail.com" <johannes.krampf@googlemail.com>,
Paul Durrant <Paul.Durrant@citrix.com>
Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] Hvmloader: Modify ACPI to only supply _EJ0 methods for PCIslots that support hotplug by runtime patching
Date: Fri, 9 May 2014 13:55:29 -0400 [thread overview]
Message-ID: <20140509175529.GA8108@phenom.dumpdata.com> (raw)
In-Reply-To: <536D114A.3050409@citrix.com>
On Fri, May 09, 2014 at 01:32:58PM -0400, Ross Philipson wrote:
> On 05/09/2014 12:34 PM, Paul Durrant wrote:
> >>-----Original Message-----
> >>From: Ian Campbell
> >>Sent: 09 May 2014 17:12
> >>To: Konrad Rzeszutek Wilk
> >>Cc: Ross Philipson; kevin@koconnor.net; Huangweidong (C); Hanweidong
> >>(Randy); mst@redhat.com; qemu-devel@nongnu.org; xen-
> >>devel@lists.xen.org; fabio.fantoni@m2r.biz;
> >>johannes.krampf@googlemail.com; Gonglei (Arei); Stefano Stabellini;
> >>Gaowei (UVP); Jan Beulich; Anthony Perard; Paul Durrant
> >>Subject: Re: [Xen-devel] [PATCH v4] Hvmloader: Modify ACPI to only supply
> >>_EJ0 methods for PCIslots that support hotplug by runtime patching
> >>
> >>On Fri, 2014-05-09 at 12:00 -0400, Konrad Rzeszutek Wilk wrote:
> >>
> >>>So we could just then gat the _EJ0 functionality based on values that
> >>>are present (or not) in the SSDT ?
> >>
> >>AIUI the very presence of _EJ0 is what marks the device as being
> >>ejectable (e.g. in the Windows device manager).
> >>
> >>It would be possible to make _EJ0 conditionally turn itself into a NOP
> >>without resorting to an SSDT, but I don't think that solves the issue
> >>they are trying to solve, which is that the user can even try to eject
> >>an non-hotplug device. (grep for UAR1 in our dsdt.asl and
> >>acpi_info->com1_present in hvmloader/acpi/build.c for an example of this
> >>sort of conditional thing)
> >>
>
> Going back to the SSDT idea. A little poking around and what not and I came
> up with something like this that I build into an SSDT:
>
> DefinitionBlock ("SSDTX.aml", "SSDT", 2, "Xen", "HVM", 0)
> {
> /* S00 device is defined in DSDT, this allows me to
> * refrence it in this SSDT
> */
> External (\_SB.PCI0.S00, DeviceObj)
>
> ...
>
> /* Extend the functionality of S00 */
> Scope ( \_SB.PCI0.S00 ) {
> Method(_EJ0, 1, NotSerialized)
> {
> /* Do stuffs here */
> }
> }
> }
Oh nice. That certainly would be neater then my idea.
>
> So I did find some examples of this after all in my pile of ACPI firmware
> snapshots from all our supported platforms. I think this would work allowing
> you to just add or not add _EJ0 methods to the PCI devices you want by
> either using different SSDTs or doing something to generate or munge the
> SSDT at runtime (which would be simpler than messing with the DSDT I think.
> I did not try it (actually I did but ran into other problems on our platform
> :).
:-)
>
> >
> >Yes, ejectable is only part of it. If there's appropriate AML for the slot, it is enough to indicate that a device is removable. I found the following link to an old M$ doc describing hotplug PCI: http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx. (There's a load of Chinese characters surrounding the doc, but the body is in English).
> >
> > Paul
> >
> >-----
> >No virus found in this message.
> >Checked by AVG - www.avg.com
> >Version: 2014.0.4570 / Virus Database: 3931/7443 - Release Date: 05/05/14
> >
>
>
> --
> Ross Philipson
next prev parent reply other threads:[~2014-05-09 17:55 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-09 8:47 [Qemu-devel] [PATCH v4] Hvmloader: Modify ACPI to only supply _EJ0 methods for PCIslots that support hotplug by runtime patching arei.gonglei
2014-05-09 9:35 ` Jan Beulich
2014-05-09 9:45 ` Gonglei (Arei)
2014-05-09 9:51 ` Jan Beulich
2014-05-09 9:57 ` Ian Campbell
2014-05-09 10:15 ` Gonglei (Arei)
2014-05-09 10:26 ` Ian Campbell
2014-05-09 13:25 ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-09 13:31 ` Ian Campbell
2014-05-09 14:38 ` Ross Philipson
2014-05-09 14:46 ` Ian Campbell
2014-05-09 14:56 ` Fabio Fantoni
2014-05-09 15:03 ` Ian Campbell
2014-05-09 15:48 ` Ross Philipson
2014-05-09 16:00 ` Konrad Rzeszutek Wilk
2014-05-09 16:12 ` Ian Campbell
2014-05-09 16:30 ` Ross Philipson
2014-05-09 16:34 ` Paul Durrant
2014-05-09 17:32 ` Ross Philipson
2014-05-09 17:55 ` Konrad Rzeszutek Wilk [this message]
2014-05-12 9:05 ` Ian Campbell
2014-05-12 9:14 ` Jan Beulich
2014-05-12 9:20 ` Ian Campbell
2014-05-12 14:32 ` Ross Philipson
2014-08-20 12:11 ` Fabio Fantoni
2014-08-20 22:30 ` Konrad Rzeszutek Wilk
2014-08-22 8:45 ` Gonglei (Arei)
2015-01-27 13:28 ` Pasi Kärkkäinen
2014-05-09 16:13 ` Ross Philipson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140509175529.GA8108@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=Paul.Durrant@citrix.com \
--cc=Stefano.Stabellini@citrix.com \
--cc=anthony.perard@citrix.com \
--cc=arei.gonglei@huawei.com \
--cc=fabio.fantoni@m2r.biz \
--cc=gao.gaowei@huawei.com \
--cc=hanweidong@huawei.com \
--cc=johannes.krampf@googlemail.com \
--cc=kevin@koconnor.net \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=ross.philipson@citrix.com \
--cc=weidong.huang@huawei.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).