qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] Allow additions of ACPI tables from command


From: Gleb Natapov
Subject: Re: [Qemu-devel] [PATCH v2] Allow additions of ACPI tables from command line
Date: Tue, 17 Feb 2009 09:29:01 +0200

On Mon, Feb 16, 2009 at 09:27:26AM -0600, Anthony Liguori wrote:
> Gleb Natapov wrote:
>> This is needed to dynamically add SLIC tables with Windows
>> activation keys.
>>
>> Signed-off-by: Gleb Natapov <address@hidden>
>> diff --git a/hw/acpi.c b/hw/acpi.c
>> index 4338d02..7175598 100644
>> --- a/hw/acpi.c
>> +++ b/hw/acpi.c
>> @@ -561,3 +561,170 @@ void qemu_system_powerdown(void)
>>      }
>>  }
>>  #endif
>> +
>> +struct acpi_table_header
>> +{
>> +    char signature [4];    /* ACPI signature (4 ASCII characters) */
>> +    uint32_t length;          /* Length of table, in bytes, including 
>> header */
>> +    uint8_t revision;         /* ACPI Specification minor version # */
>> +    uint8_t checksum;         /* To make sum of entire table == 0 */
>> +    char oem_id [6];       /* OEM identification */
>> +    char oem_table_id [8]; /* OEM table identification */
>> +    uint32_t oem_revision;    /* OEM revision number */
>> +    char asl_compiler_id [4]; /* ASL compiler vendor ID */
>> +    uint32_t asl_compiler_revision; /* ASL compiler revision number */
>> +};
>>   
>
> I don't have a lot of confidence that this table is going to be padded  
> correctly by all compilers on all architectures.  I'd suggest explicit  
> padding.
>
__attribute_((packed)) should be enough, no?

>> +    if (get_param_value(buf, sizeof(buf), "oem_id", t)) {
>> +        strncpy(acpi_hdr.oem_id, buf, 6);
>>   
>
> is oem_id supposed to be NULL terminated or just NULL padded?

ACPI spec rev 3.0b 18.2.1:
OEM ID of up to 6 characters. If the OEM ID is shorter than 6
characters, it can be terminated with a NULL character.

--
                        Gleb.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]