All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Chris Patterson <cjp256@gmail.com>, xen-devel@lists.xen.org
Cc: Chris Patterson <pattersonc@ainfosec.com>,
	nd@arm.com, temkink@ainfosec.com, sstabellini@kernel.org
Subject: Re: [PATCH 2/6] xen/arm: domain_build: Inherit GIC's interrupt-parent from host device tree
Date: Tue, 18 Apr 2017 09:01:06 +0100	[thread overview]
Message-ID: <08b18924-279c-de0f-7c9a-c44b1c523bc1@arm.com> (raw)
In-Reply-To: <1491508074-31647-3-git-send-email-cjp256@gmail.com>

Hello,

On 06/04/2017 20:47, Chris Patterson wrote:
> From: "Chris Patterson" <pattersonc@ainfosec.com>
>
> Currently, the interrupt parent is left undefined during creation in
> make_gic_node().  In cases where a non-GIC interrupt controller is present,
> this can lead to incorrect assignment of interrupt parents.
>
> On the Tegra, the gic's interrupt parent is set to itself:
>
> 	gic: interrupt-controller@0,50041000 {
> 		compatible = "arm,gic-400";
> 		#interrupt-cells = <3>;
> 		interrupt-controller;
> 		reg = <0x0 0x50041000 0x0 0x1000>,
> 		      <0x0 0x50042000 0x0 0x2000>,
> 		      <0x0 0x50044000 0x0 0x2000>,
> 		      <0x0 0x50046000 0x0 0x2000>;
> 		interrupts = <GIC_PPI 9
> 			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
> 		interrupt-parent = <&gic>;
> 	};
>
> To prevent the hardware domain from assuming the Legacy Interrupt Controller
> (lic) as the GIC's interrupt-parent, this change explicitly assigns
> the interrupt-parent property from the host device tree.
>
> Authored-by: Kyle Temkin <temkink@ainfosec.com>

We use "From: " for the author and it is different here. So who wrote 
this code?

> Signed-off-by: Kyle Temkin <temkink@ainfosec.com>
> Signed-off-by: Chris Patterson <pattersonc@ainfosec.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
>
> changes from rfc:
> - commit message documentation improvements
>
> ---
>  xen/arch/arm/domain_build.c | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index de59e5f..cb66304 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -778,8 +778,8 @@ static int make_gic_node(const struct domain *d, void *fdt,
>  {
>      const struct dt_device_node *gic = dt_interrupt_controller;
>      int res = 0;
> -    const void *addrcells, *sizecells;
> -    u32 addrcells_len, sizecells_len;
> +    const void *addrcells, *sizecells, *iparent;
> +    u32 addrcells_len, sizecells_len, iparent_len;
>
>      /*
>       * Xen currently supports only a single GIC. Discard any secondary
> @@ -809,6 +809,19 @@ static int make_gic_node(const struct domain *d, void *fdt,
>              return res;
>      }
>
> +    /*
> +     * If available, explicitly inherit interrupt-parent property from host
> +     * device tree.  This will prevent the risk of incorrect identification
> +     * of the parent on platforms with more than one interrupt controller.
> +     */
> +    iparent = dt_get_property(gic, "interrupt-parent", &iparent_len);
> +    if ( iparent )
> +    {
> +        res = fdt_property(fdt, "interrupt-parent", iparent, iparent_len);
> +        if ( res )
> +          return res;
> +    }
> +
>      addrcells = dt_get_property(gic, "#address-cells", &addrcells_len);
>      if ( addrcells )
>      {
>

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-04-18  8:01 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-06 19:47 [PATCH 0/6] Initial Tegra platform support Chris Patterson
2017-04-06 19:47 ` [PATCH 1/6] xen/arm: platforms: Add earlyprintk and serial support for Tegra boards Chris Patterson
2017-04-13 23:09   ` Stefano Stabellini
2017-04-18  7:49   ` Julien Grall
2017-04-19 20:37     ` Chris Patterson
2017-04-06 19:47 ` [PATCH 2/6] xen/arm: domain_build: Inherit GIC's interrupt-parent from host device tree Chris Patterson
2017-04-18  8:01   ` Julien Grall [this message]
2017-04-19 20:09     ` Christopher Patterson
2017-04-06 19:47 ` [PATCH 3/6] xen/arm: Allow platforms to hook IRQ routing Chris Patterson
2017-04-13 23:26   ` Stefano Stabellini
2017-04-06 19:47 ` [PATCH 4/6] xen/arm: platforms: Add Tegra platform to support basic " Chris Patterson
2017-04-13 23:46   ` Stefano Stabellini
2017-04-17 15:03     ` Chris Patterson
2017-04-18  7:58       ` Julien Grall
2017-07-06 22:00         ` Chris Patterson
2017-07-07 16:25           ` Julien Grall
2017-07-07 18:08             ` Chris Patterson
2017-07-26 16:49               ` Julien Grall
2017-04-18  8:26   ` Julien Grall
2017-07-06 23:12     ` Chris Patterson
2017-07-07 16:30       ` Julien Grall
2017-07-07 18:53         ` Chris Patterson
2017-07-24 19:38           ` Chris Patterson
2017-07-26 16:10             ` Julien Grall
2017-04-06 19:47 ` [PATCH 5/6] xen/arm: Add function to query IRQ 'ownership' Chris Patterson
2017-04-18  8:27   ` Julien Grall
2017-04-06 19:47 ` [PATCH 6/6] xen/arm: platforms/tegra: Ensure the hwdom can only affect its own interrupts Chris Patterson
2017-04-13 23:54   ` Stefano Stabellini
2017-04-18  8:39   ` Julien Grall
2017-07-06 23:13     ` Chris Patterson

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=08b18924-279c-de0f-7c9a-c44b1c523bc1@arm.com \
    --to=julien.grall@arm.com \
    --cc=cjp256@gmail.com \
    --cc=nd@arm.com \
    --cc=pattersonc@ainfosec.com \
    --cc=sstabellini@kernel.org \
    --cc=temkink@ainfosec.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.