From mboxrd@z Thu Jan 1 00:00:00 1970 From: Parth Dixit Subject: [PATCH v2 41/41] arm : acpi route irq's at time of boot Date: Mon, 18 May 2015 01:34:08 +0530 Message-ID: <1431893048-5214-42-git-send-email-parth.dixit@linaro.org> References: <1431893048-5214-1-git-send-email-parth.dixit@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1431893048-5214-1-git-send-email-parth.dixit@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: keir@xen.org, ian.campbell@citrix.com, andrew.cooper3@citrix.com, tim@xen.org, julien.grall@citrix.com, stefano.stabellini@citrix.com, jbeulich@suse.com, parth.dixit@linaro.org, christoffer.dall@linaro.org List-Id: xen-devel@lists.xenproject.org NOTE: This is a wrokaround to be fixed later. Route all the irq's to Dom0 at the time of booting. Trigger and polarity will be set dyanmaically when Dom0 request's for it. Signed-off-by: Parth Dixit --- xen/arch/arm/domain_build.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 2ce30bf..cdad86b 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -1481,6 +1481,26 @@ static int prepare_acpi(struct domain *d, struct kernel_info *kinfo, struct memb acpi_os_unmap_memory(rsdp_tbl, sizeof(struct acpi_table_rsdp) ); prepare_efi_table(d, kinfo, tbl_add); + + /* configure interrupts gicv2 only */ + for( i = 32 ; i < 255 ; i++ ) + { + struct irq_desc *desc; + desc = irq_to_desc(i); + if( desc->action != NULL) + continue; + + vgic_reserve_virq(d, i); + set_irq_type(i, ACPI_IRQ_TYPE_NONE); + res = route_irq_to_guest(d, i, i, NULL); + if ( res ) + { + printk(XENLOG_ERR "Unable to route IRQ %u to domain %u\n", + i, d->domain_id); + continue; + } + } + /* map rsdp table */ size = sizeof(struct acpi_table_rsdp); -- 1.9.1