summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShelley Chen <shchen@chromium.org>2017-12-14 15:50:26 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-01-11 08:23:10 +0000
commitedeb961bd5bdd6469d4f2cc81a8d8b6431733346 (patch)
tree88f8df6aa2ce716190e17c814a521cc966d75a51
parentb2c0874867db754f96c7979c1b234cf4c578bc3f (diff)
downloadvboot-edeb961bd5bdd6469d4f2cc81a8d8b6431733346.tar.gz
detach_ui_test: Move variables needed for unit tests to private file
Creating a unit test for testing the detachable UI menus. It'll need access to some previously static variables that we will move into this new file. BUG=b:65025540 BRANCH=None TEST=emerge-fizz vboot_reference with no errors Change-Id: I249b152380dd55160e151506e00efd23bbbd1a5b Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/830679 Reviewed-by: Randall Spangler <rspangler@chromium.org> (cherry picked from commit 2d92620f35a8b1ea50ef3142c4eb15f1f1d0ed97) Reviewed-on: https://chromium-review.googlesource.com/861320
-rw-r--r--firmware/lib/include/vboot_ui_menu_private.h81
-rw-r--r--firmware/lib/vboot_ui_menu.c73
2 files changed, 85 insertions, 69 deletions
diff --git a/firmware/lib/include/vboot_ui_menu_private.h b/firmware/lib/include/vboot_ui_menu_private.h
new file mode 100644
index 00000000..7c6be490
--- /dev/null
+++ b/firmware/lib/include/vboot_ui_menu_private.h
@@ -0,0 +1,81 @@
+/* Copyright 2017 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Private declarations for vboot_ui_menu.c. Defined here for easier testing.
+ */
+
+#ifndef VBOOT_REFERENCE_VBOOT_UI_MENU_PRIVATE_H_
+#define VBOOT_REFERENCE_VBOOT_UI_MENU_PRIVATE_H_
+
+typedef enum _VB_MENU {
+ VB_MENU_DEV_WARNING,
+ VB_MENU_DEV,
+ VB_MENU_TO_NORM,
+ VB_MENU_RECOVERY,
+ VB_MENU_TO_DEV,
+ VB_MENU_LANGUAGES,
+ VB_MENU_RECOVERY_INSERT,
+ VB_MENU_RECOVERY_NO_GOOD,
+ VB_MENU_RECOVERY_BROKEN,
+ VB_MENU_TO_NORM_CONFIRMED,
+ VB_MENU_COUNT,
+} VB_MENU;
+
+typedef enum _VB_DEV_WARNING_MENU {
+ VB_WARN_OPTIONS,
+ VB_WARN_DBG_INFO,
+ VB_WARN_ENABLE_VER,
+ VB_WARN_POWER_OFF,
+ VB_WARN_LANGUAGE,
+ VB_WARN_COUNT,
+} VB_DEV_WARNING_MENU;
+
+typedef enum _VB_DEV_MENU {
+ VB_DEV_NETWORK,
+ VB_DEV_LEGACY,
+ VB_DEV_USB,
+ VB_DEV_DISK,
+ VB_DEV_CANCEL,
+ VB_DEV_POWER_OFF,
+ VB_DEV_LANGUAGE,
+ VB_DEV_COUNT,
+} VB_DEV_MENU;
+
+typedef enum _VB_TO_NORM_MENU {
+ VB_TO_NORM_CONFIRM,
+ VB_TO_NORM_CANCEL,
+ VB_TO_NORM_POWER_OFF,
+ VB_TO_NORM_LANGUAGE,
+ VB_TO_NORM_COUNT,
+} VB_TO_NORM_MENU;
+
+typedef enum _VB_RECOVERY_MENU {
+ VB_RECOVERY_TO_DEV,
+ VB_RECOVERY_DBG_INFO,
+ VB_RECOVERY_POWER_OFF,
+ VB_RECOVERY_LANGUAGE,
+ VB_RECOVERY_COUNT,
+} VB_RECOVERY_MENU;
+
+typedef enum _VB_TO_DEV_MENU {
+ VB_TO_DEV_CONFIRM,
+ VB_TO_DEV_CANCEL,
+ VB_TO_DEV_POWER_OFF,
+ VB_TO_DEV_LANGUAGE,
+ VB_TO_DEV_COUNT,
+} VB_TO_DEV_MENU;
+
+// TODO: currently we're only supporting
+// english. Will need to somehow find mapping
+// from language to localization index.
+typedef enum _VB_LANGUAGES_MENU {
+ VB_LANGUAGES_EN_US,
+ VB_LANGUAGES_COUNT,
+} VB_LANGUAGES_MENU;
+
+extern VB_MENU current_menu;
+extern VB_MENU prev_menu;
+extern int current_menu_idx;
+
+#endif
diff --git a/firmware/lib/vboot_ui_menu.c b/firmware/lib/vboot_ui_menu.c
index dbf19c29..37a5b556 100644
--- a/firmware/lib/vboot_ui_menu.c
+++ b/firmware/lib/vboot_ui_menu.c
@@ -23,6 +23,7 @@
#include "vboot_common.h"
#include "vboot_display.h"
#include "vboot_kernel.h"
+#include "vboot_ui_menu_private.h"
static void VbAllowUsbBootMenu(struct vb2_context *ctx)
{
@@ -93,75 +94,9 @@ static const char dev_disable_msg[] =
"For more information, see http://dev.chromium.org/chromium-os/fwmp\n"
"\n";
-typedef enum _VB_MENU {
- VB_MENU_DEV_WARNING,
- VB_MENU_DEV,
- VB_MENU_TO_NORM,
- VB_MENU_RECOVERY,
- VB_MENU_TO_DEV,
- VB_MENU_LANGUAGES,
- VB_MENU_RECOVERY_INSERT,
- VB_MENU_RECOVERY_NO_GOOD,
- VB_MENU_RECOVERY_BROKEN,
- VB_MENU_TO_NORM_CONFIRMED,
- VB_MENU_COUNT,
-} VB_MENU;
-
-typedef enum _VB_DEV_WARNING_MENU {
- VB_WARN_OPTIONS,
- VB_WARN_DBG_INFO,
- VB_WARN_ENABLE_VER,
- VB_WARN_POWER_OFF,
- VB_WARN_LANGUAGE,
- VB_WARN_COUNT,
-} VB_DEV_WARNING_MENU;
-
-typedef enum _VB_DEV_MENU {
- VB_DEV_NETWORK,
- VB_DEV_LEGACY,
- VB_DEV_USB,
- VB_DEV_DISK,
- VB_DEV_CANCEL,
- VB_DEV_POWER_OFF,
- VB_DEV_LANGUAGE,
- VB_DEV_COUNT,
-} VB_DEV_MENU;
-
-typedef enum _VB_TO_NORM_MENU {
- VB_TO_NORM_CONFIRM,
- VB_TO_NORM_CANCEL,
- VB_TO_NORM_POWER_OFF,
- VB_TO_NORM_LANGUAGE,
- VB_TO_NORM_COUNT,
-} VB_TO_NORM_MENU;
-
-typedef enum _VB_RECOVERY_MENU {
- VB_RECOVERY_TO_DEV,
- VB_RECOVERY_DBG_INFO,
- VB_RECOVERY_POWER_OFF,
- VB_RECOVERY_LANGUAGE,
- VB_RECOVERY_COUNT,
-} VB_RECOVERY_MENU;
-
-typedef enum _VB_TO_DEV_MENU {
- VB_TO_DEV_CONFIRM,
- VB_TO_DEV_CANCEL,
- VB_TO_DEV_POWER_OFF,
- VB_TO_DEV_LANGUAGE,
- VB_TO_DEV_COUNT,
-} VB_TO_DEV_MENU;
-
-// TODO: currently we're only supporting
-// english. Will need to somehow find mapping
-// from language to localization index.
-typedef enum _VB_LANGUAGES_MENU {
- VB_LANGUAGES_EN_US,
- VB_LANGUAGES_COUNT,
-} VB_LANGUAGES_MENU;
-
-static VB_MENU current_menu = VB_MENU_DEV_WARNING;
-static VB_MENU prev_menu = VB_MENU_DEV_WARNING;
-static int current_menu_idx = VB_WARN_POWER_OFF;
+VB_MENU current_menu = VB_MENU_DEV_WARNING;
+VB_MENU prev_menu = VB_MENU_DEV_WARNING;
+int current_menu_idx = VB_WARN_POWER_OFF;
static int selected = 0;
static int disabled_idx_mask = 0;
static uint32_t default_boot = VB2_DEV_DEFAULT_BOOT_DISK;