xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Vijay Kilari <vijay.kilari@gmail.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Prasun Kapoor <Prasun.Kapoor@caviumnetworks.com>,
	Vijaya Kumar K <vijaya.kumar@caviumnetworks.com>,
	xen-devel@lists.xen.org,
	Stefano Stabellini <stefano.stabellini@citrix.com>
Subject: Re: [PATCH v3 13/16] xen/arm: Add support for GIC v3
Date: Thu, 17 Apr 2014 12:17:09 +0100	[thread overview]
Message-ID: <534FB835.7070503@linaro.org> (raw)
In-Reply-To: <CALicx6t-KhFiRFvCqb8yBncT8TPu2UbHqxCP=AXVP2uBghT=yA@mail.gmail.com>

On 04/17/2014 12:00 PM, Vijay Kilari wrote:
> On Thu, Apr 17, 2014 at 3:27 PM, Julien Grall <julien.grall@linaro.org> wrote:
>> On 04/15/2014 12:17 PM, vijay.kilari@gmail.com wrote:
>>> +#define GICD_CTLR       (0x000)
>>> +#define GICD_TYPER      (0x004)
>>> +#define GICD_IIDR       (0x008)
>>> +#define GICD_STATUSR    (0x010)
>>> +#define GICD_SETSPI_NSR (0x040)
>>> +#define GICD_CLRSPI_NSR (0x048)
>>> +#define GICD_SETSPI_SR  (0x050)
>>> +#define GICD_CLRSPI_SR  (0x058)
>>> +#define GICD_IGROUPR    (0x080)
>>> +#define GICD_IGROUPRN   (0x0FC)
>>> +#define GICD_ISENABLER  (0x100)
>>> +#define GICD_ISENABLERN (0x17C)
>>> +#define GICD_ICENABLER  (0x180)
>>> +#define GICD_ICENABLERN (0x1fC)
>>> +#define GICD_ISPENDR    (0x200)
>>> +#define GICD_ISPENDRN   (0x27C)
>>> +#define GICD_ICPENDR    (0x280)
>>> +#define GICD_ICPENDRN   (0x2FC)
>>> +#define GICD_ISACTIVER  (0x300)
>>> +#define GICD_ISACTIVERN (0x37C)
>>> +#define GICD_ICACTIVER  (0x380)
>>> +#define GICD_ICACTIVERN (0x3FC)
>>> +#define GICD_IPRIORITYR (0x400)
>>> +#define GICD_IPRIORITYRN (0x7F8)
>>> +#define GICD_ICFGR      (0xC00)
>>> +#define GICD_ICFGRN     (0xCFC)
>>> +#define GICD_NSACR      (0xE00)
>>> +#define GICD_NSACRN     (0xEFC)
>>> +#define GICD_SGIR       (0xF00)
>>> +#define GICD_CPENDSGIR  (0xF10)
>>> +#define GICD_CPENDSGIRN (0xF1C)
>>> +#define GICD_SPENDSGIR  (0xF20)
>>> +#define GICD_SPENDSGIRN (0xF2C)
>>> +#define GICD_IROUTER    (0x6000)
>>> +#define GICD_IROUTERN   (0x7FF8)
>>> +#define GICD_PIDR0      (0xFFE0)
>>> +#define GICD_PIDR2      (0xFFE8)
>>> +#define GICD_PIDR7      (0xFFDC)
>>
>> Most of this registers are the same as GICv2 except /4 right?
>>
>> If so, it might be interesting to drop the /4 in the GICv2 so we will be
>> able to share most of the VGIC distr code.
>>
> Few registers are common. There are additional registers in V3 like
> IROUTER, PIDR.

You have some strange conception of few :). About 20 registers are
common with GICv2.

> The GICv2 defines are also used by gic-v2 driver as well which expects
> register_address/4.
> So changing this impacts existing GIC v2 driver as well.

I would prefer to modify GIC v2 driver rather than forking too much the
VGIC code. The change in GIC v2 is not so difficult...

It will save us lots of debugging time later. If we keep your solution,
if we find a bug in the vGICv2 distributor we have to check vGICv3
{re,distributor}. That would mean fixing the same bug in 3 places...

With my solution, you will be able to handle in common code the
registers valid on both configuration. Then calling vgic callbacks for
GICv3 specific registers.

It will also help to support vGICv2 on GICv3.

-- 
Julien Grall

  reply	other threads:[~2014-04-17 11:17 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-15 11:17 [PATCH v3 00/16] xen/arm: Add GICv3 support vijay.kilari
2014-04-15 11:17 ` [PATCH v3 01/16] xen/arm: move io.h as mmio.h to include folder vijay.kilari
2014-04-15 16:36   ` Julien Grall
2014-04-23 14:16   ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 02/16] xen/arm: make mmio handlers domain specific vijay.kilari
2014-04-15 17:07   ` Julien Grall
2014-04-23 14:27     ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 03/16] xen/arm: make sgi handling generic vijay.kilari
2014-04-15 17:51   ` Julien Grall
2014-04-15 17:57     ` Julien Grall
2014-04-23 14:31     ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 04/16] xen/arm: remove unused parameter in do_sgi call vijay.kilari
2014-04-15 17:52   ` Julien Grall
2014-04-23 14:32   ` Ian Campbell
2014-04-25  9:28     ` Vijay Kilari
2014-04-15 11:17 ` [PATCH v3 05/16] xen/arm: move gic definitions to seperate file vijay.kilari
2014-04-23 14:34   ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 06/16] xen/arm: move gic lock out of gic data structure vijay.kilari
2014-04-23 14:35   ` Ian Campbell
2014-05-12 13:49   ` Julien Grall
2014-04-15 11:17 ` [PATCH v3 07/16] xen/arm: segregate and split GIC low level functionality vijay.kilari
2014-04-15 18:35   ` Julien Grall
2014-04-23 14:55     ` Ian Campbell
2014-04-23 15:01       ` Julien Grall
2014-04-23 16:47         ` Julien Grall
2014-04-23 17:03           ` Ian Campbell
2014-04-23 17:09             ` Julien Grall
2014-04-24  8:58               ` Ian Campbell
2014-04-24  8:19           ` Ian Campbell
2014-04-28 11:48     ` Vijay Kilari
2014-04-28 12:06       ` Julien Grall
2014-04-28 13:10         ` Vijay Kilari
2014-04-28 13:12           ` Julien Grall
2014-04-15 21:00   ` Julien Grall
2014-04-23 14:52   ` Ian Campbell
2014-04-28 14:41     ` Vijay Kilari
2014-04-28 14:58       ` Ian Campbell
2014-04-28 15:10       ` Julien Grall
2014-04-15 11:17 ` [PATCH v3 08/16] arm/xen: move GIC context data structure to gic driver vijay.kilari
2014-04-15 18:41   ` Julien Grall
2014-04-23 14:57     ` Ian Campbell
2014-04-23 14:58   ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 09/16] xen/arm: use device api to detect GIC version vijay.kilari
2014-04-15 18:49   ` Julien Grall
2014-04-23 15:01   ` Ian Campbell
2014-04-29  7:07     ` Vijay Kilari
2014-04-29  8:55       ` Ian Campbell
2014-04-29 10:13         ` Julien Grall
2014-04-15 11:17 ` [PATCH v3 10/16] xen/arm: move vgic rank data to gic header file vijay.kilari
2014-04-15 19:10   ` Julien Grall
2014-04-17  6:48     ` Vijay Kilari
2014-05-07 15:03   ` Julien Grall
2014-04-15 11:17 ` [PATCH v3 11/16] xen/arm: move vgic defines to vgic " vijay.kilari
2014-04-16 17:01   ` Julien Grall
2014-04-23 15:07     ` Ian Campbell
2014-04-23 15:11       ` Julien Grall
2014-04-23 15:15         ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 12/16] xen/arm: split vgic driver into generic and vgic-v2 driver vijay.kilari
2014-04-15 20:05   ` Julien Grall
2014-04-23 15:12   ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 13/16] xen/arm: Add support for GIC v3 vijay.kilari
2014-04-15 20:43   ` Julien Grall
2014-04-17  7:09     ` Vijay Kilari
2014-04-17  8:58       ` Ian Campbell
2014-04-17  9:02       ` Julien Grall
2014-04-17  9:57   ` Julien Grall
2014-04-17 11:00     ` Vijay Kilari
2014-04-17 11:17       ` Julien Grall [this message]
2014-04-17 14:54         ` Vijay Kilari
2014-04-17 15:12           ` Julien Grall
2014-04-23 17:01   ` Ian Campbell
2014-04-23 17:24     ` Julien Grall
2014-04-29 12:35       ` Vijay Kilari
2014-05-05 12:08     ` Vijay Kilari
2014-05-06  8:55       ` Ian Campbell
2014-05-06 14:11         ` Vijay Kilari
2014-05-06 14:18           ` Julien Grall
2014-05-06 15:47             ` Julien Grall
2014-05-22  5:58               ` Vijay Kilari
2014-05-22  9:26                 ` Julien Grall
2014-05-22 12:36                   ` Stefano Stabellini
2014-05-07 16:30           ` Ian Campbell
2014-05-27 18:17     ` Julien Grall
2014-04-15 11:17 ` [PATCH v3 14/16] xen/arm: Add virtual GICv3 support vijay.kilari
2014-04-17  9:27   ` Julien Grall
2014-04-24 10:37     ` Ian Campbell
2014-04-24 11:39       ` Julien Grall
2014-04-24 10:30   ` Ian Campbell
2014-05-02  9:43     ` Vijay Kilari
2014-05-02  9:56       ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 15/16] xen/arm: Update Dom0 GIC dt node with GICv3 information vijay.kilari
2014-04-18 19:57   ` Julien Grall
2014-04-24 10:46   ` Ian Campbell
2014-04-15 11:17 ` [PATCH v3 16/16] xen/arm: add SGI handling for GICv3 vijay.kilari
2014-04-18 20:20   ` Julien Grall
2014-05-02 12:57     ` Vijay Kilari
2014-05-02 14:26       ` Julien Grall
2014-05-02 15:18         ` Ian Campbell
2014-05-02 15:24           ` Julien Grall
2014-05-05  6:53             ` Vijay Kilari
2014-05-05 18:40               ` Julien Grall
2014-05-06  8:58                 ` Ian Campbell
2014-05-06  9:42                   ` Julien Grall
2014-05-06 10:10                     ` Ian Campbell
2014-05-06 16:06                       ` Julien Grall
2014-04-24 10:57   ` Ian Campbell
2014-04-24 11:43     ` 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=534FB835.7070503@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=Prasun.Kapoor@caviumnetworks.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=vijay.kilari@gmail.com \
    --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 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).