summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/vboot/0006-firmware-Separate-screen-and-wait-at-device-informat.patch
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2015-10-11 11:48:46 (EDT)
committer Francis Rowe <info@gluglug.org.uk>2015-10-11 15:16:26 (EDT)
commitd8b597f33e75d04b84be7c9d7081a3b97821617d (patch)
tree8ad2d64ba4dff4cb6cfc1d9f7ecdc2c9cda8d19c /resources/libreboot/patch/vboot/0006-firmware-Separate-screen-and-wait-at-device-informat.patch
parentd6b6b1ea62f555f38152ab475d98c57f739f8b8d (diff)
downloadlibreboot-d8b597f33e75d04b84be7c9d7081a3b97821617d.zip
libreboot-d8b597f33e75d04b84be7c9d7081a3b97821617d.tar.gz
libreboot-d8b597f33e75d04b84be7c9d7081a3b97821617d.tar.bz2
Chromebook C201 (codename veyron_speedy) support
This introduces Libreboot support for the Asus Chromebook C201 (codename veyron_speedy). At this point, this produces a standalone Libreboot image that can be flashed to the RO Coreboot partition of the SPI flash, as well as the Libreboot version that can be flash to the RO Firmware ID partition. Libreboot on the Chromebook C201 uses the depthcharge bootloader, modified to display text messages instead of ChromeOS bitmaps (that encourage the use of ChromeOS). For convenience, an installation script, chromebook-flash-replace, is provided along with a description of the flash layout, to ease the replacement of the Coreboot and RO Firmware ID partitions on the full SPI flash image. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'resources/libreboot/patch/vboot/0006-firmware-Separate-screen-and-wait-at-device-informat.patch')
-rw-r--r--resources/libreboot/patch/vboot/0006-firmware-Separate-screen-and-wait-at-device-informat.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/resources/libreboot/patch/vboot/0006-firmware-Separate-screen-and-wait-at-device-informat.patch b/resources/libreboot/patch/vboot/0006-firmware-Separate-screen-and-wait-at-device-informat.patch
new file mode 100644
index 0000000..e2d4ef7
--- /dev/null
+++ b/resources/libreboot/patch/vboot/0006-firmware-Separate-screen-and-wait-at-device-informat.patch
@@ -0,0 +1,79 @@
+From b724719ae34c3fd7c25502339f9029ee9e0bbb1e Mon Sep 17 00:00:00 2001
+From: Paul Kocialkowski <contact@paulk.fr>
+Date: Mon, 10 Aug 2015 23:53:48 +0200
+Subject: [PATCH 6/7] firmware: Separate screen and wait at device information
+ screen
+
+This blanks the screen (instead of redrawing it) at device information and
+waits for the user to press any key to come back to the developer mode screen.
+
+Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
+---
+ firmware/lib/vboot_api_kernel.c | 12 ++++++++++++
+ firmware/lib/vboot_display.c | 13 ++++++++-----
+ 2 files changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c
+index 6463571..2f33258 100644
+--- a/firmware/lib/vboot_api_kernel.c
++++ b/firmware/lib/vboot_api_kernel.c
+@@ -371,6 +371,18 @@ developer_mode_screen:
+ "hold developer mode screen\n"));
+ hold = 1;
+ break;
++ case 0x09:
++ /* Ctrl+I = device information */
++ VBDEBUG(("VbBootDeveloper() - "
++ "device info\n"));
++
++ hold = 1;
++ VbDisplayDebugInfo(cparams, &vnc);
++
++ while (!VbExKeyboardRead()) ;
++
++ goto developer_mode_screen;
++ break;
+ case 0x0c:
+ VBDEBUG(("VbBootDeveloper() - "
+ "user pressed Ctrl+L; Try legacy boot\n"));
+diff --git a/firmware/lib/vboot_display.c b/firmware/lib/vboot_display.c
+index 0158cc2..c3d504d 100644
+--- a/firmware/lib/vboot_display.c
++++ b/firmware/lib/vboot_display.c
+@@ -503,7 +503,7 @@ const char *RecoveryReasonString(uint8_t code)
+ return "We have no idea what this means";
+ }
+
+-#define DEBUG_INFO_SIZE 512
++#define DEBUG_INFO_SIZE 768
+
+ VbError_t VbDisplayDebugInfo(VbCommonParams *cparams, VbNvContext *vncptr)
+ {
+@@ -518,8 +518,8 @@ VbError_t VbDisplayDebugInfo(VbCommonParams *cparams, VbNvContext *vncptr)
+ VbError_t ret;
+ uint32_t i;
+
+- /* Redisplay current screen to overwrite any previous debug output */
+- VbDisplayScreen(cparams, disp_current_screen, 1, vncptr);
++ /* Blank screen */
++ VbDisplayScreen(cparams, VB_SCREEN_BLANK, 1, vncptr);
+
+ /* Add hardware ID */
+ VbRegionReadHWID(cparams, hwid, sizeof(hwid));
+@@ -622,8 +622,11 @@ VbError_t VbDisplayDebugInfo(VbCommonParams *cparams, VbNvContext *vncptr)
+ used += StrnAppend(buf + used, sha1sum, DEBUG_INFO_SIZE - used);
+ }
+
+- /* Make sure we finish with a newline */
+- used += StrnAppend(buf + used, "\n", DEBUG_INFO_SIZE - used);
++ /* Make sure we finish with newlines */
++ used += StrnAppend(buf + used, "\n\n", DEBUG_INFO_SIZE - used);
++
++ used += StrnAppend(buf + used, "Press any key to continue\n\n",
++ DEBUG_INFO_SIZE - used);
+
+ /* TODO: add more interesting data:
+ * - Information on current disks */
+--
+1.9.1
+