summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--QcomModulePkg/Include/Protocol/EFIVerifiedBoot.h38
-rw-r--r--QcomModulePkg/Library/BootLib/BootLib.inf1
-rw-r--r--QcomModulePkg/QcomModulePkg.dec3
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