summaryrefslogtreecommitdiffstats
path: root/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Guid/JsonCapsule.h
diff options
context:
space:
mode:
authorJonathan Zhang <jonzhang@fb.com>2020-06-09 17:56:53 -0700
committerPatrick Georgi <pgeorgi@google.com>2020-06-25 11:57:06 +0000
commit6d27778973edf6bdebfa812eac8893d52961a891 (patch)
tree8023f5c4d98247b5ef3ceb18b8820e1131753f7e /src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Guid/JsonCapsule.h
parentc9222f956763d20397152a44985bdb4abdb19e2d (diff)
downloadcoreboot-6d27778973edf6bdebfa812eac8893d52961a891.tar.gz
coreboot-6d27778973edf6bdebfa812eac8893d52961a891.tar.bz2
coreboot-6d27778973edf6bdebfa812eac8893d52961a891.zip
vendorcode/intel: Add edk2-stable202005 support
This patch includes (edk2/edk2-stable202005) all required headers for edk2-stable202005 quarterly EDK2 tag from EDK2 github project using below command: >> git clone https://github.com/tianocore/edk2.git vedk2-stable202005 Only include necessary header files. MdePkg/Include/Base.h was updated to avoid compilation errors through safeguarding definitions for MIN, MAX, NULL, ABS, ARRAY_SIZE. Signed-off-by: Jonathan Zhang <jonzhang@fb.com> Change-Id: I3172505d9b829647ee1208c87623172f10b39310 Reviewed-on: https://review.coreboot.org/c/coreboot/+/42239 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Subrata Banik <subrata.banik@intel.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Guid/JsonCapsule.h')
-rw-r--r--src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Guid/JsonCapsule.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Guid/JsonCapsule.h b/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Guid/JsonCapsule.h
new file mode 100644
index 000000000000..d54c50694f5c
--- /dev/null
+++ b/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Guid/JsonCapsule.h
@@ -0,0 +1,98 @@
+/** @file
+Guid & data structure for tables defined for reporting firmware configuration data to EFI
+Configuration Tables and also for processing JSON payload capsule.
+
+
+Copyright (c) 2020, American Megatrends International LLC. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef __JSON_CAPSULE_GUID_H__
+#define __JSON_CAPSULE_GUID_H__
+
+//
+// The address reported in the table entry identified by EFI_JSON_CAPSULE_DATA_TABLE_GUID will be
+// referenced as physical and will not be fixed up when transition from preboot to runtime phase. The
+// addresses reported in these table entries identified by EFI_JSON_CONFIG_DATA_TABLE_GUID and
+// EFI_JSON_CAPSULE_RESULT_TABLE_GUID will be referenced as virtual and will be fixed up when
+// transition from preboot to runtime phase.
+//
+#define EFI_JSON_CONFIG_DATA_TABLE_GUID \
+ {0x87367f87, 0x1119, 0x41ce, \
+ {0xaa, 0xec, 0x8b, 0xe0, 0x11, 0x1f, 0x55, 0x8a }}
+#define EFI_JSON_CAPSULE_DATA_TABLE_GUID \
+ {0x35e7a725, 0x8dd2, 0x4cac, \
+ {0x80, 0x11, 0x33, 0xcd, 0xa8, 0x10, 0x90, 0x56 }}
+#define EFI_JSON_CAPSULE_RESULT_TABLE_GUID \
+ {0xdbc461c3, 0xb3de, 0x422a,\
+ {0xb9, 0xb4, 0x98, 0x86, 0xfd, 0x49, 0xa1, 0xe5 }}
+#define EFI_JSON_CAPSULE_ID_GUID \
+ {0x67d6f4cd, 0xd6b8, 0x4573, \
+ {0xbf, 0x4a, 0xde, 0x5e, 0x25, 0x2d, 0x61, 0xae }}
+
+
+#pragma pack(1)
+
+typedef struct {
+ ///
+ /// Version of the structure, initially 0x00000001.
+ ///
+ UINT32 Version;
+
+ ///
+ /// The unique identifier of this capsule.
+ ///
+ UINT32 CapsuleId;
+
+ ///
+ /// The length of the JSON payload immediately following this header, in bytes.
+ ///
+ UINT32 PayloadLength;
+
+ ///
+ /// Variable length buffer containing the JSON payload that should be parsed and applied to the system. The
+ /// definition of the JSON schema used in the payload is beyond the scope of this specification.
+ ///
+ UINT8 Payload[];
+} EFI_JSON_CAPSULE_HEADER;
+
+typedef struct {
+ ///
+ /// The length of the following ConfigData, in bytes.
+ ///
+ UINT32 ConfigDataLength;
+
+ ///
+ /// Variable length buffer containing the JSON payload that describes one group of configuration data within
+ /// current system. The definition of the JSON schema used in this payload is beyond the scope of this specification.
+ ///
+ UINT8 ConfigData[];
+} EFI_JSON_CONFIG_DATA_ITEM;
+
+typedef struct {
+ ///
+ /// Version of the structure, initially 0x00000001.
+ ///
+ UINT32 Version;
+
+ ///
+ ////The total length of EFI_JSON_CAPSULE_CONFIG_DATA, in bytes.
+ ///
+ UINT32 TotalLength;
+
+ ///
+ /// Array of configuration data groups.
+ ///
+ EFI_JSON_CONFIG_DATA_ITEM ConfigDataList[];
+} EFI_JSON_CAPSULE_CONFIG_DATA;
+
+#pragma pack()
+
+extern EFI_GUID gEfiJsonConfigDataTableGuid;
+extern EFI_GUID gEfiJsonCapsuleDataTableGuid;
+extern EFI_GUID gEfiJsonCapsuleResultTableGuid;
+extern EFI_GUID gEfiJsonCapsuleIdGuid;
+
+
+#endif