[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC 13/29] xen/arm: Use hierarchical device tree to retrieve GIC information
On 04/30/2013 10:34 AM, Ian Campbell wrote: > On Mon, 2013-04-29 at 21:42 +0100, Julien Grall wrote: >> On 04/29/2013 04:35 PM, Ian Campbell wrote: >> >>> On Mon, 2013-04-29 at 00:01 +0100, Julien Grall wrote: >>>> - Remove early parsing for GIC addresses >>>> - Remove hard coded maintenance IRQ number >>> >>> At last, the payoff! >>> >>>> >>>> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> >>>> --- >>>> xen/arch/arm/gic.c | 63 >>>> ++++++++++++++++++++++++++++------------- >>>> xen/common/device_tree.c | 42 --------------------------- >>> >>> I like this line! >>> >>>> @@ -464,7 +486,7 @@ void gic_route_ppis(void) >>>> { >>>> /* XXX should get these from DT */ >>>> /* GIC maintenance */ >>>> - gic_route_irq(25, 1, 1u << smp_processor_id(), 0xa0); >>>> + gic_route_dt_irq(&gic.maintenance, 1u << smp_processor_id(), 0xa0); >>>> /* Hypervisor Timer */ >>>> gic_route_irq(26, 1, 1u << smp_processor_id(), 0xa0); >>>> /* Virtual Timer */ >>>> @@ -813,7 +835,8 @@ void gic_dump_info(struct vcpu *v) >>>> >>>> void __cpuinit init_maintenance_interrupt(void) >>>> { >>>> - request_irq(25, maintenance_interrupt, 0, "irq-maintenance", NULL); >>>> + request_irq(gic.maintenance.irq, maintenance_interrupt, >>>> + 0, "irq-maintenance", NULL); >>> >>> Would a dt_request_irq be useful anywhere other than here? >> >> As all the interrupts should be retrieved from the device_tree could we >> remove request_irq for ARM (ie move request_irq definition to >> asm-x86/irq.h)? It's also a safe guard for developper to avoid hardcoded >> IRQ. > > Might be something to consider for 4.4, needs discussion with the x86 > chaps and Keir? > > Since request_irq is implerment in arch code we could just skip it, then > link errors would do the rest. What do you mean by "implement in arch code"? Except on UART driver (pl011 and exynos4210) I don't see any usage in common code. I have also notice that I should create dt_setup_irq. The setup_irq is used in UART driver. >> Then we can: >> 1) modify irq argument type >> 2) rename the function in request_dt_irq >> >> I'm not sure the latter is usefull. >> > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |