diff options
Diffstat (limited to 'firmware/lib/include/vboot_kernel.h')
-rw-r--r-- | firmware/lib/include/vboot_kernel.h | 45 |
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_ */ |