From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [Qemu-devel] [PATCH v7 03/35] acpi: add aml_create_field Date: Tue, 3 Nov 2015 22:52:14 +0800 Message-ID: <5638CA1E.1090103@linux.intel.com> References: <1446455617-129562-1-git-send-email-guangrong.xiao@linux.intel.com> <1446455617-129562-4-git-send-email-guangrong.xiao@linux.intel.com> <563850DF.3070003@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: vsementsov@virtuozzo.com, ehabkost@redhat.com, kvm@vger.kernel.org, mst@redhat.com, gleb@kernel.org, mtosatti@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, dan.j.williams@intel.com, rth@twiddle.net To: Shannon Zhao , pbonzini@redhat.com, imammedo@redhat.com Return-path: Received: from mga02.intel.com ([134.134.136.20]:34746 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751568AbbKCO7A (ORCPT ); Tue, 3 Nov 2015 09:59:00 -0500 In-Reply-To: <563850DF.3070003@huawei.com> Sender: kvm-owner@vger.kernel.org List-ID: On 11/03/2015 02:14 PM, Shannon Zhao wrote: > > > On 2015/11/2 17:13, Xiao Guangrong wrote: >> Implement CreateField term which is used by NVDIMM _DSM method in later patch >> >> Signed-off-by: Xiao Guangrong >> --- >> hw/acpi/aml-build.c | 13 +++++++++++++ >> include/hw/acpi/aml-build.h | 1 + >> 2 files changed, 14 insertions(+) >> >> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c >> index a72214d..9fe5e7b 100644 >> --- a/hw/acpi/aml-build.c >> +++ b/hw/acpi/aml-build.c >> @@ -1151,6 +1151,19 @@ Aml *aml_sizeof(Aml *arg) >> return var; >> } >> >> +/* ACPI 1.0b: 16.2.5.2 Named Objects Encoding: DefCreateField */ >> +Aml *aml_create_field(Aml *srcbuf, Aml *index, Aml *len, const char *name) >> +{ >> + Aml *var = aml_alloc(); >> + build_append_byte(var->buf, 0x5B); /* ExtOpPrefix */ >> + build_append_byte(var->buf, 0x13); /* CreateFieldOp */ >> + aml_append(var, srcbuf); >> + aml_append(var, index); >> + aml_append(var, len); >> + build_append_namestring(var->buf, "%s", name); >> + return var; >> +} >> + >> void >> build_header(GArray *linker, GArray *table_data, >> AcpiTableHeader *h, const char *sig, int len, uint8_t rev) >> diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h >> index 7296efb..7e1c43b 100644 >> --- a/include/hw/acpi/aml-build.h >> +++ b/include/hw/acpi/aml-build.h >> @@ -276,6 +276,7 @@ Aml *aml_touuid(const char *uuid); >> Aml *aml_unicode(const char *str); >> Aml *aml_derefof(Aml *arg); >> Aml *aml_sizeof(Aml *arg); >> +Aml *aml_create_field(Aml *srcbuf, Aml *index, Aml *len, const char *name); >> > Maybe this could be moved together with existing aml_create_dword_field. Not bad, will do. :) > >> void >> build_header(GArray *linker, GArray *table_data, >> >