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