[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro
From: |
Shannon Zhao |
Subject: |
Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro |
Date: |
Tue, 28 Apr 2015 17:48:50 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
On 2015/4/28 17:35, Igor Mammedov wrote:
> On Tue, 28 Apr 2015 16:52:19 +0800
> Shannon Zhao <address@hidden> wrote:
>
>> On 2015/4/28 16:15, Igor Mammedov wrote:
>>>>> btw:
>>>>>>> whole thing might be simpler if an intermediate conversion is avoided,
>>>>>>> just pack buffer as in spec byte by byte:
>>>>>>>
>>>>>>> /* format: aabbccdd-eeff-gghh-iijj-kkllmmnnoopp */
>>>>>>> assert(strlen(uuid) == ...);
>>>>>>> build_append_byte(var->buf, HEX2BYTE(uuid[3]); /* dd */
>>>>>
>>>>> use build_append_byte(var->buf, HEX2BYTE(uuid + 7); ?
>>>>>
>>>>>>> build_append_byte(var->buf, HEX2BYTE(uuid[2]); /* cc */
>>>>>
>>>>> use build_append_byte(var->buf, HEX2BYTE(uuid + 5); ?
>>> if you mean hyphens /-/ then they are not encoded,
>>> but you surely can add checks for them to make sure that
>>> UUID format is as expected.
>>>
>>
>> I mean uuid[3] points to b not dd. Maybe use following way:
>>
>> static uint8_t Hex2Byte(char *src)
> or even better:
> Hex2Byte(char *src, byte_idx)
> and do pointer arithmetic inside
>
> [...]
>> build_append_byte(var->buf, Hex2Byte(uuid + (3 * 2))); /* dd */
> build_append_byte(var->buf, Hex2Byte(uuid, 3)); /* dd - at offset 00 */
> build_append_byte(var->buf, Hex2Byte(uuid, 2)); /* cc - at offset 01 */
> ...
>
Yes, it's better to first four bytes. But there are hyphens /-/, for
offset 04, 05 and etc it doesn't work. We can't use following expression:
build_append_byte(var->buf, Hex2Byte(uuid, 5)); /* ff - at offset 04 */
build_append_byte(var->buf, Hex2Byte(uuid, 4)); /* ee - at offset 05 */
...
- [Qemu-devel] [PATCH v5 12/20] hw/arm/virt-acpi-build: Add PCIe info and generate MCFG table, (continued)
- [Qemu-devel] [PATCH v5 12/20] hw/arm/virt-acpi-build: Add PCIe info and generate MCFG table, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 10/20] hw/arm/virt-acpi-build: Generate RSDT table, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 16/20] hw/acpi/aml-build: Add aml_else() term, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 09/20] hw/arm/virt-acpi-build: Generate GTDT table, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Shannon Zhao, 2015/04/15
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Igor Mammedov, 2015/04/28
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Shannon Zhao, 2015/04/28
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Igor Mammedov, 2015/04/28
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Shannon Zhao, 2015/04/28
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Igor Mammedov, 2015/04/28
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro,
Shannon Zhao <=
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Shannon Zhao, 2015/04/29
- Re: [Qemu-devel] [PATCH v5 13/20] hw/acpi/aml-build: Add ToUUID macro, Shannon Zhao, 2015/04/28
[Qemu-devel] [PATCH v5 14/20] hw/acpi/aml-build: Add aml_or() term, Shannon Zhao, 2015/04/15
[Qemu-devel] [PATCH v5 11/20] hw/arm/virt-acpi-build: Generate RSDP table, Shannon Zhao, 2015/04/15
[Qemu-devel] [PATCH v5 15/20] hw/acpi/aml-build: Add aml_not() term, Shannon Zhao, 2015/04/15
[Qemu-devel] [PATCH v5 08/20] hw/arm/virt-acpi-build: Generate MADT table, Shannon Zhao, 2015/04/15
[Qemu-devel] [PATCH v5 07/20] hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers, Shannon Zhao, 2015/04/15
[Qemu-devel] [PATCH v5 20/20] hw/arm/virt: Enable dynamic generation of ACPI v5.1 tables, Shannon Zhao, 2015/04/15