vboot: makeshift debug info screen
Provide makeshift debug info functionality while implementation
of the proper screen is in progress.
BUG=b:146399181, b:144969088
TEST=Build and flash; check <TAB> functionality
TEST=make clean && make runtests
BRANCH=none
Cq-Depend: chromium:2253732
Signed-off-by: Joel Kitching <kitching@google.com>
Change-Id: I0a738f731361d1c344c8fc8f5ecdef5b892f5ba7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2253733
Tested-by: Joel Kitching <kitching@chromium.org>
Reviewed-by: Hsuan Ting Chen <roccochen@chromium.org>
Reviewed-by: Shelley Chen <shchen@chromium.org>
Commit-Queue: Shelley Chen <shchen@chromium.org>
diff --git a/firmware/2lib/2ui.c b/firmware/2lib/2ui.c
index ee0da1f..96a7b93 100644
--- a/firmware/2lib/2ui.c
+++ b/firmware/2lib/2ui.c
@@ -15,6 +15,7 @@
#include "2ui_private.h"
#include "vboot_api.h" /* For VB_SHUTDOWN_REQUEST_POWER_BUTTON */
#include "vboot_kernel.h"
+#include "vboot_ui_legacy.h" /* TODO(b/144969088): VbDisplayDebugInfo */
#define KEY_DELAY_MS 20 /* Delay between key scans in UI loops */
@@ -324,6 +325,10 @@
(DETACHABLE && ui->key == VB_BUTTON_VOL_DOWN_LONG_PRESS))
return vb2_ui_developer_mode_boot_internal_action(ui);
+ /* TODO(b/144969088): Re-implement as debug info screen. */
+ if (ui->key == '\t')
+ VbDisplayDebugInfo(ui->ctx);
+
return VB2_REQUEST_UI_CONTINUE;
}
@@ -332,7 +337,16 @@
vb2_error_t vb2_broken_recovery_menu(struct vb2_context *ctx)
{
- return ui_loop(ctx, VB2_SCREEN_RECOVERY_BROKEN, NULL);
+ return ui_loop(ctx, VB2_SCREEN_RECOVERY_BROKEN, broken_recovery_action);
+}
+
+vb2_error_t broken_recovery_action(struct vb2_ui_context *ui)
+{
+ /* TODO(b/144969088): Re-implement as debug info screen. */
+ if (ui->key == '\t')
+ VbDisplayDebugInfo(ui->ctx);
+
+ return VB2_REQUEST_UI_CONTINUE;
}
/*****************************************************************************/
@@ -366,5 +380,9 @@
(DETACHABLE && ui->key == VB_BUTTON_VOL_UP_DOWN_COMBO_PRESS))
return vb2_ui_change_screen(ui, VB2_SCREEN_RECOVERY_TO_DEV);
+ /* TODO(b/144969088): Re-implement as debug info screen. */
+ if (ui->key == '\t')
+ VbDisplayDebugInfo(ui->ctx);
+
return VB2_REQUEST_UI_CONTINUE;
}
diff --git a/firmware/2lib/include/2ui_private.h b/firmware/2lib/include/2ui_private.h
index e1e47af..effa280 100644
--- a/firmware/2lib/include/2ui_private.h
+++ b/firmware/2lib/include/2ui_private.h
@@ -17,6 +17,7 @@
vb2_error_t ui_loop(struct vb2_context *ctx, enum vb2_screen root_screen_id,
vb2_error_t (*global_action)(struct vb2_ui_context *ui));
vb2_error_t developer_action(struct vb2_ui_context *ui);
+vb2_error_t broken_recovery_action(struct vb2_ui_context *ui);
vb2_error_t manual_recovery_action(struct vb2_ui_context *ui);
/* From 2ui_screens.c */