mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-26 19:25:02 +00:00
Add boot flags to LoadFirmware(), for TPM init
Review URL: http://codereview.chromium.org/2865015
This commit is contained in:
@@ -20,6 +20,9 @@
|
||||
#define LOAD_FIRMWARE_SUCCESS 0 /* Success */
|
||||
#define LOAD_FIRMWARE_RECOVERY 1 /* Reboot to recovery mode */
|
||||
|
||||
/* Boot flags for LoadFirmware().boot_flags */
|
||||
#define BOOT_FLAG_DEVELOPER UINT64_C(0x01) /* Developer switch is on */
|
||||
|
||||
typedef struct LoadFirmwareParams {
|
||||
/* Inputs to LoadFirmware() */
|
||||
void *firmware_root_key_blob; /* Key used to sign firmware header */
|
||||
@@ -35,6 +38,7 @@ typedef struct LoadFirmwareParams {
|
||||
* buffer, in bytes. On output, this
|
||||
* will contain the actual key blob
|
||||
* size placed into the buffer. */
|
||||
uint64_t boot_flags; /* Boot flags */
|
||||
|
||||
/* Outputs from LoadFirmware(); valid only if LoadFirmware() returns
|
||||
* LOAD_FIRMWARE_SUCCESS. */
|
||||
|
||||
@@ -60,8 +60,9 @@ int LoadFirmware(LoadFirmwareParams* params) {
|
||||
}
|
||||
|
||||
/* Initialize the TPM and read rollback indices. */
|
||||
/* TODO: fix SetupTPM parameter for developer mode */
|
||||
if (0 != RollbackFirmwareSetup(0, &tpm_key_version, &tpm_fw_version)) {
|
||||
if (0 != RollbackFirmwareSetup(
|
||||
(params->boot_flags & BOOT_FLAG_DEVELOPER ? 1 : 0),
|
||||
&tpm_key_version, &tpm_fw_version)) {
|
||||
VBDEBUG(("Unable to get stored versions.\n"));
|
||||
return LOAD_FIRMWARE_RECOVERY;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user