xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: xen-devel@lists.xen.org
Cc: patches@linaro.org, ian.campbell@citrix.com,
	Julien Grall <julien.grall@linaro.org>,
	stefano.stabellini@eu.citrix.com
Subject: [PATCH v2 2/6] xen/arm: Initialize correctly IRQ routing
Date: Wed, 11 Sep 2013 12:59:40 +0100	[thread overview]
Message-ID: <1378900784-16949-3-git-send-email-julien.grall@linaro.org> (raw)
In-Reply-To: <1378900784-16949-1-git-send-email-julien.grall@linaro.org>

When Xen initialize the GIC distributor, we need to route all the IRQs to
the boot CPU. The CPU ID can differ between Xen and the GIC.

When ITARGETSR0 is read, each field will return a value that corresponds
only to the processor reading the register. So Xen can use the PPI 0 to
initialize correctly the routing.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
---
 xen/arch/arm/gic.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 7f11df6..a10416d 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -275,9 +275,10 @@ void gic_route_dt_irq(const struct dt_irq *irq, const cpumask_t *cpu_mask,
 static void __init gic_dist_init(void)
 {
     uint32_t type;
-    uint32_t cpumask = 1 << smp_processor_id();
+    uint32_t cpumask;
     int i;
 
+    cpumask = GICD[GICD_ITARGETSR] & 0xff;
     cpumask |= cpumask << 8;
     cpumask |= cpumask << 16;
 
-- 
1.7.10.4

  parent reply	other threads:[~2013-09-11 11:59 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-11 11:59 [PATCH v2 0/6] Dissociate logical and gic/hardware CPU ID Julien Grall
2013-09-11 11:59 ` [PATCH v2 1/6] xen/arm: use cpumask_t to describe cpu mask in gic_route_dt_irq Julien Grall
2013-09-11 11:59 ` Julien Grall [this message]
2013-09-11 11:59 ` [PATCH v2 3/6] xen/arm: gic: Use the correct CPU ID Julien Grall
2013-09-17 14:36   ` Ian Campbell
2013-09-17 15:04     ` Julien Grall
2013-09-11 11:59 ` [PATCH v2 4/6] xen/arm: Fix assert in send_SGI_one Julien Grall
2013-09-11 11:59 ` [PATCH v2 5/6] xen/arm: Dissociate logical and hardware CPU ID Julien Grall
2013-09-17 14:39   ` Ian Campbell
2013-09-17 15:02     ` Julien Grall
2013-09-17 15:08       ` Ian Campbell
2013-09-17 15:18         ` Julien Grall
2013-09-17 15:25           ` Ian Campbell
2013-09-11 11:59 ` [PATCH v2 6/6] xen/arm: Use the hardware ID to boot correctly secondary cpus 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=1378900784-16949-3-git-send-email-julien.grall@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=ian.campbell@citrix.com \
    --cc=patches@linaro.org \
    --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 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).