All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manish Jaggi <mjaggi@caviumnetworks.com>
To: "Julien Grall" <julien.grall@citrix.com>,
	"Jaggi, Manish" <Manish.Jaggi@caviumnetworks.com>,
	"Xen Devel" <xen-devel@lists.xen.org>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"★ Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
	"Ian Campbell" <ian.campbell@citrix.com>,
	"Daney, David" <David.Daney@caviumnetworks.com>
Cc: "Prasun.kapoor@cavium.com" <Prasun.kapoor@cavium.com>,
	"Kumar, Vijaya" <Vijaya.Kumar@caviumnetworks.com>
Subject: Re: PCI Pass-through in Xen ARM: Draft 4
Date: Sun, 20 Sep 2015 01:54:04 +0530	[thread overview]
Message-ID: <55FDC464.70003@caviumnetworks.com> (raw)
In-Reply-To: <55F9675C.6070502@citrix.com>



On Wednesday 16 September 2015 06:28 PM, Julien Grall wrote:
> On 15/09/15 19:58, Jaggi, Manish wrote:
>>> I can see 2 different solutions:
>>>      1) Let DOM0 pass the first requester ID when registering the bus
>>>         Pros:
>>>          * Less per-platform code in Xen
>>>         Cons:
>>>          * Assume that the requester ID are contiguous. (Is it really a
>>> cons?)
>>>          * Still require quirk for buggy device (i.e requester ID not
>>> correct)
>>>      2) Do it in Xen
>>>         Pros:
>>>          * We are not relying on DOM0 giving the requester ID
>>>              => Not assuming contiguous requester ID
>>>          Cons:
>>>          * Per PCI bridge code to handle the mapping
>>>
>>    We can have (3) that when PHYSDEVOP_pci_add_device is called the sbdf
>> and requesterID both are passed in hypercall.
> The name of the physdev operation is PHYSDEVOP_pci_device_add and not
> PHYSDEVOP_pci_add_device. Please rename it all the usage in the design doc.
>
> Although, we can't modify PHYSDEVOP_pci_device_add because it's part of
> the ABI which is stable.
>
> Based on David's mail, the requester ID of a given device can be found
> using base + devfn where base is the first requesterID of the bus.
>
> IIRC, this is also match the IORT ACPI spec.
>
> So for now, I would extend the physdev you've introduced to add an host
> bridge (PHYSDEV_pci_host_bridge_add) to pass the base requesterID.
The requester-ID is derived from the Node# and ECAM# as per David. I 
guess the ECAM and Node# can be derived from
the cfg_addr.
Each Ecam has a cfg_addr in Thunder, which is mentioned in the pci node 
in device tree.
For thunder I think we don't need to pass requester-ID in the phydevop.
>
> We can think later to introduce a new physdev op to add PCI if we ever
> require unique requesterID (i.e non-contiguous under the same bridge).
>
> Regards,
>
> ---
> Julien Grall

  reply	other threads:[~2015-09-19 20:24 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-13  9:42 PCI Pass-through in Xen ARM: Draft 4 Manish Jaggi
2015-08-13 10:37 ` Julien Grall
2015-09-02 15:19   ` Ian Campbell
2015-09-02 15:40     ` Julien Grall
2015-08-13 15:29 ` Jan Beulich
2015-08-13 17:01   ` Ian Campbell
2015-08-14  9:26     ` Jan Beulich
2015-08-14 13:21       ` Stefano Stabellini
2015-08-14 13:58         ` Jan Beulich
2015-08-14 14:03           ` Stefano Stabellini
2015-08-14 14:34             ` Jan Beulich
2015-08-14 14:37               ` Stefano Stabellini
2015-08-14 14:45                 ` Julien Grall
2015-08-14 15:15                   ` Jan Beulich
2015-08-14 15:24                     ` Stefano Stabellini
2015-09-02 14:45               ` Ian Campbell
2015-09-02 14:52                 ` Jan Beulich
2015-09-02 15:07                   ` Ian Campbell
2015-09-02 14:47       ` Ian Campbell
2015-08-14 15:38   ` Stefano Stabellini
2015-08-14 18:58     ` Jaggi, Manish
2015-08-16 23:59       ` Stefano Stabellini
2015-09-02 14:57   ` Ian Campbell
2015-09-02 15:06     ` Jan Beulich
2015-08-31 12:36 ` Manish Jaggi
2015-09-01  7:32   ` Jan Beulich
2015-09-02 12:08     ` Manish Jaggi
2015-09-02 12:59       ` Julien Grall
2015-09-02 13:46         ` Ian Campbell
2015-09-02 15:03           ` Ian Campbell
2015-09-02 15:03         ` Ian Campbell
2015-09-01 16:15 ` Stefano Stabellini
2015-09-10  1:12 ` Julien Grall
2015-09-15 18:58   ` Jaggi, Manish
2015-09-15 21:18     ` David Daney
2015-09-16 12:58     ` Julien Grall
2015-09-19 20:24       ` Manish Jaggi [this message]
2015-09-19 20:48         ` Julien Grall
2015-09-19 21:51           ` Daney, David
2015-09-21 10:17             ` Julien Grall

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=55FDC464.70003@caviumnetworks.com \
    --to=mjaggi@caviumnetworks.com \
    --cc=David.Daney@caviumnetworks.com \
    --cc=Manish.Jaggi@caviumnetworks.com \
    --cc=Prasun.kapoor@cavium.com \
    --cc=Vijaya.Kumar@caviumnetworks.com \
    --cc=ian.campbell@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=stefano.stabellini@eu.citrix.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.