|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 08/15] xen/arm: vgic-v3: Emulate correctly the re-distributor
Hello Vijay,
On 03/02/15 06:47, Vijay Kilari wrote:
> On Thu, Jan 29, 2015 at 11:55 PM, Julien Grall <julien.grall@xxxxxxxxxx>
> wrote:
>> @@ -909,8 +911,15 @@ static int gicv_v3_init(struct domain *d)
>>
>> for ( i = 0; i < gicv3.rdist_count; i++ )
>> {
>> + paddr_t size = gicv3.rdist_regions[i].size;
>> +
>> d->arch.vgic.rdist_regions[i].base =
>> gicv3.rdist_regions[i].base;
>> - d->arch.vgic.rdist_regions[i].size =
>> gicv3.rdist_regions[i].size;
>> + d->arch.vgic.rdist_regions[i].size = size;
>> +
>> + /* Set the first CPU handled by this region */
>> + d->arch.vgic.rdist_regions[i].first_cpu = first_cpu;
>> +
>> + first_cpu += size / d->arch.vgic.rdist_stride;
>
> Here you rely on size, The size might not be always map to
> number of cpus in that region. We should rely on GICR_TYPER_LAST
> to know the last cpu in the region.
This is the emulated GIC for DOM0... we don't have to expose the same
re-distributors layout as the hardware. By same layout I mean, the base
address of the redistributor for virtual CPUn is equal to base address
of the re-distributor for physical CPUn.
If your DOM0 rely on having exactly the same layout, that means that
your kernel is clearly buggy...
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |