summaryrefslogtreecommitdiff
path: root/Silicon/BroxtonSoC/BroxtonSiPkg/Include/ConfigBlock.h
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2016-12-22 19:16:03 +0800
committerGuo Mang <mang.guo@intel.com>2016-12-26 19:15:02 +0800
commitf0a77159beb39438f311993bf6cd4136aa7e02fc (patch)
treeddcbe7a11aa068901bb91c751278e751d8da4092 /Silicon/BroxtonSoC/BroxtonSiPkg/Include/ConfigBlock.h
parent92b6719423f351e9cf5517a9413f63da57778136 (diff)
downloadedk2-platforms-f0a77159beb39438f311993bf6cd4136aa7e02fc.tar.xz
BroxtonSiPkg: Add Include
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'Silicon/BroxtonSoC/BroxtonSiPkg/Include/ConfigBlock.h')
-rw-r--r--Silicon/BroxtonSoC/BroxtonSiPkg/Include/ConfigBlock.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/Silicon/BroxtonSoC/BroxtonSiPkg/Include/ConfigBlock.h b/Silicon/BroxtonSoC/BroxtonSiPkg/Include/ConfigBlock.h
new file mode 100644
index 0000000000..286d4c8116
--- /dev/null
+++ b/Silicon/BroxtonSoC/BroxtonSiPkg/Include/ConfigBlock.h
@@ -0,0 +1,59 @@
+/** @file
+ Header file for Config Block Lib implementation.
+
+ Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php.
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _CONFIG_BLOCK_H_
+#define _CONFIG_BLOCK_H_
+
+#include <Uefi/UefiBaseType.h>
+
+///
+/// Config Block Header
+///
+typedef struct _CONFIG_BLOCK_HEADER {
+ EFI_GUID Guid; ///< Offset 0-15 GUID of the config block
+/** Offset 16-19
+ Total length of this config block structure or size of config block table
+ if used in table header
+**/
+ UINT32 Size;
+ UINT8 Revision; ///< Offset 20 The main revision for config block
+ UINT8 Reserved[3]; ///< Offset 21-23 Reserved for future use
+} CONFIG_BLOCK_HEADER;
+
+///
+/// Config Block
+///
+typedef struct _CONFIG_BLOCK {
+ CONFIG_BLOCK_HEADER Header; ///< Offset 0-23 Header of config block
+ //
+ // Config Block Data
+ //
+} CONFIG_BLOCK;
+
+///
+/// Config Block Table Header
+///
+typedef struct _CONFIG_BLOCK_TABLE_STRUCT {
+ CONFIG_BLOCK_HEADER Header; ///< Offset 0-23 GUID number for main entry of config block
+ UINT16 NumberOfBlocks; ///< Offset 24-25 Number of config blocks (N)
+ UINT16 AvailableBlocks; ///< Offset 26-27 Current number of available config blocks
+ UINT32 AvailableSize; ///< Offset 28-31 Current config block table size
+///
+/// Individual Config Block Structures are added here in memory as part of AddConfigBlock()
+///
+} CONFIG_BLOCK_TABLE_HEADER;
+
+#endif // _CONFIG_BLOCK_H_
+