|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen on ARM GIC setup
On 4 June 2013 23:23, Julien Grall <julien.grall@xxxxxxxxxx> wrote:
> I forgot to cc Sander.
>
> On 06/04/2013 10:21 PM, Julien Grall wrote:
>
>> On 06/04/2013 08:42 PM, Sander Bogaert wrote:
>>
>>> Hi,
>>
>> Hi,
>>
>>> I was going over this part of the gic setup code ( gic.c:gic_dist_init ):
>>>
>>> type = GICD[GICD_TYPER];
>>> gic.lines = 32 * (type & GICD_TYPE_LINES);
>>> ....
>>> /* Disable all global interrupts */
>>> for ( i = 32; i < gic.lines; i += 32 )
>>> GICD[GICD_ICENABLER + i / 32] = (uint32_t)~0ul;
>>
>> It seems you have an old tree :). A commit (2f2a3e31) was pushed at the
>> end of april to fix this issue.
Ok I see :) Having different trees because of the other issue I mailed
about and I was looking in the wrong one. But now that I'm at it
anyway, same part of the code:
/* Default all global IRQs to level, active low */
for ( i = 32; i < gic.lines; i += 16 )
GICD[GICD_ICFGR + i / 16] = 0x0;
/* Route all global IRQs to this CPU */
for ( i = 32; i < gic.lines; i += 4 )
GICD[GICD_ICFGR + i / 4] = cpumask;
Shouldn't that second loop use the GICD_ITARGETSR register? Just
aksing :-) Seems strange to set the same field with different values
right after eachother also the += 4 loop doesn't make sense for it
since it's two bit each interrupt line. It would make sense for
ITARGETSR.
>>
>> Cheers,
>>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |