diff options
Diffstat (limited to 'src/acpi')
-rw-r--r-- | src/acpi/acpigen.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/acpi/acpigen.c b/src/acpi/acpigen.c index 7afb839e5d..08915a9ea7 100644 --- a/src/acpi/acpigen.c +++ b/src/acpi/acpigen.c @@ -1402,6 +1402,33 @@ void acpigen_write_not(uint8_t arg, uint8_t res) acpigen_emit_byte(res); } +/* Concatenate (str1, str2, res) */ +void acpigen_concatenate_string_string(const char *str1, const char *str2, uint8_t res) +{ + acpigen_emit_byte(CONCATENATE_OP); + acpigen_write_string(str1); + acpigen_write_string(str2); + acpigen_emit_byte(res); +} + +/* Concatenate (str, val, tmp_res) */ +void acpigen_concatenate_string_int(const char *str, uint64_t val, uint8_t res) +{ + acpigen_emit_byte(CONCATENATE_OP); + acpigen_write_string(str); + acpigen_write_integer(val); + acpigen_emit_byte(res); +} + +/* Concatenate (str, src_res, dest_res) */ +void acpigen_concatenate_string_op(const char *str, uint8_t src_res, uint8_t dest_res) +{ + acpigen_emit_byte(CONCATENATE_OP); + acpigen_write_string(str); + acpigen_emit_byte(src_res); + acpigen_emit_byte(dest_res); +} + /* Store (str, DEBUG) */ void acpigen_write_debug_string(const char *str) { @@ -1434,6 +1461,33 @@ void acpigen_write_debug_namestr(const char *str) acpigen_emit_ext_op(DEBUG_OP); } +/* Concatenate (str1, str2, tmp_res) + Store(tmp_res, DEBUG) */ +void acpigen_write_debug_concatenate_string_string(const char *str1, const char *str2, + uint8_t tmp_res) +{ + acpigen_concatenate_string_string(str1, str2, tmp_res); + acpigen_write_debug_op(tmp_res); +} + +/* Concatenate (str1, val, tmp_res) + Store(tmp_res, DEBUG) */ +void acpigen_write_debug_concatenate_string_int(const char *str, uint64_t val, + uint8_t tmp_res) +{ + acpigen_concatenate_string_int(str, val, tmp_res); + acpigen_write_debug_op(tmp_res); +} + +/* Concatenate (str1, res, tmp_res) + Store(tmp_res, DEBUG) */ +void acpigen_write_debug_concatenate_string_op(const char *str, uint8_t res, + uint8_t tmp_res) +{ + acpigen_concatenate_string_op(str, res, tmp_res); + acpigen_write_debug_op(tmp_res); +} + void acpigen_write_if(void) { acpigen_emit_byte(IF_OP); |