[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 16/20] hw/acpi/aml-build: Add aml_else() term
From: |
Shannon Zhao |
Subject: |
Re: [Qemu-devel] [PATCH v4 16/20] hw/acpi/aml-build: Add aml_else() term |
Date: |
Tue, 14 Apr 2015 14:38:18 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
On 2015/4/14 13:56, Michael S. Tsirkin wrote:
> On Mon, Apr 13, 2015 at 04:55:13PM +0100, Alex Bennée wrote:
>>
>> Shannon Zhao <address@hidden> writes:
>>
>>> From: Shannon Zhao <address@hidden>
>>>
>>> Signed-off-by: Shannon Zhao <address@hidden>
>>> Signed-off-by: Shannon Zhao <address@hidden>
>>
>> I was considering if the magic numbers should be defined somewhere but I
>> guess that is the point of the stub functions.
>
> I don't think so: wrappers make sure each is used
> only once. enums would just obfuscate code.
> comments are better in that they match the language
> used in the acpi spec, exactly.
>
I think this has nothing to do with the Opcode used once or other.
Maybe the Opcodes should be defined at one place, then have a whole
scope of the Opcodes and drop the magic numbers.
>> Reviewed-by: Alex Bennée <address@hidden>
>
>>
>>> ---
>>> hw/acpi/aml-build.c | 7 +++++++
>>> include/hw/acpi/aml-build.h | 1 +
>>> 2 files changed, 8 insertions(+)
>>>
>>> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
>>> index 4f936f7..9b8b422 100644
>>> --- a/hw/acpi/aml-build.c
>>> +++ b/hw/acpi/aml-build.c
>>> @@ -626,6 +626,13 @@ Aml *aml_if(Aml *predicate)
>>> return var;
>>> }
>>>
>>> +/* ACPI 1.0: 16.2.3 Operators: DefElse */
>>> +Aml *aml_else(void)
>>> +{
>>> + Aml *var = aml_bundle(0xA1 /* ElseOp */, AML_PACKAGE);
>>> + return var;
>>> +}
>>> +
>>> /* ACPI 1.0b: 16.2.5.2 Named Objects Encoding: DefMethod */
>>> Aml *aml_method(const char *name, int arg_count)
>>> {
>>> diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
>>> index 6b407d5..3901515 100644
>>> --- a/include/hw/acpi/aml-build.h
>>> +++ b/include/hw/acpi/aml-build.h
>>> @@ -206,6 +206,7 @@ Aml *aml_scope(const char *name_format, ...)
>>> GCC_FMT_ATTR(1, 2);
>>> Aml *aml_device(const char *name_format, ...) GCC_FMT_ATTR(1, 2);
>>> Aml *aml_method(const char *name, int arg_count);
>>> Aml *aml_if(Aml *predicate);
>>> +Aml *aml_else(void);
>>> Aml *aml_package(uint8_t num_elements);
>>> Aml *aml_buffer(void);
>>> Aml *aml_resource_template(void);
>>
>> --
>> Alex Bennée
>
>
> .
>
[Qemu-devel] [PATCH v4 03/20] hw/arm/virt-acpi-build: Basic framework for building ACPI tables on ARM, Shannon Zhao, 2015/04/03
[Qemu-devel] [PATCH v4 15/20] hw/acpi/aml-build: Add aml_not() term, Shannon Zhao, 2015/04/03
[Qemu-devel] [PATCH v4 05/20] hw/acpi/aml-build: Add aml_interrupt() term, Shannon Zhao, 2015/04/03