summaryrefslogtreecommitdiff
path: root/firmware/lib/include/vboot_kernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/lib/include/vboot_kernel.h')
-rw-r--r--firmware/lib/include/vboot_kernel.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/firmware/lib/include/vboot_kernel.h b/firmware/lib/include/vboot_kernel.h
index 6e6c5dc3..e3a44190 100644
--- a/firmware/lib/include/vboot_kernel.h
+++ b/firmware/lib/include/vboot_kernel.h
@@ -10,7 +10,9 @@
#define VBOOT_REFERENCE_VBOOT_KERNEL_H_
#include "cgptlib.h"
+#include "load_firmware_fw.h"
#include "vboot_api.h"
+#include "vboot_kernel.h"
/**
* Allocate and read GPT data from the drive. The sector_bytes and
@@ -26,4 +28,47 @@ int AllocAndReadGptData(VbExDiskHandle_t disk_handle, GptData *gptdata);
*/
int WriteAndFreeGptData(VbExDiskHandle_t disk_handle, GptData *gptdata);
+/**
+ * Accessors for unit tests only.
+ */
+VbNvContext *VbApiKernelGetVnc(void);
+
+/**
+ * Try to load a kernel.
+ */
+uint32_t VbTryLoadKernel(VbCommonParams *cparams, LoadKernelParams *p,
+ uint32_t get_info_flags);
+
+/**
+ * Ask the user to confirm something.
+ *
+ * We should display whatever the question is first, then call this. ESC is
+ * always "no", ENTER is always "yes", and we'll specify what SPACE means. We
+ * don't return until one of those keys is pressed, or until asked to shut
+ * down.
+ *
+ * Returns: 1=yes, 0=no, -1 = shutdown.
+ */
+int VbUserConfirms(VbCommonParams *cparams, int space_means_no);
+
+/**
+ * Handle a normal boot.
+ */
+VbError_t VbBootNormal(VbCommonParams *cparams, LoadKernelParams *p);
+
+/**
+ * Handle a developer-mode boot.
+ */
+VbError_t VbBootDeveloper(VbCommonParams *cparams, LoadKernelParams *p);
+
+/**
+ * Handle a recovery-mode boot.
+ */
+VbError_t VbBootRecovery(VbCommonParams *cparams, LoadKernelParams *p);
+
+/**
+ * Sync EC firmware to expected version.
+ */
+VbError_t VbEcSoftwareSync(VbCommonParams *cparams);
+
#endif /* VBOOT_REFERENCE_VBOOT_KERNEL_H_ */