All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Vijay Kilari <vijay.kilari@gmail.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Prasun Kapoor <Prasun.Kapoor@caviumnetworks.com>,
	Vijaya Kumar K <vijaya.kumar@caviumnetworks.com>,
	Tim Deegan <tim@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Julien Grall <julien.grall@citrix.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	manish.jaggi@caviumnetworks.com
Subject: Re: [PATCH v6 00/31] Add ITS support
Date: Mon, 14 Sep 2015 16:30:38 +0530	[thread overview]
Message-ID: <CALicx6vqs=83JxcX3VQOJjdThX4XiYMNS014iAFeVNF6a9Hv_A@mail.gmail.com> (raw)
In-Reply-To: <1441812582.24450.341.camel@citrix.com>

On Wed, Sep 9, 2015 at 8:59 PM, Ian Campbell <ian.campbell@citrix.com> wrote:
> On Mon, 2015-08-31 at 16:36 +0530, vijay.kilari@gmail.com wrote:
>>  Some Major TODOs:
>>    1) Avoid making vits_process_cmd() static in later point of time
>>    2) How to handle LPI that does not have LPI config table entry.
>>    3) Enable/disable ITS to Dom0
>
> I'm not quite sure what any of these 3 are, can you expand upon them
> please.
>
> Major TODOs I can think of (which may overlap those above which I don't
> understand):
>
>    A. Ensuring that no aspect of the vITS is exposed to domains other than
>       dom0, so no mapping, no GICR registers relating to LPIs or ITS etc.
>    B. A bug fat warning in the code vits_map_translation_space about the
>       issues with exposing this to dom0.
>    C. The issue regarding what to do with physical LPIs which arrive before
>       the guest has mapped the corresponding event in the vits or which is
>       masked
>
> Have I missed anything?
>
> I think A and B are pretty straight forward to fix.
>
> C I think is a bit thornier, and IIRC we do not currently have a plan for
> how we can address this in a generic way. I think we might have some ideas
> which work only for PCI devices (or maybe only PCI-e devices?).
>
> Ian.

I will take care of A & B in next revision.

Is there any further comments on this series?. I have not received
any comments on last few patches (patch #25 to patch#30).

>
>
>>
>> Changes in v5:
>>   - Added following new patches
>>       0001-xen-arm-Return-success-if-dt-node-does-not-have-irq-.patch
>>       0004-xen-arm-Set-nr_cpu_ids-to-available-number-of-cpus.patch
>>       0009-xen-arm-ITS-Export-ITS-info-to-Virtual-ITS.patch
>>       0013-xen-arm-ITS-Implement-gic_is_lpi-helper-function.patch
>>   - Split patch #12 into two patches #14 & #16
>>       0014-xen-arm-ITS-Allocate-irq-descriptors-for-LPIs.patch
>>       0016-xen-arm-ITS-Route-LPIs.patch
>>   - Introduce new API to route LPI (route_lpi_to_guest() )
>>   - Moved patch #8 in v4 as patch #19
>>   - irq_descritors for LPIs are allocated dynamically
>>   - Removed RB-tree for managing vitual its devices. Will be
>>     introduced when pci-passthrough is implemented
>>   - its_add_device() api now takes nr_ites and DT its node as parameters
>>   - some function are kept as non-static when introduced in a patch for
>>     compilation purpose and eventually made static when used.
>>   - Tested compilation for arm32
>>
>> Changes in v4:
>>   - Patch for rate limiting of error message is removed.
>>   - Patch #4 and #5 in v3 is merged
>>   - Merged #13 and #16 as one patch
>>   - hw_irq_controller is implemented for LPIs
>>   - GITS and GICR emulation for LPIs in separate patches
>>   - Removed build functions for ITS command in physical ITS driver
>>   - Added new patch to add and assign devices from platform file
>>   - Enable compilation of vits and pits driver in separate patch
>>   - Replace msi-parent property in all pci dt nodes to single
>>     ITS node generated by Xen for Dom0
>>
>> Vijaya Kumar K (31):
>>   xen/dt: Handle correctly node with interrupt-map in
>>     dt_for_each_irq_map
>>   xen/arm: Add bitmap_find_next_zero_area helper function
>>   xen: Add log2 functionality
>>   xen/arm: Set nr_cpu_ids to available number of cpus
>>   xen/arm: Rename NR_IRQs and vgic_num_irqs helper function
>>   xen/arm: ITS: Port ITS driver to Xen
>>   xen/arm: ITS: Add helper functions to manage its_devices
>>   xen/arm: ITS: Introduce msi_desc for LPIs
>>   xen/arm: ITS: Add APIs to add and assign device
>>   xen/arm: ITS: Introduce gic_is_lpi helper function
>>   xen/arm: ITS: Enable compilation of physical ITS driver
>>   xen/arm: Move vgic locking inside get_irq_priority callback
>>   xen/arm: ITS: implement hw_irq_controller for LPIs
>>   xen/arm: ITS: Initialize physical ITS and export lpi support
>>   xen/arm: ITS: Add virtual ITS driver
>>   xen/arm: ITS: Add virtual ITS commands support
>>   xen/arm: ITS: Store LPIs allocated and IRQ ID bits per domain
>>   xen/arm: ITS: Enable virtual ITS driver
>>   xen/arm: ITS: Export ITS info to Virtual ITS
>>   xen/arm: ITS: Introduce helper to get number of event IDs
>>   xen/arm: ITS: Add GITS registers emulation
>>   xen/arm: ITS: Add virtual ITS availability check helper
>>   xen/arm: ITS: Add 32-bit access to GICR_TYPER
>>   xen/arm: ITS: Add GICR register emulation
>>   xen/arm: ITS: Allocate irq descriptors for LPIs
>>   xen/arm: ITS: Allocate pending_lpi descriptors for LPIs
>>   xen/arm: ITS: Route LPIs
>>   xen/arm: ITS: Add domain specific ITS initialization
>>   xen/arm: ITS: Map ITS translation space
>>   xen/arm: ITS: Generate ITS node for Dom0
>>   xen/arm: ITS: Add pci devices in ThunderX
>>
>>  xen/arch/arm/Makefile             |    2 +
>>  xen/arch/arm/domain_build.c       |   11 +
>>  xen/arch/arm/gic-hip04.c          |   19 +-
>>  xen/arch/arm/gic-v2.c             |   19 +-
>>  xen/arch/arm/gic-v3-its.c         | 1594
>> +++++++++++++++++++++++++++++++++++++
>>  xen/arch/arm/gic-v3.c             |  102 ++-
>>  xen/arch/arm/gic.c                |   73 +-
>>  xen/arch/arm/irq.c                |  176 +++-
>>  xen/arch/arm/platforms/Makefile   |    1 +
>>  xen/arch/arm/platforms/thunderx.c |  151 ++++
>>  xen/arch/arm/setup.c              |    2 +
>>  xen/arch/arm/vgic-v2.c            |    9 +-
>>  xen/arch/arm/vgic-v3-its.c        |  993 +++++++++++++++++++++++
>>  xen/arch/arm/vgic-v3.c            |  419 +++++++++-
>>  xen/arch/arm/vgic.c               |  117 ++-
>>  xen/common/bitmap.c               |   39 +
>>  xen/common/device_tree.c          |    4 +-
>>  xen/include/asm-arm/domain.h      |   11 +
>>  xen/include/asm-arm/gic-its.h     |  387 +++++++++
>>  xen/include/asm-arm/gic.h         |   27 +-
>>  xen/include/asm-arm/gic_v3_defs.h |   51 +-
>>  xen/include/asm-arm/irq.h         |   24 +-
>>  xen/include/asm-arm/vgic.h        |   18 +-
>>  xen/include/xen/bitmap.h          |   16 +
>>  xen/include/xen/lib.h             |    2 +
>>  xen/include/xen/log2.h            |  167 ++++
>>  26 files changed, 4357 insertions(+), 77 deletions(-)
>>  create mode 100644 xen/arch/arm/gic-v3-its.c
>>  create mode 100644 xen/arch/arm/platforms/thunderx.c
>>  create mode 100644 xen/arch/arm/vgic-v3-its.c
>>  create mode 100644 xen/include/asm-arm/gic-its.h
>>  create mode 100644 xen/include/xen/log2.h
>>

  reply	other threads:[~2015-09-14 11:00 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-31 11:06 [PATCH v6 00/31] Add ITS support vijay.kilari
2015-08-31 11:06 ` [PATCH v6 01/31] xen/dt: Handle correctly node with interrupt-map in dt_for_each_irq_map vijay.kilari
2015-08-31 14:20   ` Julien Grall
2015-09-02 15:28     ` Ian Campbell
2015-09-02 15:30       ` Wei Liu
2015-09-02 15:45       ` Julien Grall
2015-09-02 15:52         ` Ian Campbell
2015-09-04 14:41         ` Ian Campbell
2015-08-31 11:06 ` [PATCH v6 02/31] xen/arm: Add bitmap_find_next_zero_area helper function vijay.kilari
2015-08-31 11:06 ` [PATCH v6 03/31] xen: Add log2 functionality vijay.kilari
2015-08-31 11:21   ` Jan Beulich
2015-08-31 11:06 ` [PATCH v6 04/31] xen/arm: Set nr_cpu_ids to available number of cpus vijay.kilari
2015-08-31 14:25   ` Julien Grall
2015-09-09 12:48     ` Ian Campbell
2015-08-31 11:06 ` [PATCH v6 05/31] xen/arm: Rename NR_IRQs and vgic_num_irqs helper function vijay.kilari
2015-08-31 14:40   ` Julien Grall
2015-09-09 13:08     ` Ian Campbell
2015-09-09 13:23       ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 06/31] xen/arm: ITS: Port ITS driver to Xen vijay.kilari
2015-08-31 15:41   ` Julien Grall
2015-09-03 17:02   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 07/31] xen/arm: ITS: Add helper functions to manage its_devices vijay.kilari
2015-08-31 11:06 ` [PATCH v6 08/31] xen/arm: ITS: Introduce msi_desc for LPIs vijay.kilari
2015-08-31 16:20   ` Julien Grall
2015-09-09 13:16   ` Ian Campbell
2015-09-09 13:28     ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 09/31] xen/arm: ITS: Add APIs to add and assign device vijay.kilari
2015-09-03 17:34   ` Julien Grall
2015-09-09 13:28     ` Ian Campbell
2015-09-09 13:44       ` Julien Grall
2015-09-09 15:07         ` Ian Campbell
2015-09-09 16:19           ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 10/31] xen/arm: ITS: Introduce gic_is_lpi helper function vijay.kilari
2015-08-31 16:49   ` Julien Grall
2015-09-01  9:02     ` Vijay Kilari
2015-09-01 11:40       ` Julien Grall
2015-09-01 11:56         ` Vijay Kilari
2015-09-01 13:02           ` Julien Grall
2015-09-03  6:32             ` Vijay Kilari
2015-09-03  9:48               ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 11/31] xen/arm: ITS: Enable compilation of physical ITS driver vijay.kilari
2015-08-31 11:06 ` [PATCH v6 12/31] xen/arm: Move vgic locking inside get_irq_priority callback vijay.kilari
2015-08-31 16:34   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 13/31] xen/arm: ITS: implement hw_irq_controller for LPIs vijay.kilari
2015-08-31 17:53   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 14/31] xen/arm: ITS: Initialize physical ITS and export lpi support vijay.kilari
2015-08-31 18:35   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 15/31] xen/arm: ITS: Add virtual ITS driver vijay.kilari
2015-09-02 17:20   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 16/31] xen/arm: ITS: Add virtual ITS commands support vijay.kilari
2015-09-03 15:07   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 17/31] xen/arm: ITS: Store LPIs allocated and IRQ ID bits per domain vijay.kilari
2015-09-03 16:25   ` Julien Grall
2015-09-07  6:59     ` Vijay Kilari
2015-09-07 10:56       ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 18/31] xen/arm: ITS: Enable virtual ITS driver vijay.kilari
2015-08-31 11:06 ` [PATCH v6 19/31] xen/arm: ITS: Export ITS info to Virtual ITS vijay.kilari
2015-09-03 16:48   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 20/31] xen/arm: ITS: Introduce helper to get number of event IDs vijay.kilari
2015-09-03 17:51   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 21/31] xen/arm: ITS: Add GITS registers emulation vijay.kilari
2015-09-07 13:14   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 22/31] xen/arm: ITS: Add virtual ITS availability check helper vijay.kilari
2015-09-07 13:41   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 23/31] xen/arm: ITS: Add 32-bit access to GICR_TYPER vijay.kilari
2015-08-31 16:06   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 24/31] xen/arm: ITS: Add GICR register emulation vijay.kilari
2015-09-07 14:20   ` Julien Grall
2015-09-07 15:26     ` Vijay Kilari
2015-09-09 13:55       ` Ian Campbell
2015-09-09 16:11         ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 25/31] xen/arm: ITS: Allocate irq descriptors for LPIs vijay.kilari
2015-08-31 11:06 ` [PATCH v6 26/31] xen/arm: ITS: Allocate pending_lpi " vijay.kilari
2015-08-31 11:06 ` [PATCH v6 27/31] xen/arm: ITS: Route LPIs vijay.kilari
2015-08-31 11:06 ` [PATCH v6 28/31] xen/arm: ITS: Add domain specific ITS initialization vijay.kilari
2015-08-31 11:06 ` [PATCH v6 29/31] xen/arm: ITS: Map ITS translation space vijay.kilari
2015-08-31 19:07   ` Julien Grall
2015-08-31 11:06 ` [PATCH v6 30/31] xen/arm: ITS: Generate ITS node for Dom0 vijay.kilari
2015-08-31 11:06 ` [PATCH v6 31/31] xen/arm: ITS: Add pci devices in ThunderX vijay.kilari
2015-09-09 15:22   ` Ian Campbell
2015-09-02 15:38 ` [PATCH v6 00/31] Add ITS support Ian Campbell
2015-09-02 15:52   ` Ian Campbell
2015-09-03 16:45 ` Julien Grall
2015-09-09 15:29 ` Ian Campbell
2015-09-14 11:00   ` Vijay Kilari [this message]
2015-09-14 11:09     ` Julien Grall
2015-09-14 13:04       ` Vijay Kilari

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='CALicx6vqs=83JxcX3VQOJjdThX4XiYMNS014iAFeVNF6a9Hv_A@mail.gmail.com' \
    --to=vijay.kilari@gmail.com \
    --cc=Prasun.Kapoor@caviumnetworks.com \
    --cc=ian.campbell@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=manish.jaggi@caviumnetworks.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=vijaya.kumar@caviumnetworks.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.