detachables: Define VbExDisplayMenu()

Create new callback for drawing detachable firmware menus

BUG=b:35585623
BRANCH=None
TEST=None

Change-Id: Ief207f6119f00151e2d480549aaac3a8755cb1b4
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/457838
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h
index bb205bb..fdae5dd 100644
--- a/firmware/include/vboot_api.h
+++ b/firmware/include/vboot_api.h
@@ -792,6 +792,17 @@
 VbError_t VbExDisplayScreen(uint32_t screen_type, uint32_t locale);
 
 /**
+ * Display a predefined menu screen; see VB_SCREEN_* for valid screens.
+ *
+ * This is a backup method of screen display, intended for use if the GBB does
+ * not contain a full set of bitmaps.  It is acceptable for the backup screen
+ * to be simple ASCII text such as "NO GOOD" or "INSERT"; these screens should
+ * only be seen during development.
+ */
+VbError_t VbExDisplayMenu(uint32_t screen_type, uint32_t locale,
+			  uint32_t selected_index, uint32_t redraw_base);
+
+/**
  * Write an image to the display, with the upper left corner at the specified
  * pixel coordinates.  The bitmap buffer is a pointer to the platform-dependent
  * uncompressed binary blob with dimensions and format specified internally
diff --git a/firmware/stub/vboot_api_stub.c b/firmware/stub/vboot_api_stub.c
index 66c491f..6dd257d 100644
--- a/firmware/stub/vboot_api_stub.c
+++ b/firmware/stub/vboot_api_stub.c
@@ -51,6 +51,12 @@
 	return VBERROR_SUCCESS;
 }
 
+VbError_t VbExDisplayMenu(uint32_t screen_type, uint32_t locale,
+			  uint32_t selected_index, uint32_t redraw_base)
+{
+	return VBERROR_SUCCESS;
+}
+
 VbError_t VbExDisplayImage(uint32_t x, uint32_t y,
                            void *buffer, uint32_t buffersize)
 {