diff options
author | Cliff Huang <cliff.huang@intel.com> | 2023-01-19 21:18:23 -0800 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-01-27 14:47:10 +0000 |
commit | e608308adebc058f47eb7c51721ae0f077018691 (patch) | |
tree | e5a7db7dfea09207fbb7029913685dcf623e3a20 /src/include/acpi | |
parent | 5f4f1b8558948feae88320bae9101e99d21608e2 (diff) |
src/acpi: add debug message with concatenated string
add functions for concatenate OP
add debug message containing concatenated string with string, value, or
OPs
Ex1: to print string with another string provided from C side:
acpigen_write_debug_concatenate_string_string("Wait loop Timeout! var=",
name, LOCAL6_OP);
will generate:
Concatenate ("Wait loop Timeout! var=", "L23E", Local6)
Debug = Local6
Ex2: to print string with a value:
acpigen_write_debug_concatenate_string_int("ModPHY enabling for RP:",
pcie_rp, LOCAL0_OP);
will generate:
Concatenate ("ModPHY enabling for RP:", 0x05, Local0)
Debug = Local0
Ex3: to print string with an ACPI OP:
acpigen_write_debug_concatenate_string_op("while Loop count: ",
LOCAL7_OP, LOCAL6_OP)
will generate:
Concatenate ("while Loop count: ", Local7, Local6)
Debug = Local6
TEST=Add above functions in the acpigen code and check the generated
SSDT table after OS boot
Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: I370745efe3d6b513ec2c5376248362a3eb4b3d21
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72126
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Bora Guvendik <bora.guvendik@intel.com>
Diffstat (limited to 'src/include/acpi')
-rw-r--r-- | src/include/acpi/acpigen.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/include/acpi/acpigen.h b/src/include/acpi/acpigen.h index 789dd47dcd..bb36707f9c 100644 --- a/src/include/acpi/acpigen.h +++ b/src/include/acpi/acpigen.h @@ -485,10 +485,18 @@ void acpigen_write_or(uint8_t arg1, uint8_t arg2, uint8_t res); void acpigen_write_xor(uint8_t arg1, uint8_t arg2, uint8_t res); void acpigen_write_and(uint8_t arg1, uint8_t arg2, uint8_t res); void acpigen_write_not(uint8_t arg, uint8_t res); +void acpigen_concatenate_string_string(const char *str1, const char *str2, uint8_t res); +void acpigen_concatenate_string_int(const char *str, uint64_t val, uint8_t res); +void acpigen_concatenate_string_op(const char *str, uint8_t src_res, uint8_t dest_res); void acpigen_write_debug_string(const char *str); void acpigen_write_debug_namestr(const char *str); void acpigen_write_debug_integer(uint64_t val); void acpigen_write_debug_op(uint8_t op); +void acpigen_write_debug_concatenate_string_string(const char *str1, const char *str2, + uint8_t tmp_res); +void acpigen_write_debug_concatenate_string_int(const char *str1, uint64_t val, + uint8_t tmp_res); +void acpigen_write_debug_concatenate_string_op(const char *str1, uint8_t res, uint8_t tmp_res); void acpigen_write_if(void); void acpigen_write_if_and(uint8_t arg1, uint8_t arg2); void acpigen_write_if_lequal_op_op(uint8_t op, uint8_t val); |