summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/vbexport/display.c20
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;
}