summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2020-09-30 23:17:41 +0000
committerDuncan Laurie <dlaurie@chromium.org>2020-10-21 22:24:03 +0000
commit8e391d3452902ac1a71124118e811eaf378d0779 (patch)
treef5890e7d042dbf48b26580da3637cd61367cd0c2
parent095bbf969d47a06388be65e944352f1936c4e1f2 (diff)
acpigen: Add helpers for common Store operations
Add helpers for some store operations: Store(INTEGER, NAME) ex: Store (100, SAVE) Store(INTEGER, OP) ex: Store (100, Local0) Change-Id: Ia1b3f451acbfb2fc50180a8dcd96db24d330c946 Signed-off-by: Duncan Laurie <dlaurie@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46255 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/acpi/acpigen.c16
-rw-r--r--src/include/acpi/acpigen.h2
2 files changed, 18 insertions, 0 deletions
diff --git a/src/acpi/acpigen.c b/src/acpi/acpigen.c
index a3beb1054f..ee7c90cf01 100644
--- a/src/acpi/acpigen.c
+++ b/src/acpi/acpigen.c
@@ -1243,6 +1243,22 @@ void acpigen_write_store_op_to_namestr(uint8_t src, const char *dst)
acpigen_emit_namestring(dst);
}
+/* Store (src, "namestr") */
+void acpigen_write_store_int_to_namestr(uint64_t src, const char *dst)
+{
+ acpigen_write_store();
+ acpigen_write_integer(src);
+ acpigen_emit_namestring(dst);
+}
+
+/* Store (src, dst) */
+void acpigen_write_store_int_to_op(uint64_t src, uint8_t dst)
+{
+ acpigen_write_store();
+ acpigen_write_integer(src);
+ acpigen_emit_byte(dst);
+}
+
/* Or (arg1, arg2, res) */
void acpigen_write_or(uint8_t arg1, uint8_t arg2, uint8_t res)
{
diff --git a/src/include/acpi/acpigen.h b/src/include/acpi/acpigen.h
index 10e328b8b8..e44326790b 100644
--- a/src/include/acpi/acpigen.h
+++ b/src/include/acpi/acpigen.h
@@ -361,6 +361,8 @@ void acpigen_write_power_res(const char *name, uint8_t level, uint16_t order,
const char * const dev_states[], size_t dev_states_count);
void acpigen_write_sleep(uint64_t sleep_ms);
void acpigen_write_store(void);
+void acpigen_write_store_int_to_namestr(uint64_t src, const char *dst);
+void acpigen_write_store_int_to_op(uint64_t src, uint8_t dst);
void acpigen_write_store_ops(uint8_t src, uint8_t dst);
void acpigen_write_store_op_to_namestr(uint8_t src, const char *dst);
void acpigen_write_or(uint8_t arg1, uint8_t arg2, uint8_t res);