[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] i386: Add an ACPI_EXTRACT_NAME_BUFFER16 dir
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] i386: Add an ACPI_EXTRACT_NAME_BUFFER16 directive. |
Date: |
Sun, 14 Sep 2014 10:48:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
Il 14/09/2014 08:25, Gal Hammer ha scritto:
> Add a 16-bytes buffer to allow storing a 128-bit UUID value in an
> ACPI table.
>
> Signed-off-by: Gal Hammer <address@hidden>
> ---
> scripts/acpi_extract.py | 23 ++++++++++++++---------
> 1 file changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/scripts/acpi_extract.py b/scripts/acpi_extract.py
> index 22ea468..88314fc 100755
> --- a/scripts/acpi_extract.py
> +++ b/scripts/acpi_extract.py
> @@ -139,13 +139,16 @@ def aml_name_string(offset):
> offset += 1
> return offset;
>
> -# Given data offset, find 8 byte buffer offset
> -def aml_data_buffer8(offset):
> - #0x08 NameOp NameString DataRef
> - expect = [0x11, 0x0B, 0x0A, 0x08]
> +# Given data offset, find variable length byte buffer offset
> +def aml_data_buffer(offset, length):
> + #0x11 PkgLength BufferSize ByteList
> + if (length > 63):
> + die( "Name offset 0x%x: expected an one byte PkgLength (length<=63)"
> %
s/an/a/
> + (offset));
> + expect = [0x11, length+3, 0x0A, length]
> if (aml[offset:offset+4] != expect):
> die( "Name offset 0x%x: expected %s actual %s" %
> - (offset, aml[offset:offset+4], expect))
> + (offset, expect, aml[offset:offset+4]))
> return offset + len(expect)
>
> # Given data offset, find dword const offset
> @@ -172,9 +175,9 @@ def aml_data_byte_const(offset):
> (offset, aml[offset]));
> return offset + 1;
>
> -# Find name'd buffer8
> -def aml_name_buffer8(offset):
> - return aml_data_buffer8(aml_name_string(offset) + 4)
> +# Find name'd buffer
> +def aml_name_buffer(offset, length):
> + return aml_data_buffer(aml_name_string(offset) + 4, length)
>
> # Given name offset, find dword const offset
> def aml_name_dword_const(offset):
> @@ -308,7 +311,9 @@ for i in range(len(asl)):
> output[array] = aml
> continue
> if (directive == "ACPI_EXTRACT_NAME_BUFFER8"):
> - offset = aml_name_buffer8(offset)
> + offset = aml_name_buffer(offset, 8)
> + elif (directive == "ACPI_EXTRACT_NAME_BUFFER16"):
> + offset = aml_name_buffer(offset, 16)
> elif (directive == "ACPI_EXTRACT_NAME_DWORD_CONST"):
> offset = aml_name_dword_const(offset)
> elif (directive == "ACPI_EXTRACT_NAME_WORD_CONST"):
>
Apart from the above grammatical nit,
Reviewed-by: Paolo Bonzini <address@hidden>
Paolo