From: Shannon Zhao <shannon.zhao@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
Shannon Zhao <zhaoshenglong@huawei.com>
Cc: hangaohuai@huawei.com, stefano.stabellini@citrix.com,
xen-devel@lists.xen.org
Subject: Re: [PATCH v5 16/22] arm/acpi: Configure SPI interrupt type and route to Dom0 dynamically
Date: Fri, 04 Mar 2016 23:16:01 +0800 [thread overview]
Message-ID: <56D9A6B1.4070301@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1603041118430.17938@kaball.uk.xensource.com>
On 2016年03月04日 19:26, Stefano Stabellini wrote:
> On Fri, 4 Mar 2016, Shannon Zhao wrote:
>> > From: Shannon Zhao <shannon.zhao@linaro.org>
>> >
>> > Interrupt information is described in DSDT and is not available at the
>> > time of booting. Check if the interrupt is permitted to access and set
>> > the interrupt type, route it to guest dynamically only for SPI
>> > and Dom0.
>> >
>> > Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
>> > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
>> > ---
>> > v5: add a small function to get the irq type from ICFG
>> > ---
>> > xen/arch/arm/vgic.c | 38 ++++++++++++++++++++++++++++++++++++++
>> > 1 file changed, 38 insertions(+)
>> >
>> > diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
>> > index ee35683..52378a3 100644
>> > --- a/xen/arch/arm/vgic.c
>> > +++ b/xen/arch/arm/vgic.c
>> > @@ -25,6 +25,8 @@
>> > #include <xen/irq.h>
>> > #include <xen/sched.h>
>> > #include <xen/perfc.h>
>> > +#include <xen/iocap.h>
>> > +#include <xen/acpi.h>
>> >
>> > #include <asm/current.h>
>> >
>> > @@ -334,6 +336,21 @@ void vgic_disable_irqs(struct vcpu *v, uint32_t r, int n)
>> > }
>> > }
>> >
>> > +#ifdef CONFIG_ACPI
>> > +#define VGIC_ICFG_MASK(intr) ( 1 << ( ( 2 * ( intr % 16 ) ) + 1 ) )
> remove spaces: ^ ^ ^ ^
>
>> > +static unsigned int get_the_irq_type(struct vcpu *v, int n, int index)
> static inline
>
>
>> > +{
>> > + struct vgic_irq_rank *vr = vgic_get_rank(v, n);
>> > + uint32_t tr = vr->icfg[index >> 4];
>> > +
>> > + if ( tr & VGIC_ICFG_MASK(index) )
>> > + return IRQ_TYPE_EDGE_BOTH;
>> > + else
>> > + return IRQ_TYPE_LEVEL_MASK;
>> > +}
>> > +#endif
>> > +
>> > void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n)
>> > {
>> > const unsigned long mask = r;
>> > @@ -342,9 +359,30 @@ void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n)
>> > unsigned long flags;
>> > int i = 0;
>> > struct vcpu *v_target;
>> > +#ifdef CONFIG_ACPI
>> > + struct domain *d = v->domain;
>> > + int ret;
>> > +#endif
>> >
>> > while ( (i = find_next_bit(&mask, 32, i)) < 32 ) {
>> > irq = i + (32 * n);
>> > +#ifdef CONFIG_ACPI
>> > + /* Set the irq type and route it to guest only for SPI and Dom0 */
>> > + if( irq_access_permitted(d, irq) && is_hardware_domain(d) &&
>> > + ( irq >= 32 ) && ( !acpi_disabled ) )
> Is there a reason why we need to have this code inside an ifdef? It
> looks like we can remove all ifdefs from this patch.
>
>
Ah, right! Will remove it.
Thanks,
--
Shannon
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-03-04 15:16 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-04 6:15 [PATCH v5 00/22] Prepare UEFI and ACPI tables for Dom0 on ARM64 Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 01/22] arm/acpi: Estimate memory required for acpi/efi tables Shannon Zhao
2016-03-04 10:09 ` Jan Beulich
2016-03-04 10:55 ` Stefano Stabellini
2016-03-04 15:03 ` Shannon Zhao
2016-03-04 15:23 ` Stefano Stabellini
2016-03-04 15:52 ` Shannon Zhao
2016-03-04 15:59 ` Stefano Stabellini
2016-03-04 15:39 ` Jan Beulich
2016-03-04 6:15 ` [PATCH v5 02/22] arm/acpi: Add a helper function to get the acpi table offset Shannon Zhao
2016-03-04 10:59 ` Stefano Stabellini
2016-03-04 15:12 ` Shannon Zhao
2016-03-04 15:31 ` Stefano Stabellini
2016-03-04 15:53 ` Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 03/22] arm/acpi: Prepare FADT table for Dom0 Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 04/22] arm/gic: Add a new callback for creating MADT " Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 05/22] arm/acpi: Prepare " Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 06/22] arm/acpi: Prepare STAO " Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 07/22] arm/acpi: Prepare XSDT " Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 08/22] arm/acpi: Prepare RSDP " Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 09/22] arm/p2m: Add helper functions to map memory regions Shannon Zhao
2016-03-04 10:51 ` Stefano Stabellini
2016-03-04 6:15 ` [PATCH v5 10/22] arm/acpi: Map all other tables for Dom0 Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 11/22] arm/acpi: Prepare EFI system table " Shannon Zhao
2016-03-04 11:02 ` Stefano Stabellini
2016-03-04 6:15 ` [PATCH v5 12/22] arm/acpi: Prepare EFI memory descriptor " Shannon Zhao
2016-03-04 11:13 ` Stefano Stabellini
2016-03-16 8:59 ` Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 13/22] arm/acpi: Map the new created EFI and ACPI tables to Dom0 Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 14/22] arm/acpi: Create min DT stub for Dom0 Shannon Zhao
2016-03-04 11:17 ` Stefano Stabellini
2016-03-04 6:15 ` [PATCH v5 15/22] arm/acpi: Permit access all Xen unused SPIs " Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 16/22] arm/acpi: Configure SPI interrupt type and route to Dom0 dynamically Shannon Zhao
2016-03-04 11:26 ` Stefano Stabellini
2016-03-04 15:16 ` Shannon Zhao [this message]
2016-03-04 6:15 ` [PATCH v5 17/22] arm/gic: Add a new callback to deny Dom0 access to GIC regions Shannon Zhao
2016-03-04 11:59 ` Stefano Stabellini
2016-03-04 6:15 ` [PATCH v5 18/22] arm/acpi: Permit MMIO access of Xen unused devices for Dom0 Shannon Zhao
2016-03-04 12:01 ` Stefano Stabellini
2016-03-04 6:15 ` [PATCH v5 19/22] hvm/params: Add a new delivery type for event-channel in HVM_PARAM_CALLBACK_IRQ Shannon Zhao
2016-03-04 10:16 ` Jan Beulich
2016-03-04 12:09 ` Stefano Stabellini
2016-03-04 12:20 ` Jan Beulich
2016-03-04 12:26 ` Stefano Stabellini
2016-03-16 15:03 ` Julien Grall
2016-03-16 15:10 ` Jan Beulich
2016-03-04 21:19 ` Konrad Rzeszutek Wilk
2016-03-16 16:34 ` Julien Grall
2016-03-16 17:49 ` Konrad Rzeszutek Wilk
2016-03-24 12:24 ` Stefano Stabellini
2016-03-04 6:15 ` [PATCH v5 20/22] xen/acpi: Fix event-channel interrupt when booting with ACPI Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 21/22] xen/arm: Add a hypercall for device mmio mapping Shannon Zhao
2016-03-04 10:29 ` Jan Beulich
2016-03-04 11:00 ` Roger Pau Monné
2016-03-04 11:11 ` Jan Beulich
2016-03-04 11:37 ` Stefano Stabellini
2016-03-16 9:48 ` Shannon Zhao
2016-03-16 10:04 ` Jan Beulich
2016-03-16 11:22 ` Shannon Zhao
2016-03-04 6:15 ` [PATCH v5 22/22] xen/arm64: Add ACPI support Shannon Zhao
2016-03-04 10:33 ` Jan Beulich
2016-03-04 11:45 ` Stefano Stabellini
2016-03-04 11:45 ` Stefano Stabellini
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=56D9A6B1.4070301@linaro.org \
--to=shannon.zhao@linaro.org \
--cc=hangaohuai@huawei.com \
--cc=stefano.stabellini@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
--cc=zhaoshenglong@huawei.com \
/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.