aboutsummaryrefslogtreecommitdiff
path: root/projects/vboot/patches/0002-firmware-Text-based-screen-display-in-priority.patch
diff options
context:
space:
mode:
Diffstat (limited to 'projects/vboot/patches/0002-firmware-Text-based-screen-display-in-priority.patch')
-rw-r--r--projects/vboot/patches/0002-firmware-Text-based-screen-display-in-priority.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/projects/vboot/patches/0002-firmware-Text-based-screen-display-in-priority.patch b/projects/vboot/patches/0002-firmware-Text-based-screen-display-in-priority.patch
new file mode 100644
index 00000000..924d19bc
--- /dev/null
+++ b/projects/vboot/patches/0002-firmware-Text-based-screen-display-in-priority.patch
@@ -0,0 +1,61 @@
+From 5f402b9d365dbc17ea68803aeb9a95da01708b9f Mon Sep 17 00:00:00 2001
+From: Paul Kocialkowski <contact@paulk.fr>
+Date: Mon, 10 Aug 2015 22:44:50 +0200
+Subject: [PATCH 2/7] firmware: Text-based screen display in priority
+
+This allows showing text-based screen displays before looking at the GBB bitmaps
+since those encourage the use of non-free software (Chrome OS) and don't display
+enough information to the user.
+
+Change-Id: I1dc454cd5de1cf096a15957832a8114d4f758eac
+Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
+---
+ firmware/lib/vboot_display.c | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+diff --git a/firmware/lib/vboot_display.c b/firmware/lib/vboot_display.c
+index 1abed92..50a2e54 100644
+--- a/firmware/lib/vboot_display.c
++++ b/firmware/lib/vboot_display.c
+@@ -335,20 +335,18 @@ static VbError_t VbDisplayScreenLegacy(VbCommonParams *cparams, uint32_t screen,
+ /* If the screen is blank, turn off the backlight; else turn it on. */
+ VbExDisplayBacklight(VB_SCREEN_BLANK == screen ? 0 : 1);
+
+- /* Look in the GBB first */
+- if (VBERROR_SUCCESS == VbDisplayScreenFromGBB(cparams, screen,
+- vncptr, locale))
++ /* Display default first */
++ if (VBERROR_SUCCESS == VbExDisplayScreen(screen, locale))
+ return VBERROR_SUCCESS;
+
+- /* If screen wasn't in the GBB bitmaps, fall back to a default */
+- return VbExDisplayScreen(screen, locale);
++ /* If default doesn't have anything to show, fall back to GBB bitmaps */
++ return VbDisplayScreenFromGBB(cparams, screen, vncptr, locale);
+ }
+
+ VbError_t VbDisplayScreen(VbCommonParams *cparams, uint32_t screen,
+ int force, VbNvContext *vncptr)
+ {
+ uint32_t locale;
+- GoogleBinaryBlockHeader *gbb = cparams->gbb;
+ VbError_t rv;
+
+ /* If requested screen is the same as the current one, we're done. */
+@@ -358,11 +356,8 @@ VbError_t VbDisplayScreen(VbCommonParams *cparams, uint32_t screen,
+ /* Read the locale last saved */
+ VbNvGet(vncptr, VBNV_LOCALIZATION_INDEX, &locale);
+
+- if (gbb->bmpfv_size == 0)
+- rv = VbExDisplayScreen(screen, locale);
+- else
+- rv = VbDisplayScreenLegacy(cparams, screen, force, vncptr,
+- locale);
++ rv = VbDisplayScreenLegacy(cparams, screen, force, vncptr,
++ locale);
+
+ if (rv == VBERROR_SUCCESS)
+ /* Keep track of the currently displayed screen */
+--
+2.10.2
+