Message ID | 1464791931-29322-1-git-send-email-sstabellini@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 01/06/16 15:38, Stefano Stabellini wrote: > as a consequence of 9d77b3c01d1261ce17c10097a1b393f2893ca657 being > reverted. > > Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> Reviewed-by: Julien Grall <julien.grall@arm.com> > --- > Changes in v2: > - fix typo > - add log_once > --- > xen/arch/arm/vgic.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c > index ee35683..413ff16 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> > > @@ -342,9 +344,22 @@ void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n) > unsigned long flags; > int i = 0; > struct vcpu *v_target; > + struct domain *d = v->domain; > > while ( (i = find_next_bit(&mask, 32, i)) < 32 ) { > irq = i + (32 * n); > + /* 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 ) ) > + { > + static int log_once = 0; > + if ( !log_once ) > + { > + gprintk(XENLOG_WARNING, "Routing SPIs to Dom0 on ACPI systems is unimplemented.\n"); > + log_once++; > + } > + } > + > v_target = __vgic_get_target_vcpu(v, irq); > p = irq_to_pending(v_target, irq); > set_bit(GIC_IRQ_GUEST_ENABLED, &p->status); >
On Wed, Jun 01, 2016 at 03:45:28PM +0100, Julien Grall wrote: > > > On 01/06/16 15:38, Stefano Stabellini wrote: > >as a consequence of 9d77b3c01d1261ce17c10097a1b393f2893ca657 being > >reverted. > > > >Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> > > Reviewed-by: Julien Grall <julien.grall@arm.com> Release-acked-by: Wei Liu <wei.liu2@citrix.com> > > >--- > >Changes in v2: > >- fix typo > >- add log_once > >--- > > xen/arch/arm/vgic.c | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > >diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c > >index ee35683..413ff16 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> > > > >@@ -342,9 +344,22 @@ void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n) > > unsigned long flags; > > int i = 0; > > struct vcpu *v_target; > >+ struct domain *d = v->domain; > > > > while ( (i = find_next_bit(&mask, 32, i)) < 32 ) { > > irq = i + (32 * n); > >+ /* 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 ) ) > >+ { > >+ static int log_once = 0; > >+ if ( !log_once ) > >+ { > >+ gprintk(XENLOG_WARNING, "Routing SPIs to Dom0 on ACPI systems is unimplemented.\n"); > >+ log_once++; > >+ } > >+ } > >+ > > v_target = __vgic_get_target_vcpu(v, irq); > > p = irq_to_pending(v_target, irq); > > set_bit(GIC_IRQ_GUEST_ENABLED, &p->status); > > > > -- > Julien Grall
On 01/06/16 15:38, Stefano Stabellini wrote: > as a consequence of 9d77b3c01d1261ce17c10097a1b393f2893ca657 being > reverted. > > Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> Some style corrections. > @@ -342,9 +344,22 @@ void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n) > unsigned long flags; > int i = 0; > struct vcpu *v_target; > + struct domain *d = v->domain; > > while ( (i = find_next_bit(&mask, 32, i)) < 32 ) { > irq = i + (32 * n); > + /* Set the irq type and route it to guest only for SPI and Dom0 */ > + if( irq_access_permitted(d, irq) && is_hardware_domain(d) && Space after if. > + ( irq >= 32 ) && ( !acpi_disabled ) ) Extraneous spaces, and pointless brackets for the acpi_disabled. > + { > + static int log_once = 0; bool_t. Also, missing a newline between the variable declaration and code. ~Andrew
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index ee35683..413ff16 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> @@ -342,9 +344,22 @@ void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n) unsigned long flags; int i = 0; struct vcpu *v_target; + struct domain *d = v->domain; while ( (i = find_next_bit(&mask, 32, i)) < 32 ) { irq = i + (32 * n); + /* 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 ) ) + { + static int log_once = 0; + if ( !log_once ) + { + gprintk(XENLOG_WARNING, "Routing SPIs to Dom0 on ACPI systems is unimplemented.\n"); + log_once++; + } + } + v_target = __vgic_get_target_vcpu(v, irq); p = irq_to_pending(v_target, irq); set_bit(GIC_IRQ_GUEST_ENABLED, &p->status);
as a consequence of 9d77b3c01d1261ce17c10097a1b393f2893ca657 being reverted. Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> --- Changes in v2: - fix typo - add log_once --- xen/arch/arm/vgic.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)