diff options
-rw-r--r-- | lib/vbexport/display.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/vbexport/display.c b/lib/vbexport/display.c index 2de65cd38f9..53189670364 100644 --- a/lib/vbexport/display.c +++ b/lib/vbexport/display.c @@ -18,6 +18,8 @@ #define HAVE_DISPLAY #endif #include <chromeos/common.h> +#include <chromeos/crossystem_data.h> +#include <chromeos/fdt_decode.h> #include <lzma/LzmaTypes.h> #include <lzma/LzmaDec.h> #include <lzma/LzmaTools.h> @@ -187,8 +189,26 @@ VbError_t VbExDisplayImage(uint32_t x, uint32_t y, VbError_t VbExDisplayDebugInfo(const char *info_str) { #ifdef HAVE_DISPLAY + crossystem_data_t *cdata; + size_t size; + display_callbacks_.dc_position_cursor(0, 0); display_callbacks_.dc_puts(info_str); + + + cdata = fdt_decode_chromeos_alloc_region(gd->blob, "cros-system-data", + &size); + if (!cdata) { + VBDEBUG("cros-system-data missing " + "from fdt, or malloc failed\n"); + return VBERROR_UNKNOWN; + } + + display_callbacks_.dc_puts("read-only firmware id: "); + display_callbacks_.dc_puts((char *)cdata->readonly_firmware_id); + display_callbacks_.dc_puts("\nactive firmware id: "); + display_callbacks_.dc_puts((char *)cdata->firmware_id); + display_callbacks_.dc_puts("\n"); #endif return VBERROR_SUCCESS; } |