All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Philipson <ross.philipson@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: "Huangweidong (C)" <weidong.huang@huawei.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.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>,
	"kevin@koconnor.net" <kevin@koconnor.net>,
	Stefano Stabellini <Stefano.Stabellini@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	"johannes.krampf@googlemail.com" <johannes.krampf@googlemail.com>,
	"Gaowei (UVP)" <gao.gaowei@huawei.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:32:58 -0400	[thread overview]
Message-ID: <536D114A.3050409@citrix.com> (raw)
In-Reply-To: <9AAE0902D5BC7E449B7C8E4E778ABCD034E037@AMSPEX01CL01.citrite.net>

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 */
         }
     }
}

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

WARNING: multiple messages have this Message-ID (diff)
From: Ross Philipson <ross.philipson@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: "Huangweidong (C)" <weidong.huang@huawei.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.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>,
	"kevin@koconnor.net" <kevin@koconnor.net>,
	Stefano Stabellini <Stefano.Stabellini@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	"johannes.krampf@googlemail.com" <johannes.krampf@googlemail.com>,
	"Gaowei (UVP)" <gao.gaowei@huawei.com>
Subject: Re: [PATCH v4] Hvmloader: Modify ACPI to only supply _EJ0 methods for PCIslots that support hotplug by runtime patching
Date: Fri, 9 May 2014 13:32:58 -0400	[thread overview]
Message-ID: <536D114A.3050409@citrix.com> (raw)
In-Reply-To: <9AAE0902D5BC7E449B7C8E4E778ABCD034E037@AMSPEX01CL01.citrite.net>

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 */
         }
     }
}

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

  reply	other threads:[~2014-05-09 17:33 UTC|newest]

Thread overview: 56+ 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:51     ` [Qemu-devel] " Jan Beulich
2014-05-09  9:57     ` Ian Campbell
2014-05-09  9:57     ` [Qemu-devel] " Ian Campbell
2014-05-09 10:15       ` Gonglei (Arei)
2014-05-09 10:26         ` Ian Campbell
2014-05-09 10:26         ` [Qemu-devel] " Ian Campbell
2014-05-09 13:25           ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-09 13:31             ` Ian Campbell
2014-05-09 13:31             ` [Qemu-devel] [Xen-devel] " Ian Campbell
2014-05-09 14:38               ` Ross Philipson
2014-05-09 14:38                 ` Ross Philipson
2014-05-09 14:46                 ` Ian Campbell
2014-05-09 14:46                 ` [Qemu-devel] [Xen-devel] " Ian Campbell
2014-05-09 14:56                   ` Fabio Fantoni
2014-05-09 14:56                   ` [Qemu-devel] [Xen-devel] " Fabio Fantoni
2014-05-09 15:03                     ` Ian Campbell
2014-05-09 15:03                     ` Ian Campbell
2014-05-09 15:48                   ` [Qemu-devel] [Xen-devel] " Ross Philipson
2014-05-09 15:48                     ` Ross Philipson
2014-05-09 16:00                 ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-09 16:12                   ` Ian Campbell
2014-05-09 16:12                   ` [Qemu-devel] [Xen-devel] " Ian Campbell
2014-05-09 16:30                     ` Ross Philipson
2014-05-09 16:30                       ` Ross Philipson
2014-05-09 16:34                     ` [Qemu-devel] [Xen-devel] " Paul Durrant
2014-05-09 17:32                       ` Ross Philipson [this message]
2014-05-09 17:32                         ` Ross Philipson
2014-05-09 17:55                         ` Konrad Rzeszutek Wilk
2014-05-09 17:55                         ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-12  9:05                         ` Ian Campbell
2014-05-12  9:05                         ` [Qemu-devel] [Xen-devel] " Ian Campbell
2014-05-12  9:14                           ` Jan Beulich
2014-05-12  9:14                           ` [Qemu-devel] [Xen-devel] " Jan Beulich
2014-05-12  9:20                             ` Ian Campbell
2014-05-12  9:20                             ` Ian Campbell
2014-05-12 14:32                           ` Ross Philipson
2014-05-12 14:32                           ` [Qemu-devel] [Xen-devel] " Ross Philipson
2014-08-20 12:11                             ` Fabio Fantoni
2014-08-20 22:30                               ` Konrad Rzeszutek Wilk
2014-08-20 22:30                               ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-08-22  8:45                                 ` Gonglei (Arei)
2015-01-27 13:28                                   ` Pasi Kärkkäinen
2015-01-27 13:28                                   ` [Qemu-devel] [Xen-devel] " Pasi Kärkkäinen
2014-08-22  8:45                                 ` Gonglei (Arei)
2014-08-20 12:11                             ` Fabio Fantoni
2014-05-09 16:34                     ` Paul Durrant
2014-05-09 16:13                   ` [Qemu-devel] [Xen-devel] " Ross Philipson
2014-05-09 16:13                     ` Ross Philipson
2014-05-09 16:00                 ` Konrad Rzeszutek Wilk
2014-05-09 13:25           ` Konrad Rzeszutek Wilk
2014-05-09 10:15       ` Gonglei (Arei)
2014-05-09  9:45   ` Gonglei (Arei)

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=536D114A.3050409@citrix.com \
    --to=ross.philipson@citrix.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=konrad.wilk@oracle.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.