[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 20/52] acpi: add aml_call1(), aml_call2(), aml_ca
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH v3 20/52] acpi: add aml_call1(), aml_call2(), aml_call3(), aml_call4() helpers |
Date: |
Mon, 9 Feb 2015 10:53:42 +0000 |
Signed-off-by: Igor Mammedov <address@hidden>
---
hw/acpi/aml-build.c | 42 ++++++++++++++++++++++++++++++++++++++++++
include/hw/acpi/aml-build.h | 4 ++++
2 files changed, 46 insertions(+)
diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
index c5feb61..0328a57 100644
--- a/hw/acpi/aml-build.c
+++ b/hw/acpi/aml-build.c
@@ -476,6 +476,48 @@ Aml *aml_notify(Aml *arg1, Aml *arg2)
return var;
}
+/* helper to call method with 1 argument */
+Aml *aml_call1(const char *method, Aml *arg1)
+{
+ Aml *var = aml_alloc();
+ build_append_namestring(var->buf, "%s", method);
+ aml_append(var, arg1);
+ return var;
+}
+
+/* helper to call method with 2 arguments */
+Aml *aml_call2(const char *method, Aml *arg1, Aml *arg2)
+{
+ Aml *var = aml_alloc();
+ build_append_namestring(var->buf, "%s", method);
+ aml_append(var, arg1);
+ aml_append(var, arg2);
+ return var;
+}
+
+/* helper to call method with 3 arguments */
+Aml *aml_call3(const char *method, Aml *arg1, Aml *arg2, Aml *arg3)
+{
+ Aml *var = aml_alloc();
+ build_append_namestring(var->buf, "%s", method);
+ aml_append(var, arg1);
+ aml_append(var, arg2);
+ aml_append(var, arg3);
+ return var;
+}
+
+/* helper to call method with 4 arguments */
+Aml *aml_call4(const char *method, Aml *arg1, Aml *arg2, Aml *arg3, Aml *arg4)
+{
+ Aml *var = aml_alloc();
+ build_append_namestring(var->buf, "%s", method);
+ aml_append(var, arg1);
+ aml_append(var, arg2);
+ aml_append(var, arg3);
+ aml_append(var, arg4);
+ return var;
+}
+
/* ACPI 1.0b: 16.2.5.3 Type 1 Opcodes Encoding: DefIfElse */
Aml *aml_if(Aml *predicate)
{
diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
index 564517b..cd06669 100644
--- a/include/hw/acpi/aml-build.h
+++ b/include/hw/acpi/aml-build.h
@@ -78,6 +78,10 @@ Aml *aml_arg(int pos);
Aml *aml_store(Aml *val, Aml *target);
Aml *aml_and(Aml *arg1, Aml *arg2);
Aml *aml_notify(Aml *arg1, Aml *arg2);
+Aml *aml_call1(const char *method, Aml *arg1);
+Aml *aml_call2(const char *method, Aml *arg1, Aml *arg2);
+Aml *aml_call3(const char *method, Aml *arg1, Aml *arg2, Aml *arg3);
+Aml *aml_call4(const char *method, Aml *arg1, Aml *arg2, Aml *arg3, Aml *arg4);
/* Block AML object primitives */
Aml *aml_def_block(const char *signature, uint8_t revision,
--
1.8.3.1
- Re: [Qemu-devel] [PATCH v3 04/52] acpi: factor out ACPI const int packing out of build_append_value(), (continued)
[Qemu-devel] [PATCH v3 11/52] acpi: add aml_if() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 16/52] acpi: add aml_arg() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 13/52] acpi: extend build_append_{value|int}() to support 64-bit values, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 12/52] acpi: add aml_name() & aml_name_decl() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 19/52] acpi: add aml_notify() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 15/52] acpi: add aml_return() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 14/52] acpi: add aml_int() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 20/52] acpi: add aml_call1(), aml_call2(), aml_call3(), aml_call4() helpers,
Igor Mammedov <=
[Qemu-devel] [PATCH v3 17/52] acpi: add aml_store() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 22/52] acpi: add aml_package() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 18/52] acpi: add aml_and() term, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 21/52] pc: acpi-build: drop template patching and create PCI bus tree dynamically, Igor Mammedov, 2015/02/09
[Qemu-devel] [PATCH v3 23/52] pc: acpi-build: drop unsupported PM1b_CNT.SLP_TYP, Igor Mammedov, 2015/02/09