2 Universal Payload general definitions.
4 Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
7 @par Revision Reference:
8 - Universal Payload Specification 0.75 (https://universalpayload.github.io/documentation/)
11 #ifndef UNIVERSAL_PAYLOAD_H_
12 #define UNIVERSAL_PAYLOAD_H_
15 Main entry point to Universal Payload.
17 @param HobList Pointer to the beginning of the HOB List from boot loader.
19 typedef VOID (EFIAPI
*UNIVERSAL_PAYLOAD_ENTRY
) (VOID
*HobList
);
21 #define UNIVERSAL_PAYLOAD_IDENTIFIER SIGNATURE_32('U', 'P', 'L', 'D')
22 #define UNIVERSAL_PAYLOAD_INFO_SEC_NAME ".upld_info"
23 #define UNIVERSAL_PAYLOAD_EXTRA_SEC_NAME_PREFIX ".upld."
24 #define UNIVERSAL_PAYLOAD_EXTRA_SEC_NAME_PREFIX_LENGTH (sizeof (UNIVERSAL_PAYLOAD_EXTRA_SEC_NAME_PREFIX) - 1)
38 } UNIVERSAL_PAYLOAD_INFO_HEADER
;
44 } UNIVERSAL_PAYLOAD_GENERIC_HEADER
;
49 Returns the size of a structure of known type, up through and including a specified field.
51 @param TYPE The name of the data structure that contains the field specified by Field.
52 @param Field The name of the field in the data structure.
54 @return size, in bytes.
57 #define UNIVERSAL_PAYLOAD_SIZEOF_THROUGH_FIELD(TYPE, Field) (OFFSET_OF(TYPE, Field) + sizeof (((TYPE *) 0)->Field))
59 #endif // UNIVERSAL_PAYLOAD_H_