hw/uefi: add 'info firmware-log' hmp monitor command.
This adds the hmp variant of the query-firmware-log qmp command. Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-ID: <20251017115006.2696991-3-kraxel@redhat.com>
This commit is contained in:
parent
1b2fda5916
commit
c8aa812031
3 changed files with 41 additions and 0 deletions
|
|
@ -995,3 +995,16 @@ SRST
|
|||
``info cryptodev``
|
||||
Show the crypto devices.
|
||||
ERST
|
||||
|
||||
{
|
||||
.name = "firmware-log",
|
||||
.args_type = "",
|
||||
.params = "",
|
||||
.help = "show the firmware (ovmf) debug log",
|
||||
.cmd = hmp_info_firmware_log,
|
||||
},
|
||||
|
||||
SRST
|
||||
``info firmware-log``
|
||||
Show the firmware (ovmf) debug log.
|
||||
ERST
|
||||
|
|
|
|||
|
|
@ -231,3 +231,30 @@ FirmwareLog *qmp_query_firmware_log(Error **errp)
|
|||
ret->log = g_base64_encode((const guchar *)log->str, log->len);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void hmp_info_firmware_log(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
g_autofree gchar *log_esc = NULL;
|
||||
g_autofree guchar *log_out = NULL;
|
||||
Error *err = NULL;
|
||||
FirmwareLog *log;
|
||||
gsize log_len;
|
||||
|
||||
log = qmp_query_firmware_log(&err);
|
||||
if (err) {
|
||||
hmp_handle_error(mon, err);
|
||||
return;
|
||||
}
|
||||
|
||||
g_assert(log != NULL);
|
||||
g_assert(log->log != NULL);
|
||||
|
||||
if (log->version) {
|
||||
g_autofree gchar *esc = g_strescape(log->version, NULL);
|
||||
monitor_printf(mon, "[ firmware version: %s ]\n", esc);
|
||||
}
|
||||
|
||||
log_out = g_base64_decode(log->log, &log_len);
|
||||
log_esc = g_strescape((gchar *)log_out, "\r\n");
|
||||
monitor_printf(mon, "%s\n", log_esc);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,5 +179,6 @@ void hmp_boot_set(Monitor *mon, const QDict *qdict);
|
|||
void hmp_info_mtree(Monitor *mon, const QDict *qdict);
|
||||
void hmp_info_cryptodev(Monitor *mon, const QDict *qdict);
|
||||
void hmp_dumpdtb(Monitor *mon, const QDict *qdict);
|
||||
void hmp_info_firmware_log(Monitor *mon, const QDict *qdict);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue