diff options
author | Hsuan Ting Chen <roccochen@chromium.org> | 2021-07-05 18:49:20 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-07-16 09:35:45 +0000 |
commit | 71aa26394ac18ec35ea9cbb08392faf8dca4fbcb (patch) | |
tree | 4a6c8449dee713fe654ec48786a9a13c18263e3b | |
parent | 22777bb5d531fac82da05c1fca6f02111b93e286 (diff) | |
download | vboot-71aa26394ac18ec35ea9cbb08392faf8dca4fbcb.tar.gz |
Makefile: deprecate config DIAGNOSTIC_UI
DIAGNOSTIC_UI is indirectly decided by the diag_payload and minidiag use
flag from depthcharge.
But with introducing the diagnostic boot mode, coreboot also needs to
build minidiag utility functions and enable this building flag.
Therefore we consider to deprecate DIAGNOSTIC_UI and always build them.
For diag_payload:
It is for a diagnostic tool which based on legacy UI and deprecated
For minidiag:
Mini-diag is set default enabled for newer devices, and we could still
use kernel secdata in runtime if we decide to disable it on certain
platforms.
In conclusion, deprecating DIAGNOSTIC_UI will not affect newer devices.
BUG=b:190796342, b:181931817
BRANCH=none
TEST=emerge-volteer depthcharge
TEST=emerge-volteer coreboot
TEST=CC=x86_64-pc-linux-gnu-clang;
make clean && make runtests
Cq-Depend: chromium:3004223
Signed-off-by: Hsuan Ting Chen <roccochen@chromium.org>
Change-Id: I0d804bcd9d31d3952c744a1926ac59cde7b7f841
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3006114
Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | firmware/2lib/2ui_screens.c | 2 | ||||
-rw-r--r-- | firmware/lib/vboot_api_kernel.c | 2 | ||||
-rw-r--r-- | tests/vb2_ui_tests.c | 57 | ||||
-rw-r--r-- | tests/vboot_api_kernel4_tests.c | 29 |
5 files changed, 36 insertions, 61 deletions
@@ -235,13 +235,6 @@ else CFLAGS += -DDETACHABLE=0 endif -# pass DIAGNOSTIC_UI= (or =0) to make to disable feature -ifneq ($(filter-out 0,${DIAGNOSTIC_UI}),) -CFLAGS += -DDIAGNOSTIC_UI=1 -else -CFLAGS += -DDIAGNOSTIC_UI=0 -endif - # Confirm physical presence using keyboard ifneq ($(filter-out 0,${PHYSICAL_PRESENCE_KEYBOARD}),) CFLAGS += -DPHYSICAL_PRESENCE_KEYBOARD=1 diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c index 0d4a0693..d2716e32 100644 --- a/firmware/2lib/2ui_screens.c +++ b/firmware/2lib/2ui_screens.c @@ -435,7 +435,7 @@ vb2_error_t recovery_select_init(struct vb2_ui_context *ui) ui->state->selected_item = RECOVERY_SELECT_ITEM_EXTERNAL_DISK; } - if (!DIAGNOSTIC_UI || !vb2api_diagnostic_ui_enabled(ui->ctx)) + if (!vb2api_diagnostic_ui_enabled(ui->ctx)) VB2_SET_BIT(ui->state->hidden_item_mask, RECOVERY_SELECT_ITEM_DIAGNOSTICS); diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c index 799424a2..03025988 100644 --- a/firmware/lib/vboot_api_kernel.c +++ b/firmware/lib/vboot_api_kernel.c @@ -199,7 +199,7 @@ vb2_error_t VbSelectAndLoadKernel(struct vb2_context *ctx, VB2_TRY(vb2_manual_recovery_menu(ctx)); else VB2_TRY(vb2_broken_recovery_menu(ctx)); - } else if (DIAGNOSTIC_UI && vb2api_diagnostic_ui_enabled(ctx) && + } else if (vb2api_diagnostic_ui_enabled(ctx) && vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST)) { /* * Need to clear the request flag and commit nvdata changes diff --git a/tests/vb2_ui_tests.c b/tests/vb2_ui_tests.c index 2feadfa0..657ae5f8 100644 --- a/tests/vb2_ui_tests.c +++ b/tests/vb2_ui_tests.c @@ -1057,18 +1057,15 @@ static void manual_recovery_tests(void) } /* Enter diagnostics */ - if (DIAGNOSTIC_UI) { - /* Launch diagnostics is inside manual recovery */ - reset_common_data(FOR_MANUAL_RECOVERY); - add_mock_keypress(VB_KEY_DOWN); - add_mock_keypress(VB_KEY_DOWN); - add_mock_keypress(VB_KEY_ENTER); - TEST_EQ(vb2_manual_recovery_menu(ctx), - VB2_REQUEST_REBOOT, - "Reboot immediately after request diagnostics"); - TEST_EQ(vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST), 1, - "VB2_NV_DIAG_REQUEST is set"); - } + reset_common_data(FOR_MANUAL_RECOVERY); + add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_ENTER); + TEST_EQ(vb2_manual_recovery_menu(ctx), + VB2_REQUEST_REBOOT, + "Reboot immediately after request diagnostics"); + TEST_EQ(vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST), 1, + "VB2_NV_DIAG_REQUEST is set"); VB2_DEBUG("...done.\n"); } @@ -1232,8 +1229,7 @@ static void firmware_log_tests(void) reset_common_data(FOR_MANUAL_RECOVERY); add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); - if (DIAGNOSTIC_UI) - add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_ENTER); add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); @@ -1249,8 +1245,7 @@ static void firmware_log_tests(void) reset_common_data(FOR_MANUAL_RECOVERY); add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); - if (DIAGNOSTIC_UI) - add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_ENTER); add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); @@ -1270,8 +1265,7 @@ static void firmware_log_tests(void) reset_common_data(FOR_MANUAL_RECOVERY); add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); - if (DIAGNOSTIC_UI) - add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_ENTER); add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); @@ -1624,12 +1618,9 @@ static void manual_recovery_screen_tests(void) /* Recovery select screen: disabled and hidden item mask */ reset_common_data(FOR_MANUAL_RECOVERY); TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, - DIAGNOSTIC_UI ? - "recovery select screen: no disabled or hidden item" : - "recovery select screen: hide `launch diag`"); + "recovery select screen: no disabled or hidden item"); DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, MOCK_IGNORE, 0x0, DIAGNOSTIC_UI ? 0x0 : 0x8, - MOCK_IGNORE); + MOCK_IGNORE, MOCK_IGNORE, 0x0, 0x0, MOCK_IGNORE); /* Recovery select screen */ reset_common_data(FOR_MANUAL_RECOVERY); @@ -1646,8 +1637,7 @@ static void manual_recovery_screen_tests(void) add_mock_keypress(VB_KEY_ENTER); add_mock_keypress(VB_KEY_ESC); /* #3: Launch diagnostics */ - if (DIAGNOSTIC_UI) - add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_DOWN); /* #4: Advanced options */ add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_ENTER); @@ -1682,9 +1672,8 @@ static void manual_recovery_screen_tests(void) DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, MOCK_IGNORE, 2, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #3: Launch diagnostics */ - if (DIAGNOSTIC_UI) - DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, - MOCK_IGNORE, 3, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); + DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, + MOCK_IGNORE, 3, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); /* #4: Advanced options */ DISPLAYED_EQ("recovery select", VB2_SCREEN_RECOVERY_SELECT, MOCK_IGNORE, 4, MOCK_IGNORE, MOCK_IGNORE, MOCK_IGNORE); @@ -1702,15 +1691,13 @@ static void manual_recovery_screen_tests(void) reset_common_data(FOR_MANUAL_RECOVERY); add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); - if (DIAGNOSTIC_UI) - add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_ENTER); TEST_EQ(vb2_manual_recovery_menu(ctx), VB2_REQUEST_SHUTDOWN, "advanced options screen: no disabled or hidden item"); DISPLAYED_PASS(); DISPLAYED_PASS(); - if (DIAGNOSTIC_UI) - DISPLAYED_PASS(); + DISPLAYED_PASS(); DISPLAYED_PASS(); DISPLAYED_EQ("advanced options", VB2_SCREEN_ADVANCED_OPTIONS, MOCK_IGNORE, MOCK_IGNORE, 0x0, 0x0, MOCK_IGNORE); @@ -1720,8 +1707,7 @@ static void manual_recovery_screen_tests(void) /* #0: Language menu */ add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_DOWN); - if (DIAGNOSTIC_UI) - add_mock_keypress(VB_KEY_DOWN); + add_mock_keypress(VB_KEY_DOWN); add_mock_keypress(VB_KEY_ENTER); add_mock_keypress(VB_KEY_UP); add_mock_keypress(VB_KEY_ENTER); @@ -1749,8 +1735,7 @@ static void manual_recovery_screen_tests(void) "advanced options screen"); DISPLAYED_PASS(); DISPLAYED_PASS(); - if (DIAGNOSTIC_UI) - DISPLAYED_PASS(); + DISPLAYED_PASS(); DISPLAYED_PASS(); /* #0: Language menu */ DISPLAYED_PASS(); diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c index 32eaf025..38c6039f 100644 --- a/tests/vboot_api_kernel4_tests.c +++ b/tests/vboot_api_kernel4_tests.c @@ -239,22 +239,19 @@ static void select_and_load_kernel_tests(void) test_slk(VB2_ERROR_MOCK, 0, "Normal boot bad"); /* Check that NV_DIAG_REQUEST triggers diagnostic UI */ - if (DIAGNOSTIC_UI) { - reset_common_data(); - mock_diagnostic_ui_enabled = 1; - vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1); - vbboot_retval = -5; - test_slk(VB2_ERROR_MOCK, 0, - "Normal boot with diag enabled"); - TEST_EQ(vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST), 0, - " diag not requested"); - - reset_common_data(); - vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1); - test_slk(VB2_REQUEST_REBOOT, 0, - "Normal boot with diag disabled (reboot to " - "unset)"); - } + reset_common_data(); + mock_diagnostic_ui_enabled = 1; + vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1); + vbboot_retval = -5; + test_slk(VB2_ERROR_MOCK, 0, + "Normal boot with diag enabled"); + TEST_EQ(vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST), 0, + " diag not requested"); + + reset_common_data(); + vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1); + test_slk(VB2_REQUEST_REBOOT, 0, + "Normal boot with diag disabled (reboot to unset)"); /* Boot normal - phase1 failure */ reset_common_data(); |