diff options
author | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-11-12 12:01:05 +1100 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-11-16 13:55:29 +1100 |
commit | cf30fdd3100a425f2f01214ca726f0641f844eec (patch) | |
tree | 579c4082794e909d71ea172a1948ed553ed19b17 /discover/platform-powerpc.c | |
parent | 2bc0df4aa35a89c5af7e54f459e2bbde20ca6a7e (diff) | |
download | talos-petitboot-cf30fdd3100a425f2f01214ca726f0641f844eec.tar.gz talos-petitboot-cf30fdd3100a425f2f01214ca726f0641f844eec.zip |
discover: Nicely format IPMI response buffersv1.9.2
A few places where we print out the response buffer from an IPMI command
weren't updated when log timestamps were added, resulting in very hard
to read output. Add a little helper to format buffers and use it to
print these with only one timestamp.
Example:
[04:59:01] ipmi_get_bmc_versions: BMC version resp [0][16]:
0x00 0x20 0x01 0x02 0x13 0x02 0xbf 0x00
0x00 0x00 0xbb 0xaa 0x58 0x98 0x01 0x00
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'discover/platform-powerpc.c')
-rw-r--r-- | discover/platform-powerpc.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index 2929077..f8f3305 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -368,6 +368,7 @@ static int get_ipmi_bootdev_ipmi(struct platform_powerpc *platform, { uint16_t resp_len; uint8_t resp[8]; + char *debug_buf; int rc; uint8_t req[] = { 0x05, /* parameter selector: boot flags */ @@ -392,10 +393,9 @@ static int get_ipmi_bootdev_ipmi(struct platform_powerpc *platform, return -1; } - pb_debug("IPMI get_bootdev response:\n"); - for (int i = 0; i < resp_len; i++) - pb_debug("%x ", resp[i]); - pb_debug("\n"); + debug_buf = format_buffer(platform, resp, resp_len); + pb_debug_fn("IPMI get_bootdev response:\n%s\n", debug_buf); + talloc_free(debug_buf); if (resp[0] != 0) { pb_log("platform: non-zero completion code %d from IPMI req\n", @@ -472,6 +472,7 @@ static void get_ipmi_network_override(struct platform_powerpc *platform, uint16_t min_len = 12, resp_len = 53, version; const uint32_t magic_value = 0x21706221; uint8_t resp[resp_len]; + char *debug_buf; uint32_t cookie; bool persistent; int i, rc; @@ -487,17 +488,9 @@ static void get_ipmi_network_override(struct platform_powerpc *platform, resp, &resp_len, ipmi_timeout); - pb_debug("IPMI net override resp [%d][%d]:\n", rc, resp_len); - if (resp_len > 0) { - for (i = 0; i < resp_len; i++) { - pb_debug(" %02x", resp[i]); - if (i && (i + 1) % 16 == 0 && i != resp_len - 1) - pb_debug("\n"); - else if (i && (i + 1) % 8 == 0) - pb_debug(" "); - } - pb_debug("\n"); - } + debug_buf = format_buffer(platform, resp, resp_len); + pb_debug_fn("IPMI net override response:\n%s\n", debug_buf); + talloc_free(debug_buf); if (rc) { pb_debug("IPMI network config option unavailable\n"); |