From: Julien Grall <julien.grall@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
tim@xen.org, ian.campbell@citrix.com,
stefano.stabellini@citrix.com
Subject: Re: [PATCH v3 13/24] xen/arm: Implement hypercall PHYSDEVOP_{, un}map_pirq
Date: Thu, 29 Jan 2015 12:26:49 +0000 [thread overview]
Message-ID: <54CA2709.9080409@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1501291210490.9702@kaball.uk.xensource.com>
On 29/01/15 12:17, Stefano Stabellini wrote:
> On Wed, 28 Jan 2015, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 28/01/15 18:52, Stefano Stabellini wrote:
>>> On Tue, 13 Jan 2015, Julien Grall wrote:
>>>> The physdev sub-hypercalls PHYSDEVOP_{,map}_pirq allow the toolstack to
>>>> assign/deassign a physical IRQ to the guest (via the config options "irqs"
>>>> for xl). The x86 version is using them with PIRQ (IRQ bound to an event
>>>> channel). As ARM doesn't have a such concept, we could reuse it to bound
>>>> a physical IRQ to a virtual IRQ.
>>>>
>>>> For now, we allow only SPIs to be mapped to the guest.
>>>> The type MAP_PIRQ_TYPE_GSI is used for this purpose.
>>>>
>>>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>>>> Cc: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> ---
>>>> I'm not sure it's the best solution to reuse hypercalls for a
>>>> different purpose. If x86 plan to have a such concept (i.e binding a
>>>> physical IRQ to a virtual IRQ), we could introduce new hypercalls.
>>>> Any thoughs?
>>>
>>> I think it is OK, as long as we write down very clearly what we are
>>> doing.
>>>
>>>
>>>> TODO: This patch is lacking of support of vIRQ != IRQ. I plan to
>>>> handle it correctly on the next version.
>>>
>>> Why do you say that? From the code in this patch it looks like it
>>> supports vIRQ != IRQ already.
>>
>> Because PHYSDEV_map_pirq is taking a vIRQ number in parameter. This vIRQ
>> is only valid for the domain which issue the hypercall.
>
> That's not very useful. I think that the vIRQ passed to PHYSDEV_map_pirq
> should be a vIRQ in the destination domain, not the source domain.
>
> In fact on x86 the pirq parameter to PHYSDEV_map_pirq is interpreted as
> pirq in the destination domain too.
I'm talking about the index parameter. It's a vIRQ in the domain issue
the hypercall not the real IRQ.
>> In our use case, it's DOM0. DOM0 may not have all the time vIRQ == IRQ.
>>
>> Futhermore, on PHYSDEV_unmap_pirq I assume the DOM0 virq == guest virq.
>
> That's bad.
I plan to support it for the next series. This change shouldn't impact
the other patches of the series, so I decided to send a new version to
gather some comments.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2015-01-29 12:27 UTC|newest]
Thread overview: 251+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 14:25 [PATCH v3 00/24] xen/arm: Add support for non-pci passthrough Julien Grall
2015-01-13 14:25 ` [PATCH v3 01/24] xen: Extend DOMCTL createdomain to support arch configuration Julien Grall
2015-01-13 15:08 ` Daniel De Graaf
2015-01-19 16:46 ` Jan Beulich
2015-01-20 12:40 ` Julien Grall
2015-01-28 15:50 ` Stefano Stabellini
2015-02-20 15:15 ` Ian Campbell
2015-02-20 16:09 ` Julien Grall
2015-02-20 16:37 ` Jan Beulich
2015-02-23 15:09 ` Ian Campbell
2015-02-20 16:35 ` Jan Beulich
2015-02-23 15:48 ` Andrew Cooper
2015-02-23 16:00 ` Ian Campbell
2015-02-23 21:48 ` Julien Grall
2015-02-24 10:06 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 02/24] xen/arm: Divide GIC initialization in 2 parts Julien Grall
2015-01-28 16:09 ` Stefano Stabellini
2015-02-20 15:19 ` Ian Campbell
2015-02-20 15:19 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 03/24] xen/dts: Allow only IRQ translation that are mapped to main GIC Julien Grall
2015-01-28 16:11 ` Stefano Stabellini
2015-02-20 15:20 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 04/24] xen: guestcopy: Provide an helper to safely copy string from guest Julien Grall
2015-01-13 15:10 ` Daniel De Graaf
2015-01-19 16:51 ` Jan Beulich
2015-01-20 12:45 ` Julien Grall
2015-01-20 13:16 ` Jan Beulich
2015-02-20 15:22 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 05/24] xen/arm: vgic: Introduce a function to initialize pending_irq Julien Grall
2015-02-20 15:24 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 06/24] xen/arm: Map disabled device in DOM0 Julien Grall
2015-01-28 16:18 ` Stefano Stabellini
2015-01-28 16:23 ` Julien Grall
2015-01-29 11:41 ` Stefano Stabellini
2015-02-20 15:27 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 07/24] xen/arm: Introduce xen, passthrough property Julien Grall
2015-01-28 16:36 ` Stefano Stabellini
2015-01-28 16:53 ` Julien Grall
2015-01-29 11:43 ` Stefano Stabellini
2015-02-20 15:38 ` Ian Campbell
2015-02-20 17:01 ` Julien Grall
2015-02-23 15:12 ` Ian Campbell
2015-02-23 15:43 ` Julien Grall
2015-02-20 15:42 ` Ian Campbell
2015-02-20 17:03 ` Julien Grall
2015-02-23 15:15 ` Ian Campbell
2015-02-23 15:44 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 08/24] xen/arm: Allow virq != irq Julien Grall
2015-01-28 16:47 ` Stefano Stabellini
2015-01-28 16:56 ` Julien Grall
2015-01-28 17:00 ` Julien Grall
2015-01-29 11:50 ` Stefano Stabellini
2015-02-20 15:52 ` Ian Campbell
2015-02-20 17:09 ` Julien Grall
2015-02-27 14:33 ` Julien Grall
2015-02-27 14:44 ` Ian Campbell
2015-02-27 15:55 ` Julien Grall
2015-02-27 14:25 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 09/24] xen/arm: route_irq_to_guest: Check validity of the IRQ Julien Grall
2015-01-28 17:55 ` Stefano Stabellini
2015-01-28 18:05 ` Julien Grall
2015-01-29 11:52 ` Stefano Stabellini
2015-02-20 16:00 ` Ian Campbell
2015-02-20 17:21 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 10/24] xen/arm: gic: Add sanity checks gic_route_irq_to_guest Julien Grall
2015-01-28 18:15 ` Stefano Stabellini
2015-02-20 16:07 ` Ian Campbell
2015-02-20 17:28 ` Julien Grall
2015-02-23 15:20 ` Ian Campbell
2015-02-23 15:47 ` Julien Grall
2015-02-23 15:52 ` Ian Campbell
2015-02-23 15:54 ` Julien Grall
2015-02-23 16:04 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 11/24] xen/arm: Let the toolstack configure the number of SPIs Julien Grall
2015-01-28 18:26 ` Stefano Stabellini
2015-01-28 18:58 ` Julien Grall
2015-01-29 12:01 ` Stefano Stabellini
2015-01-29 12:14 ` Julien Grall
2015-02-20 16:08 ` Ian Campbell
2015-02-20 17:29 ` Julien Grall
2015-02-23 15:22 ` Ian Campbell
2015-02-23 15:48 ` Julien Grall
2015-02-20 16:23 ` Ian Campbell
2015-02-20 17:31 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 12/24] xen/arm: Release IRQ routed to a domain when it's destroying Julien Grall
2015-01-28 18:38 ` Stefano Stabellini
2015-02-20 16:31 ` Ian Campbell
2015-02-20 17:41 ` Julien Grall
2015-02-23 15:25 ` Ian Campbell
2015-02-23 15:49 ` Julien Grall
2015-03-03 12:50 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 13/24] xen/arm: Implement hypercall PHYSDEVOP_{, un}map_pirq Julien Grall
2015-01-19 16:54 ` Jan Beulich
2015-01-20 14:01 ` Julien Grall
2015-01-28 18:52 ` Stefano Stabellini
2015-01-28 19:04 ` Julien Grall
2015-01-29 12:17 ` Stefano Stabellini
2015-01-29 12:26 ` Julien Grall [this message]
2015-01-29 12:33 ` Stefano Stabellini
2015-02-20 16:53 ` Ian Campbell
2015-02-23 9:33 ` Jan Beulich
2015-02-23 15:28 ` Ian Campbell
2015-02-23 15:53 ` Julien Grall
2015-02-23 16:04 ` Ian Campbell
2015-02-23 16:11 ` Julien Grall
2015-02-23 16:34 ` Ian Campbell
2015-02-23 21:54 ` Julien Grall
2015-02-23 16:22 ` Jan Beulich
2015-02-23 15:51 ` Julien Grall
2015-02-23 16:02 ` Ian Campbell
2015-03-04 14:37 ` Julien Grall
2015-03-04 14:55 ` Jan Beulich
2015-03-04 14:56 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 14/24] xen/dts: Use unsigned int for MMIO and IRQ index Julien Grall
2015-02-20 16:55 ` Ian Campbell
2015-02-23 15:57 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 15/24] xen/dts: Provide an helper to get a DT node from a path provided by a guest Julien Grall
2015-02-20 16:56 ` Ian Campbell
2015-02-20 17:43 ` Julien Grall
2015-02-23 15:29 ` Ian Campbell
2015-02-23 15:30 ` Ian Campbell
2015-02-23 16:01 ` Julien Grall
2015-02-23 16:27 ` Ian Campbell
2015-03-10 13:58 ` Julien Grall
2015-03-11 12:34 ` Ian Campbell
2015-03-19 14:53 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 16/24] xen/passthrough: Introduce iommu_construct Julien Grall
2015-01-19 17:02 ` Jan Beulich
2015-01-20 14:28 ` Julien Grall
2015-01-20 16:40 ` Jan Beulich
2015-01-20 17:11 ` Julien Grall
2015-01-21 10:23 ` Jan Beulich
2015-01-21 10:37 ` Julien Grall
2015-01-21 10:48 ` Jan Beulich
2015-01-21 12:13 ` Julien Grall
2015-01-21 14:13 ` Jan Beulich
2015-01-21 14:22 ` Julien Grall
2015-01-21 14:29 ` Jan Beulich
2015-02-20 16:58 ` Ian Campbell
2015-02-20 17:45 ` Julien Grall
2015-02-23 15:31 ` Ian Campbell
2015-02-23 16:04 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 17/24] xen/passthrough: arm: release earlier the DT devices assigned to a guest Julien Grall
2015-01-20 9:19 ` Jan Beulich
2015-01-20 14:30 ` Julien Grall
2015-01-20 16:42 ` Jan Beulich
2015-01-28 18:59 ` Stefano Stabellini
2015-02-20 17:03 ` Ian Campbell
2015-02-20 17:46 ` Julien Grall
2015-02-23 9:37 ` Jan Beulich
2015-02-23 15:33 ` Ian Campbell
2015-02-23 16:22 ` Jan Beulich
2015-01-13 14:25 ` [PATCH v3 18/24] xen/passthrough: iommu_deassign_device_dt: By default reassign device to nobody Julien Grall
2015-01-20 9:21 ` Jan Beulich
2015-01-20 14:31 ` Julien Grall
2015-01-29 10:20 ` Stefano Stabellini
2015-02-20 17:04 ` Ian Campbell
2015-02-23 9:40 ` Jan Beulich
2015-02-23 10:10 ` Julien Grall
2015-02-23 10:20 ` Jan Beulich
2015-02-23 15:39 ` Ian Campbell
2015-02-23 16:24 ` Jan Beulich
2015-02-23 16:35 ` Ian Campbell
2015-02-23 16:37 ` Julien Grall
2015-02-23 16:47 ` Jan Beulich
2015-02-23 16:54 ` Julien Grall
2015-02-23 10:10 ` Julien Grall
2015-02-23 15:34 ` Ian Campbell
2015-03-10 15:29 ` Julien Grall
2015-03-11 12:35 ` Ian Campbell
2015-03-19 15:07 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 19/24] xen/iommu: arm: Wire iommu DOMCTL for ARM Julien Grall
2015-01-20 9:22 ` Jan Beulich
2015-01-20 14:32 ` Julien Grall
2015-02-20 17:06 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 20/24] xen/passthrough: Extend XEN_DOMCTL_assign_device to support DT device Julien Grall
2015-01-20 9:34 ` Jan Beulich
2015-01-20 14:37 ` Julien Grall
2015-01-20 16:43 ` Jan Beulich
2015-01-29 10:29 ` Stefano Stabellini
2015-01-29 10:37 ` Jan Beulich
2015-01-29 11:40 ` Julien Grall
2015-01-29 10:29 ` Stefano Stabellini
2015-01-29 11:45 ` Julien Grall
2015-01-29 12:09 ` Stefano Stabellini
2015-01-29 13:09 ` Julien Grall
2015-01-29 15:03 ` Stefano Stabellini
2015-01-29 15:14 ` Julien Grall
2015-02-20 17:17 ` Ian Campbell
2015-02-23 16:25 ` Daniel De Graaf
2015-03-10 16:52 ` Julien Grall
2015-03-10 22:45 ` Daniel De Graaf
2015-03-10 23:07 ` Julien Grall
2015-03-10 23:39 ` Daniel De Graaf
2015-03-11 12:30 ` Julien Grall
2015-03-11 8:53 ` Jan Beulich
2015-03-11 12:15 ` Julien Grall
2015-03-11 12:23 ` Ian Campbell
2015-03-11 12:35 ` Julien Grall
2015-03-11 12:45 ` Jan Beulich
2015-03-10 16:33 ` Julien Grall
2015-03-11 12:37 ` Ian Campbell
2015-03-11 13:50 ` Julien Grall
2015-03-11 13:55 ` Ian Campbell
2015-03-11 14:03 ` Jan Beulich
2015-03-11 14:11 ` Julien Grall
2015-03-13 16:47 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 21/24] tools/(lib)xl: Add partial device tree support for ARM Julien Grall
2015-01-29 11:03 ` Stefano Stabellini
2015-01-29 12:02 ` Julien Grall
2015-01-29 12:26 ` Stefano Stabellini
2015-02-23 11:31 ` Ian Campbell
2015-02-23 11:46 ` Ian Campbell
2015-02-23 17:06 ` Julien Grall
2015-02-23 17:22 ` Ian Campbell
2015-03-17 13:32 ` Julien Grall
2015-02-23 12:03 ` Ian Jackson
2015-02-23 12:44 ` Ian Jackson
2015-02-23 18:43 ` Julien Grall
2015-02-23 19:12 ` Ian Jackson
2015-01-13 14:25 ` [PATCH v3 22/24] tools/libxl: arm: Use an higher value for the GIC phandle Julien Grall
2015-01-29 11:07 ` Stefano Stabellini
2015-01-29 12:05 ` Julien Grall
2015-01-29 12:28 ` Stefano Stabellini
2015-01-29 13:48 ` Julien Grall
2015-01-29 15:04 ` Stefano Stabellini
2015-01-29 15:12 ` Julien Grall
2015-02-23 14:36 ` Ian Campbell
2015-02-23 22:02 ` Julien Grall
2015-02-24 10:08 ` Ian Campbell
2015-03-18 14:14 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 23/24] libxl: Add support for non-PCI passthrough Julien Grall
2015-01-29 11:12 ` Stefano Stabellini
2015-01-29 12:08 ` Julien Grall
2015-01-29 12:31 ` Stefano Stabellini
2015-01-29 13:51 ` Julien Grall
2015-02-23 14:41 ` Ian Campbell
2015-02-23 14:42 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 24/24] xl: Add new option dtdev Julien Grall
2015-01-29 11:18 ` Stefano Stabellini
2015-01-29 12:09 ` Julien Grall
2015-01-29 12:32 ` Stefano Stabellini
2015-01-29 13:51 ` Julien Grall
2015-01-29 15:06 ` Stefano Stabellini
2015-02-23 14:44 ` Ian Campbell
2015-02-23 14:45 ` Ian Campbell
2015-02-23 22:03 ` Julien Grall
2015-02-24 10:07 ` Ian Campbell
2015-01-13 17:56 ` [PATCH v3 00/24] xen/arm: Add support for non-pci passthrough Julien Grall
2015-02-20 17:18 ` Ian Campbell
2015-02-20 17:47 ` 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=54CA2709.9080409@linaro.org \
--to=julien.grall@linaro.org \
--cc=ian.campbell@citrix.com \
--cc=jbeulich@suse.com \
--cc=stefano.stabellini@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.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.