summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2020-10-06 21:01:51 +0000
committerDuncan Laurie <dlaurie@chromium.org>2020-10-21 22:24:11 +0000
commit36858208e6e06fdda2698e9a66a8e27f6d9acd24 (patch)
tree0c1f6703c9037b495a72368474952647baebe0a3 /src
parent8e391d3452902ac1a71124118e811eaf378d0779 (diff)
acpigen: Add ShiftLeft function helper
Provide a helper function for the ACPI shift left operator that uses the same operator for the source and result. ShiftLeft (OP, count, OP) Signed-off-by: Duncan Laurie <dlaurie@google.com> Change-Id: I66ee89bd1c4be583d0e892b02535bfa9514d488a Reviewed-on: https://review.coreboot.org/c/coreboot/+/46256 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r--src/acpi/acpigen.c8
-rw-r--r--src/include/acpi/acpigen.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/acpi/acpigen.c b/src/acpi/acpigen.c
index ee7c90cf01..0ed3708016 100644
--- a/src/acpi/acpigen.c
+++ b/src/acpi/acpigen.c
@@ -1381,6 +1381,14 @@ void acpigen_write_else(void)
acpigen_write_len_f();
}
+void acpigen_write_shiftleft_op_int(uint8_t src_result, uint64_t count)
+{
+ acpigen_emit_byte(SHIFT_LEFT_OP);
+ acpigen_emit_byte(src_result);
+ acpigen_write_integer(count);
+ acpigen_emit_byte(ZERO_OP);
+}
+
void acpigen_write_to_buffer(uint8_t src, uint8_t dst)
{
acpigen_emit_byte(TO_BUFFER_OP);
diff --git a/src/include/acpi/acpigen.h b/src/include/acpi/acpigen.h
index e44326790b..cb9e9c97ab 100644
--- a/src/include/acpi/acpigen.h
+++ b/src/include/acpi/acpigen.h
@@ -378,6 +378,7 @@ void acpigen_write_if_lequal_op_op(uint8_t op, uint8_t val);
void acpigen_write_if_lequal_op_int(uint8_t op, uint64_t val);
void acpigen_write_if_lequal_namestr_int(const char *namestr, uint64_t val);
void acpigen_write_else(void);
+void acpigen_write_shiftleft_op_int(uint8_t src_result, uint64_t count);
void acpigen_write_to_buffer(uint8_t src, uint8_t dst);
void acpigen_write_to_integer(uint8_t src, uint8_t dst);
void acpigen_write_to_integer_from_namestring(const char *source, uint8_t dst_op);