summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/vboot/0003-firmware-NV-context-pointer-handoff-to-VbExDisplaySc.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/0003-firmware-NV-context-pointer-handoff-to-VbExDisplaySc.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/0003-firmware-NV-context-pointer-handoff-to-VbExDisplaySc.patch')
-rw-r--r--resources/libreboot/patch/vboot/0003-firmware-NV-context-pointer-handoff-to-VbExDisplaySc.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/resources/libreboot/patch/vboot/0003-firmware-NV-context-pointer-handoff-to-VbExDisplaySc.patch b/resources/libreboot/patch/vboot/0003-firmware-NV-context-pointer-handoff-to-VbExDisplaySc.patch
new file mode 100644
index 0000000..a9d85a0
--- /dev/null
+++ b/resources/libreboot/patch/vboot/0003-firmware-NV-context-pointer-handoff-to-VbExDisplaySc.patch
@@ -0,0 +1,79 @@
+From 5bd1373a9313bc31bacb2d765ede2c19242a7e9b Mon Sep 17 00:00:00 2001
+From: Paul Kocialkowski <contact@paulk.fr>
+Date: Mon, 10 Aug 2015 22:46:43 +0200
+Subject: [PATCH 3/7] firmware: NV context pointer handoff to VbExDisplayScreen
+
+VbExDisplayScreen might need to display some information based on the NV context
+so it makes sense to pass that pointer along.
+
+Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
+---
+ firmware/include/vboot_api.h | 3 ++-
+ firmware/lib/vboot_display.c | 2 +-
+ firmware/stub/vboot_api_stub.c | 2 +-
+ tests/vboot_api_devmode_tests.c | 2 +-
+ 4 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h
+index 7e94773..66d1ee4 100644
+--- a/firmware/include/vboot_api.h
++++ b/firmware/include/vboot_api.h
+@@ -24,6 +24,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+
++#include "vboot_nvstorage.h"
+ #include "gpt.h"
+
+ /*****************************************************************************/
+@@ -765,7 +766,7 @@ VbError_t VbExDisplaySetDimension(uint32_t width, uint32_t height);
+ * to be simple ASCII text such as "NO GOOD" or "INSERT"; these screens should
+ * only be seen during development.
+ */
+-VbError_t VbExDisplayScreen(uint32_t screen_type);
++VbError_t VbExDisplayScreen(uint32_t screen_type, VbNvContext *vnc);
+
+ /**
+ * Write an image to the display, with the upper left corner at the specified
+diff --git a/firmware/lib/vboot_display.c b/firmware/lib/vboot_display.c
+index 542aaed..0158cc2 100644
+--- a/firmware/lib/vboot_display.c
++++ b/firmware/lib/vboot_display.c
+@@ -325,7 +325,7 @@ VbError_t VbDisplayScreen(VbCommonParams *cparams, uint32_t screen,
+ disp_current_screen = screen;
+
+ /* Display default first */
+- if (VBERROR_SUCCESS == VbExDisplayScreen(screen))
++ if (VBERROR_SUCCESS == VbExDisplayScreen(screen, vncptr))
+ return VBERROR_SUCCESS;
+
+ /* If default doesn't have anything to show, fall back to GBB bitmaps */
+diff --git a/firmware/stub/vboot_api_stub.c b/firmware/stub/vboot_api_stub.c
+index 7320b6c..f773b6e 100644
+--- a/firmware/stub/vboot_api_stub.c
++++ b/firmware/stub/vboot_api_stub.c
+@@ -43,7 +43,7 @@ VbError_t VbExDisplaySetDimension(uint32_t width, uint32_t height)
+ return VBERROR_SUCCESS;
+ }
+
+-VbError_t VbExDisplayScreen(uint32_t screen_type)
++VbError_t VbExDisplayScreen(uint32_t screen_type, VbNvContext *vnc)
+ {
+ return VBERROR_SUCCESS;
+ }
+diff --git a/tests/vboot_api_devmode_tests.c b/tests/vboot_api_devmode_tests.c
+index 925a146..af90f7f 100644
+--- a/tests/vboot_api_devmode_tests.c
++++ b/tests/vboot_api_devmode_tests.c
+@@ -265,7 +265,7 @@ VbError_t VbExBeep(uint32_t msec, uint32_t frequency) {
+ return beep_return;
+ }
+
+-VbError_t VbExDisplayScreen(uint32_t screen_type) {
++VbError_t VbExDisplayScreen(uint32_t screen_type, VbNvContext *vnc) {
+ switch(screen_type) {
+ case VB_SCREEN_BLANK:
+ VBDEBUG(("VbExDisplayScreen(BLANK)\n"));
+--
+1.9.1
+