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

Re: [Xen-devel] [PATCH v3 25/62] acpi/table: Introduce acpi_get_entry to get specified entry




On 2015/11/24 0:59, Jan Beulich wrote:
>>>> On 17.11.15 at 10:40, <shannon.zhao@xxxxxxxxxx> wrote:
>> --- a/xen/drivers/acpi/tables.c
>> +++ b/xen/drivers/acpi/tables.c
>> @@ -221,6 +221,51 @@ void __init acpi_table_print_madt_entry(struct 
>> acpi_subtable_header *header)
>>      }
>>  }
>>  
>> +struct acpi_subtable_header * __init
>> +acpi_get_entry(char *id, unsigned long table_size,
>> +           struct acpi_table_header *table_header, int entry_id,
>> +           unsigned int entry_index)
>> +{
>> +    struct acpi_subtable_header *entry;
>> +    unsigned int count = 0;
>> +    unsigned long table_end;
>> +
>> +    if ( !table_size )
> 
> Linux coding style please in this file.
> 
Sure.

>> +            return NULL;
>> +
>> +    if ( !table_header )
>> +    {
>> +            printk("Table header not present\n");
>> +            return NULL;
>> +    }
>> +
>> +    table_end = (unsigned long)table_header + table_header->length;
> 
> So here you use ->length, ...
> 
>> +    /* Parse all entries looking for a match. */
>> +    entry = (struct acpi_subtable_header *)
>> +        ((unsigned long)table_header + table_size);
> 
> ... but here table_size. Why?
> 
Here it just skips the main table size at the beginning. Then it could
point to the start of sub-table.
For example, to MADT table, the table_size is sizeof(struct
acpi_table_madt).

Thanks,
-- 
Shannon


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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