|
[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 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.
> 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 |