diff options
-rw-r--r-- | QcomModulePkg/Include/Protocol/EFIVerifiedBoot.h | 38 | ||||
-rw-r--r-- | QcomModulePkg/Library/BootLib/BootLib.inf | 1 | ||||
-rw-r--r-- | QcomModulePkg/QcomModulePkg.dec | 3 |
3 files changed, 40 insertions, 2 deletions
diff --git a/QcomModulePkg/Include/Protocol/EFIVerifiedBoot.h b/QcomModulePkg/Include/Protocol/EFIVerifiedBoot.h index 5de8f3d162..afd8e6af9b 100644 --- a/QcomModulePkg/Include/Protocol/EFIVerifiedBoot.h +++ b/QcomModulePkg/Include/Protocol/EFIVerifiedBoot.h @@ -43,6 +43,8 @@ */ #define QCOM_VERIFIEDBOOT_PROTOCOL_REVISION 0x0000000000010001 #define MAX_PNAME_LENGTH 32 +#define MAX_VERSION_LEN 64 + /* Protocol GUID definition */ /** @ingroup efi_verifiedboot_protocol */ #define EFI_VERIFIEDBOOT_PROTOCOL_GUID \ @@ -52,7 +54,7 @@ EXTERNAL VARIABLES ===========================================================================*/ /** @ingroup */ -extern EFI_GUID gQcomVerifiedBootProtocolGuid; +extern EFI_GUID gEfiQcomVerifiedBootProtocolGuid; /*=========================================================================== TYPE DEFINITIONS @@ -122,7 +124,6 @@ typedef struct _device_info_vb_t * Secure app. Always greater than zero. * Failure: Error code (negative only). */ -//Make this single buf typedef EFI_STATUS @@ -155,6 +156,37 @@ EFI_STATUS ); /** +* Send Milestone to TZ +* API will send end milestone command to TZ +* @return int +* Status: +* 0 - Success +* Negative value indicates failure. +*/ +typedef +EFI_STATUS +(EFIAPI *QCOM_VB_SEND_MILESTONE ) +( + IN QCOM_VERIFIEDBOOT_PROTOCOL *This +); + +/** +* Return if the device is secure or not +* API will set the State flag to indicate if its a secure device +* @return int +* Status: +* 0 - Success +* Negative value indicates failure. +*/ +typedef +EFI_STATUS +(EFIAPI *QCOM_VB_IS_DEVICE_SECURE ) +( + IN QCOM_VERIFIEDBOOT_PROTOCOL *This, + OUT BOOLEAN State +); + +/** * Send ROT to Keymaster * API will construct the ROT payload and provide * it to Keymaster TA @@ -230,8 +262,10 @@ struct _QCOM_VERIFIEDBOOT_PROTOCOL { QCOM_VB_RW_DEVICE_STATE VBRwDeviceState; QCOM_VB_DEVICE_INIT VBDeviceInit; QCOM_VB_SEND_ROT VBSendRot; + QCOM_VB_SEND_MILESTONE VBSendMilestone; QCOM_VB_VERIFY_IMAGE VBVerifyImage; QCOM_VB_RESET_STATE VBDeviceResetState; + QCOM_VB_IS_DEVICE_SECURE VBIsDeviceSecure; }; #endif /* __EFIVERIFIEDBOOT_H__ */ diff --git a/QcomModulePkg/Library/BootLib/BootLib.inf b/QcomModulePkg/Library/BootLib/BootLib.inf index 881655f175..eedb15adf3 100644 --- a/QcomModulePkg/Library/BootLib/BootLib.inf +++ b/QcomModulePkg/Library/BootLib/BootLib.inf @@ -120,6 +120,7 @@ gQcomPmicPonProtocolGuid gQcomChargerExProtocolGuid gEfiLimitsProtocolGuid + gEfiQcomVerifiedBootProtocolGuid [FixedPcd] gArmTokenSpaceGuid.PcdSystemMemoryBase diff --git a/QcomModulePkg/QcomModulePkg.dec b/QcomModulePkg/QcomModulePkg.dec index e95b00aab6..e44838f268 100644 --- a/QcomModulePkg/QcomModulePkg.dec +++ b/QcomModulePkg/QcomModulePkg.dec @@ -105,6 +105,9 @@ gQcomPmicPonProtocolGuid = { 0x97044b58, 0xfea4, 0x4ad0, { 0x9d, 0xb, 0xe4, 0x17, 0xd6, 0xf, 0x11, 0xa1 }} # Throttle limit Protocol gEfiLimitsProtocolGuid = { 0x79d6c879, 0x725e, 0x489e, { 0xa0, 0xa9, 0x27, 0xef, 0xa5, 0xdf, 0xcb, 0x35 } } + # VerifiedBoot Protocol + gEfiQcomVerifiedBootProtocolGuid = { 0x8e5eff91, 0x21b6, 0x47d3, { 0xaf, 0x2b, 0xc1, 0x5a, 0x1, 0xe0, 0x20, 0xec } } + [PcdsFixedAtBuild.common] # LinuxLoaderCommon gQcomTokenSpaceGuid.KernelLoadAddress|0x00080000|UINT32|0x00015000 |