qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH V15 3/5] aml: implement a 32-bit fixed memory range


From: Gal Hammer
Subject: [Qemu-devel] [PATCH V15 3/5] aml: implement a 32-bit fixed memory range descriptor
Date: Mon, 27 Apr 2015 14:19:49 +0300

Signed-off-by: Gal Hammer <address@hidden>
---
 hw/acpi/aml-build.c         | 18 ++++++++++++++++++
 include/hw/acpi/aml-build.h |  3 +++
 2 files changed, 21 insertions(+)

diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
index d7945f6..038384f 100644
--- a/hw/acpi/aml-build.c
+++ b/hw/acpi/aml-build.c
@@ -891,3 +891,21 @@ Aml *aml_qword_memory(AmlDecode dec, AmlMinFixed min_fixed,
                              dec, addr_gran, addr_min, addr_max,
                              addr_trans, len, flags);
 }
+
+Aml *aml_memory32_fixed(AmlReadAndWrite read_and_write,
+                        uint32_t addr_base, uint32_t addr_len)
+{
+    Aml *var = aml_alloc();
+
+    /* 32-bit Fixed Memory Range Descriptor */
+    build_append_byte(var->buf, 0x86);
+    /* minimum length since we do not encode optional fields */
+    build_append_byte(var->buf, 0x9);
+    build_append_byte(var->buf, 0x0);
+
+    build_append_byte(var->buf, !!read_and_write & 1);
+    build_append_int_noprefix(var->buf, addr_base, sizeof(addr_base));
+    build_append_int_noprefix(var->buf, addr_len, sizeof(addr_len));
+
+    return var;
+}
diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
index 17d3beb..e3cdd70 100644
--- a/include/hw/acpi/aml-build.h
+++ b/include/hw/acpi/aml-build.h
@@ -177,6 +177,9 @@ Aml *aml_qword_memory(AmlDecode dec, AmlMinFixed min_fixed,
                       uint64_t addr_max, uint64_t addr_trans,
                       uint64_t len);
 
+Aml *aml_memory32_fixed(AmlReadAndWrite read_and_write,
+                        uint32_t addr_base, uint32_t addr_len);
+
 /* Block AML object primitives */
 Aml *aml_scope(const char *name_format, ...) GCC_FMT_ATTR(1, 2);
 Aml *aml_device(const char *name_format, ...) GCC_FMT_ATTR(1, 2);
-- 
2.1.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]