[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 01/62] Revert "xen/arm: vgic-v2: Drop cbase from arch_domain"

Hi Shannon,

On 18/11/15 02:28, Shannon Zhao wrote:

> On 2015/11/17 21:57, Julien Grall wrote:
>> On 17/11/15 12:32, Shannon Zhao wrote:
>>>> Hi Julien,
>>>> On 2015/11/17 19:27, Julien Grall wrote:
>>>>>> Hi Shannon,
>>>>>> Why do you want to revert this patch?
>>>> Because d->arch.vgic.cbase will be used by creating Dom0 MADT table
>>>> later. See [PATCH v3 43/62].
>>>> +            gicc.base_address = d->arch.vgic.cbase;
>>>> My previous way is get this from ACPI table but someone suggest get it
>>>> from struct domain and I think this way is better too since it uses the
>>>> value after being parsed.
>> It's pointless to store the value in arch_domain for something that it's
>> only use during building...
>> We have struct kernel_info which store any information related to the
>> DOM0 during the building.
> Yeah, that would be better if it could use kernel_info. But the problem
> is that kernel_info is firstly used in construct_dom0(), while it needs
> to store the cbase in domain_create() which is called before
> construct_dom0(). And if we pass kernel_info as parameter to
> domain_create(), this would introduce more changes to common codes.
> Do you have any better idea to handle this?

Yes, introducing callback to create the ACPI table in the GIC driver.
See what we did for make_hwdom_dt_node.

We are trying to make the domain_build domain as agnostic as possible
from the GIC version. However in patch #43, you implement specific
version in the domain builder.

It will also not scale very well when we will introduce GICv2m and ITS.

The version of the GIC (ACPI_MADT_GIC_*) could be introduced in the

The re-distributor could be moved in gic-v3.c and the generic interrupt
controller in gic-v2.c.

Note it's a mandatory to emulate the same version as the hardware for
the virtual GIC.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.