#ifndef UNIVERSAL_PAYLOAD_H_\r
#define UNIVERSAL_PAYLOAD_H_\r
\r
+/**\r
+ Main entry point to Universal Payload.\r
+\r
+ @param HobList Pointer to the beginning of the HOB List from boot loader.\r
+**/\r
+typedef VOID (EFIAPI *UNIVERSAL_PAYLOAD_ENTRY) (VOID *HobList);\r
+\r
+#define UNIVERSAL_PAYLOAD_IDENTIFIER SIGNATURE_32('U', 'P', 'L', 'D')\r
+#define UNIVERSAL_PAYLOAD_INFO_SEC_NAME ".upld_info"\r
+#define UNIVERSAL_PAYLOAD_EXTRA_SEC_NAME_PREFIX ".upld."\r
+#define UNIVERSAL_PAYLOAD_EXTRA_SEC_NAME_PREFIX_LENGTH (sizeof (UNIVERSAL_PAYLOAD_EXTRA_SEC_NAME_PREFIX) - 1)\r
+\r
#pragma pack(1)\r
\r
+typedef struct {\r
+ UINT32 Identifier;\r
+ UINT32 HeaderLength;\r
+ UINT16 SpecRevision;\r
+ UINT8 Reserved[2];\r
+ UINT32 Revision;\r
+ UINT32 Attribute;\r
+ UINT32 Capability;\r
+ CHAR8 ProducerId[16];\r
+ CHAR8 ImageId[16];\r
+} UNIVERSAL_PAYLOAD_INFO_HEADER;\r
+\r
typedef struct {\r
UINT8 Revision;\r
UINT8 Reserved;\r