Subject: [PATCH v3 49/62] arm/acpi: Map rest tables for Dom0

From: [email-masked] (Julien Grall)
Date: Mon, 30 Nov 2015 15:25:34 +0000

Hi,

On 27/11/15 12:16, Stefano Stabellini wrote:
> On Tue, 17 Nov 2015, shannon.zhao at linaro.org wrote:
>> From: Shannon Zhao <[email-masked]>
>>
>> Map other reused tables for Dom0.
> 
> "Map all other tables to Dom0 using 1:1 mappings."
> 
> 
>> Signed-off-by: Shannon Zhao <[email-masked]>
>> ---
>>  xen/arch/arm/domain_build.c | 25 +++++++++++++++++++++++++
>>  1 file changed, 25 insertions(+)
>>
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 6ae5761..da4e271 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -1359,6 +1359,29 @@ static int prepare_dtb(struct domain *d, struct kernel_info *kinfo)
>>  #ifdef CONFIG_ACPI
>>  #define XEN_HYPERVISOR_ID 0x000058656E564D4D  /* "XenVMM" */
>>  
>> +static void acpi_map_rest_tables(struct domain *d)
> 
> The name doesn't sound nice, "acpi_map_other_tables" would be better.
> However this function is not actually mapping the other tables, it is
> mapping *all* of them, including the original madt and fadt, right? I
> think it would be best to avoid mapping the originals.
> 
> 
>> +{
>> +    int i;
>> +    unsigned long res;
>> +    u64 addr, size;
> 
> Add a comment that they are being mapped 1:1

I don't like the fact that we begin to assume domain is mapped 1:1 in so
many places.

If we decide one day to drop the 1:1 mapping it would be more difficult.

Can we try to rationalize the place where the 1:1 mapping is added?

Some ASSERT(is_domain_direct_mapped(..)) would be useful too.

Regards,

-- 
Julien Grall