]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add INF extension Information
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 9 Jan 2009 06:26:42 +0000 (06:26 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 9 Jan 2009 06:26:42 +0000 (06:26 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7228 6f19259b-4bc3-4df7-8a09-765794883524

22 files changed:
MdeModulePkg/Application/HelloWorld/HelloWorld.inf
MdeModulePkg/Include/Guid/Bmp.h
MdeModulePkg/Include/Guid/CapsuleVendor.h
MdeModulePkg/Include/Guid/GenericPlatformVariable.h
MdeModulePkg/Include/MdeModuleHii.h
MdeModulePkg/Include/VariableFormat.h
MdeModulePkg/Include/WorkingBlockHeader.h
MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
MdeModulePkg/Universal/PCD/Pei/Pcd.inf
MdeModulePkg/Universal/PCD/Pei/Service.c
MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentPciCfg2Pei.inf
MdeModulePkg/Universal/PlatformDriverOverride/PlatOverMngr/PlatOverMngr.c
MdeModulePkg/Universal/PlatformDriverOverride/PlatOverMngr/PlatOverMngr.inf
MdeModulePkg/Universal/PlatformDriverOverride/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
MdeModulePkg/Universal/Variable/EmuRuntimeDxe/Variable.h
MdeModulePkg/Universal/Variable/Pei/Variable.h
MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h

index 50fb686319afcd36925e9eae9b38725a82352c42..2ee77d91c4fab4b7e8ae09a27fd8bed4d88b8198 100644 (file)
@@ -52,5 +52,5 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable\r
 \r
 [Pcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable\r
 \r
 [Pcd]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString  ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes   ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable\r
index 0ab73790fb5c22186206fb4a3a62f7e3ab4d19ff..093a9587c5ce46a4608dc1d42535a56cc81409d2 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 /** @file\r
-  This file defines header data structures for BMP file and default\r
-  FFS GUID Filename for BMP logo file. \r
+  This file defines BMP file header data structures.\r
+  It also defines the File GUID for default BMP logo file.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
@@ -34,10 +34,10 @@ typedef struct {
   UINT32        HeaderSize;\r
   UINT32        PixelWidth;\r
   UINT32        PixelHeight;\r
   UINT32        HeaderSize;\r
   UINT32        PixelWidth;\r
   UINT32        PixelHeight;\r
-  UINT16        Planes;          /// Must be 1\r
-  UINT16        BitPerPixel;     /// 1, 4, 8, or 24\r
+  UINT16        Planes;          ///> Must be 1\r
+  UINT16        BitPerPixel;     ///> 1, 4, 8, or 24\r
   UINT32        CompressionType;\r
   UINT32        CompressionType;\r
-  UINT32        ImageSize;       /// Compressed image size in bytes\r
+  UINT32        ImageSize;       ///> Compressed image size in bytes\r
   UINT32        XPixelsPerMeter;\r
   UINT32        YPixelsPerMeter;\r
   UINT32        NumberOfColors;\r
   UINT32        XPixelsPerMeter;\r
   UINT32        YPixelsPerMeter;\r
   UINT32        NumberOfColors;\r
index b326018c49fae48acc233b810cd3fba4b81c3a12..58ac355bd4190ab161950b4f6d2a01bba127426f 100644 (file)
@@ -1,7 +1,6 @@
 /** @file\r
 /** @file\r
-\r
-  This file defines capsule vendor guid, capsule variable name \r
-  and capsule guid hob data structure. \r
+  This file defines capsule vendor guid for capsule variable and hob.\r
+  It also defines capsule varialbe name and capsule guid hob data structure. \r
   They are used by EDKII implementation of capsule update across a system reset.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation\r
   They are used by EDKII implementation of capsule update across a system reset.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation\r
index 92c73234f0d6e8d0e79968417e0a72af5e9a558e..f63fe9588d8fc7996c8af1d2b5b5b0b952a7e843 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
   This file defines the genenic platform guid for EFI variable.\r
 /** @file\r
   This file defines the genenic platform guid for EFI variable.\r
-  Common drivers can use this generic guid with its variable name to specify \r
+  Generic drivers can use this guid with its variable name to specify \r
   its EFI variable without defining another new guid.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
   its EFI variable without defining another new guid.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
index 9f5c3e3e0e1e38ddba85d70457427359ea788e55..092cdaf3103ada86a3ecfccf6c4ef64eb3831128 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
 /** @file\r
-  EDK II implementation specific HII relative definition.\r
+  EDKII extented HII IFR guid opcodes.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
@@ -98,9 +98,9 @@ typedef struct _EFI_IFR_GUID_BANNER {
   /// EFI_IFR_EXTEND_OP_BANNER\r
   ///\r
   UINT8               ExtendOpCode;\r
   /// EFI_IFR_EXTEND_OP_BANNER\r
   ///\r
   UINT8               ExtendOpCode;\r
-  EFI_STRING_ID       Title;        /// The string token for the banner title\r
-  UINT16              LineNumber;   /// 1-based line number\r
-  UINT8               Alignment;    /// left, center, or right-aligned\r
+  EFI_STRING_ID       Title;        ///< The string token for the banner title\r
+  UINT16              LineNumber;   ///< 1-based line number\r
+  UINT8               Alignment;    ///< left, center, or right-aligned\r
 } EFI_IFR_GUID_BANNER;\r
 \r
 ///\r
 } EFI_IFR_GUID_BANNER;\r
 \r
 ///\r
@@ -116,7 +116,7 @@ typedef struct _EFI_IFR_GUID_TIMEOUT {
   /// EFI_IFR_EXTEND_OP_TIMEOUT\r
   ///\r
   UINT8               ExtendOpCode;\r
   /// EFI_IFR_EXTEND_OP_TIMEOUT\r
   ///\r
   UINT8               ExtendOpCode;\r
-  UINT16              TimeOut;       /// TimeOut Value\r
+  UINT16              TimeOut;       ///< TimeOut Value\r
 } EFI_IFR_GUID_TIMEOUT;\r
 \r
 #define EFI_NON_DEVICE_CLASS              0x00\r
 } EFI_IFR_GUID_TIMEOUT;\r
 \r
 #define EFI_NON_DEVICE_CLASS              0x00\r
@@ -140,7 +140,7 @@ typedef struct _EFI_IFR_GUID_CLASS {
   /// EFI_IFR_EXTEND_OP_CLASS\r
   ///\r
   UINT8               ExtendOpCode;\r
   /// EFI_IFR_EXTEND_OP_CLASS\r
   ///\r
   UINT8               ExtendOpCode;\r
-  UINT16              Class;           /// Device Class from the above\r
+  UINT16              Class;           ///< Device Class from the above\r
 } EFI_IFR_GUID_CLASS;\r
 \r
 #define EFI_SETUP_APPLICATION_SUBCLASS    0x00\r
 } EFI_IFR_GUID_CLASS;\r
 \r
 #define EFI_SETUP_APPLICATION_SUBCLASS    0x00\r
@@ -161,7 +161,7 @@ typedef struct _EFI_IFR_GUID_SUBCLASS {
   /// EFI_IFR_EXTEND_OP_SUBCLASS\r
   ///\r
   UINT8               ExtendOpCode;\r
   /// EFI_IFR_EXTEND_OP_SUBCLASS\r
   ///\r
   UINT8               ExtendOpCode;\r
-  UINT16              SubClass;      ///Sub Class type from the above\r
+  UINT16              SubClass;      ///Sub Class type from the above\r
 } EFI_IFR_GUID_SUBCLASS;\r
 \r
 ///\r
 } EFI_IFR_GUID_SUBCLASS;\r
 \r
 ///\r
index 2f7c7c6663b70483d08132cfce2138fb768b1ee1..6e4ad1a9ca6ce7a638166499a54da90a928e5c5b 100644 (file)
@@ -1,5 +1,6 @@
 /** @file\r
 /** @file\r
-  The variable data structure related to EDK II specific UEFI variable implementation.\r
+  The variable data structures are related to EDK II specific UEFI variable implementation.\r
+  Variable data header and Variable storage region header are defined here.\r
 \r
   Copyright (c) 2006 - 2008 Intel Corporation. <BR>\r
   All rights reserved. This program and the accompanying materials\r
 \r
   Copyright (c) 2006 - 2008 Intel Corporation. <BR>\r
   All rights reserved. This program and the accompanying materials\r
 #define __VARIABLE_FORMAT_H__\r
 \r
 ///\r
 #define __VARIABLE_FORMAT_H__\r
 \r
 ///\r
-/// Maximum buffer for the single variable.\r
-///\r
-#ifndef MAX_VARIABLE_SIZE\r
-#define MAX_VARIABLE_SIZE                 FixedPcdGet32(PcdMaxVariableSize)\r
-#endif\r
-\r
-///\r
-/// Maximum buffer for Hardware error record variable\r
-///\r
-#ifndef MAX_HARDWARE_ERROR_VARIABLE_SIZE\r
-#define MAX_HARDWARE_ERROR_VARIABLE_SIZE  FixedPcdGet32(PcdMaxHardwareErrorVariableSize)\r
-#endif\r
-\r
-///\r
-/// The alignment of variable's start offset.\r
-/// For IA32/X64 architecture, the alignment is set to 1, and\r
-/// 8 is for IPF archtecture.\r
+/// Alignment of variable name and data.\r
+/// For IA32/X64 architecture, the alignment is set to 1, and 8 is for IPF archtecture.\r
 ///\r
 #if defined (MDE_CPU_IPF)\r
 #define ALIGNMENT         8\r
 ///\r
 #if defined (MDE_CPU_IPF)\r
 #define ALIGNMENT         8\r
 #define ALIGNMENT         1\r
 #endif\r
 \r
 #define ALIGNMENT         1\r
 #endif\r
 \r
+//\r
+// Define GET_PAD_SIZE to optimize compiler\r
+//\r
+#if ((ALIGNMENT == 0) || (ALIGNMENT == 1))\r
+#define GET_PAD_SIZE(a) (0)\r
+#else\r
+#define GET_PAD_SIZE(a) (((~a) + 1) & (ALIGNMENT - 1))\r
+#endif\r
+\r
+///\r
+/// Alignment of Variable Data Header in Variable Store region\r
+///\r
 #define HEADER_ALIGNMENT  4\r
 #define HEADER_ALIGNMENT  4\r
+#define HEADER_ALIGN(Header)  (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))\r
 \r
 ///\r
 \r
 ///\r
-/// Variable Store Status\r
+/// Status of Variable Store Region\r
 ///\r
 typedef enum {\r
   EfiRaw,\r
 ///\r
 typedef enum {\r
   EfiRaw,\r
@@ -100,7 +99,7 @@ typedef struct {
 #define VAR_ADDED                     0x3f  ///< Variable has been completely added\r
 \r
 ///\r
 #define VAR_ADDED                     0x3f  ///< Variable has been completely added\r
 \r
 ///\r
-/// Variable Data Header Structure\r
+/// Single Variable Data Header Structure\r
 ///\r
 typedef struct {\r
   ///\r
 ///\r
 typedef struct {\r
   ///\r
@@ -125,7 +124,7 @@ typedef struct {
   ///\r
   UINT32      DataSize;\r
   ///\r
   ///\r
   UINT32      DataSize;\r
   ///\r
-  /// A unique identifier for the vendor.\r
+  /// A unique identifier for the vendor that produce and consume this varaible.\r
   ///\r
   EFI_GUID    VendorGuid;\r
 } VARIABLE_HEADER;\r
   ///\r
   EFI_GUID    VendorGuid;\r
 } VARIABLE_HEADER;\r
index 93a0c8d934d52e12e02815c82994ce392fcd8e42..4298d5fe1808f2a75c1d99d949432a75506a78a8 100644 (file)
@@ -20,8 +20,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define WORKING_BLOCK_INVALID 0x2\r
 \r
 ///\r
 #define WORKING_BLOCK_INVALID 0x2\r
 \r
 ///\r
-/// EFI Fault tolerant working block header\r
-/// The header is immediately followed by the write queue.\r
+/// EDKII Fault tolerant working block header\r
+/// The header is immediately followed by the write queue data.\r
 ///\r
 typedef struct {\r
   ///\r
 ///\r
 typedef struct {\r
   ///\r
index f13098f8d3035f73b253333a344575d6e4f82d92..8a977003dc44e11aae2b01a9b4a038b868022a8a 100644 (file)
@@ -45,6 +45,6 @@
   BaseMemoryLib\r
 \r
 [Protocols]\r
   BaseMemoryLib\r
 \r
 [Protocols]\r
-  gEfiCrc32GuidedSectionExtractionProtocolGuid     # ALWAYS CONSUMED used as Guid, not protocol service\r
-  gEfiSecurityPolicyProtocolGuid                   # ALWAYS CONSUMED\r
+  gEfiCrc32GuidedSectionExtractionProtocolGuid     ## PRODUCED\r
+  gEfiSecurityPolicyProtocolGuid                   ## SOMETIMES_CONSUMED (Set platform override AUTH status if exist)\r
   
\ No newline at end of file
   
\ No newline at end of file
index 5addb491180874d9089a8f7dabeb7c9f42e49cba..6d7fe083518c35d7bdd10d11207a9c6c3a2d4026 100644 (file)
@@ -2,7 +2,7 @@
 #  \r
 #  Capsule Runtime Drivers produces two UEFI capsule runtime services.\r
 #  (UpdateCapsule, QueryCapsuleCapabilities)\r
 #  \r
 #  Capsule Runtime Drivers produces two UEFI capsule runtime services.\r
 #  (UpdateCapsule, QueryCapsuleCapabilities)\r
-#  It installs the Capsule Architectural Protocol (EDKII definition) to signify \r
+#  It installs the Capsule Architectural Protocol (EDKII extension definition) to signify \r
 #  the capsule runtime services are ready.\r
 #  \r
 #  Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 #  the capsule runtime services are ready.\r
 #  \r
 #  Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
   UefiRuntimeLib\r
 \r
 [Guids]\r
   UefiRuntimeLib\r
 \r
 [Guids]\r
-  gEfiCapsuleVendorGuid                         # Produce variable L"CapsuleUpdateData" for capsule updated data\r
+  gEfiCapsuleVendorGuid                         ## SOMETIMES_PRODUCED (Process across reset capsule image) ## Variable:L"CapsuleUpdateData" for capsule updated data\r
 \r
 [Protocols]\r
 \r
 [Protocols]\r
-  gEfiCapsuleArchProtocolGuid                   # PROTOCOL ALWAYS_PRODUCED\r
+  gEfiCapsuleArchProtocolGuid                   #PRODUCED\r
 \r
 [FeaturePcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset\r
 \r
 [FeaturePcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset\r
@@ -60,4 +60,4 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule\r
 \r
 [Depex]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule\r
 \r
 [Depex]\r
-  gEfiVariableWriteArchProtocolGuid             # Depends on variable write functionality to produce capsule data variable\r
+  gEfiVariableWriteArchProtocolGuid             ## Depends on variable write functionality to produce capsule data variable\r
index ed51c07d18cd39f9466fd9e8564d390aa28d2827..758d128a38e1271e051396ac2057fc90db8400a5 100644 (file)
   DevicePathLib\r
   \r
 [Guids]\r
   DevicePathLib\r
   \r
 [Guids]\r
-  gEfiSystemNvDataFvGuid                        # ALWAYS_CONSUMED, Signature of Working Space Header\r
+  gEfiSystemNvDataFvGuid                        ## CONSUMED ## FV Signature of Working Space Header\r
 \r
 [Protocols]\r
 \r
 [Protocols]\r
-  gEfiFirmwareVolumeBlockProtocolGuid           # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiFaultTolerantWriteLiteProtocolGuid        # PROTOCOL ALWAYS_PRODUCED\r
+  gEfiFirmwareVolumeBlockProtocolGuid           #CONSUMED\r
+  gEfiFaultTolerantWriteLiteProtocolGuid        #PRODUCED\r
 \r
 [Pcd.common]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
 \r
 [Pcd.common]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
index 01acc1d42dfa23a5aee67795b5e1c49edbeaaa07..44e426e11cf1e5666415c6714883dc353859d93b 100644 (file)
   DebugLib\r
 \r
 [Guids]\r
   DebugLib\r
 \r
 [Guids]\r
-  gPcdPeiCallbackFnTableHobGuid                 # ALWAYS_PRODUCED  Hob: GUID_EXTENSION\r
-  gPcdDataBaseHobGuid                           # ALWAYS_PRODUCED  Hob: GUID_EXTENSION\r
-\r
+  gPcdPeiCallbackFnTableHobGuid                 ## RPIVATE   ## Hob\r
+  gPcdDataBaseHobGuid                           ## PRODUCED  ## Hob\r
+  gPcdDataBaseHobGuid                           ## CONSUMED  ## Hob\r
 \r
 [Ppis]\r
 \r
 [Ppis]\r
-  gEfiPeiReadOnlyVariable2PpiGuid               # PPI ALWAYS_CONSUMED\r
-  gPcdPpiGuid                                   # PPI ALWAYS_PRODUCED\r
+  gEfiPeiReadOnlyVariable2PpiGuid               #CONSUMED\r
+  gPcdPpiGuid                                   #PRODUCED\r
 \r
 [FeaturePcd.common]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseSetEnabled\r
 \r
 [FeaturePcd.common]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseSetEnabled\r
index ce646edc7ba5f74d85dd5a0bfa47b2c72f3f7f55..4bd3c6150a856502e8f4162424a973ec33c2a0e7 100644 (file)
@@ -167,9 +167,8 @@ GetHiiVariable (
                           &Size,\r
                           NULL\r
                           );\r
                           &Size,\r
                           NULL\r
                           );\r
-  if (Status == EFI_BUFFER_TOO_SMALL) {\r
-\r
 \r
 \r
+  if (Status == EFI_BUFFER_TOO_SMALL) {\r
     Status = PeiServicesAllocatePool (Size, &Buffer);\r
     ASSERT_EFI_ERROR (Status);\r
 \r
     Status = PeiServicesAllocatePool (Size, &Buffer);\r
     ASSERT_EFI_ERROR (Status);\r
 \r
@@ -187,7 +186,7 @@ GetHiiVariable (
     *VariableData = Buffer;\r
 \r
     return EFI_SUCCESS;\r
     *VariableData = Buffer;\r
 \r
     return EFI_SUCCESS;\r
-  } \r
+  }\r
 \r
   return EFI_NOT_FOUND;\r
 }\r
 \r
   return EFI_NOT_FOUND;\r
 }\r
index 2a78525785316b7003d7afefc9e0bb89aeaf5c13..308fc08c6e08ee3b4ed0698e5d3c4575ca1a091c 100644 (file)
@@ -45,7 +45,7 @@
 \r
 \r
 [Ppis]\r
 \r
 \r
 [Ppis]\r
-  gEfiPciCfg2PpiGuid                   # PPI ALWAYS_PRODUCED\r
+  gEfiPciCfg2PpiGuid                   #PRODUCED\r
 \r
 [Depex]\r
   TRUE\r
 \r
 [Depex]\r
   TRUE\r
index e4ea60cff2ad75457a066fdaec47606455562d6d..a60e5576de28314861ee4c60e299d3ace8812dbb 100644 (file)
@@ -1,20 +1,5 @@
 /** @file\r
 \r
 /** @file\r
 \r
-Copyright (c) 2007 - 2008, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-Module Name:\r
-\r
-  PlatOverMngr.c\r
-\r
-Abstract:\r
-\r
   A UI application to offer a UI interface in device manager to let user configue\r
   platform override protocol to override the default algorithm for matching\r
   drivers to controllers.\r
   A UI application to offer a UI interface in device manager to let user configue\r
   platform override protocol to override the default algorithm for matching\r
   drivers to controllers.\r
@@ -27,6 +12,15 @@ Abstract:
   4. The UI application save all the mapping info in NV variables which will be consumed\r
      by platform override protocol driver to publish the platform override protocol.\r
 \r
   4. The UI application save all the mapping info in NV variables which will be consumed\r
      by platform override protocol driver to publish the platform override protocol.\r
 \r
+Copyright (c) 2007 - 2008, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
 **/\r
 \r
 #include <PiDxe.h>\r
 **/\r
 \r
 #include <PiDxe.h>\r
@@ -119,30 +113,33 @@ ConvertComponentNameSupportLanguage (
   IN CHAR8                           *Language\r
   )\r
 {\r
   IN CHAR8                           *Language\r
   )\r
 {\r
-  CHAR8                              *LangCode;\r
-  LangCode           = NULL;\r
+  CHAR8    *LangCode;\r
+  LangCode = NULL;\r
 \r
   //\r
 \r
   //\r
-  // check the input language is English\r
+  // Check the input language is English\r
   //\r
   if (AsciiStrnCmp (Language, "en-", 3) != 0) {\r
     return NULL;\r
   }\r
   //\r
   if (AsciiStrnCmp (Language, "en-", 3) != 0) {\r
     return NULL;\r
   }\r
-\r
-  //\r
-  // Convert Language string from RFC 3066 to ISO 639-2\r
-  //\r
-  LangCode = AllocateZeroPool(4);\r
-  AsciiStrCpy (LangCode, "eng");\r
   \r
   //\r
   \r
   //\r
-  // Check whether the converted language is supported in the SupportedLanguages list.\r
+  // Check SupportedLanguages format\r
   //\r
   //\r
-  if (AsciiStrStr (SupportedLanguages, LangCode) == NULL) {\r
-    FreePool (LangCode);\r
-    return NULL;\r
+  if (AsciiStrStr (SupportedLanguages, "en-") != NULL) {\r
+    //\r
+    // Create RFC 3066 language\r
+    //\r
+    LangCode = AllocateZeroPool(AsciiStrSize (Language));\r
+    AsciiStrCpy (LangCode, Language);\r
+  } else if (AsciiStrStr (SupportedLanguages, "en") != NULL) {\r
+    //\r
+    // Create ISO 639-2 Language\r
+    //\r
+    LangCode = AllocateZeroPool(4);\r
+    AsciiStrCpy (LangCode, "eng");    \r
   }\r
   }\r
-\r
+  \r
   return LangCode;\r
 }\r
 \r
   return LangCode;\r
 }\r
 \r
@@ -193,12 +190,14 @@ GetComponentName (
   if (ComponentName != NULL) {\r
     if (ComponentName->GetDriverName != NULL) {\r
       SupportedLanguage = ConvertComponentNameSupportLanguage (ComponentName->SupportedLanguages, mLanguage);\r
   if (ComponentName != NULL) {\r
     if (ComponentName->GetDriverName != NULL) {\r
       SupportedLanguage = ConvertComponentNameSupportLanguage (ComponentName->SupportedLanguages, mLanguage);\r
-      Status = ComponentName->GetDriverName (\r
-                                ComponentName,\r
-                                SupportedLanguage,\r
-                                &DriverName\r
-                                );\r
-      FreePool (SupportedLanguage);\r
+      if (SupportedLanguage != NULL) {\r
+        Status = ComponentName->GetDriverName (\r
+                                  ComponentName,\r
+                                  SupportedLanguage,\r
+                                  &DriverName\r
+                                  );\r
+        FreePool (SupportedLanguage);\r
+      }\r
     }\r
   } else if (ComponentName2 != NULL) {\r
     if (ComponentName2->GetDriverName != NULL) {\r
     }\r
   } else if (ComponentName2 != NULL) {\r
     if (ComponentName2->GetDriverName != NULL) {\r
@@ -555,7 +554,10 @@ GetDriverBindingHandleFromImageHandle (
   if (EFI_ERROR (Status) || (DriverBindingHandleCount == 0)) {\r
     return NULL;\r
   }\r
   if (EFI_ERROR (Status) || (DriverBindingHandleCount == 0)) {\r
     return NULL;\r
   }\r
-\r
+  \r
+  //\r
+  // Get the first Driver Binding handle which has the specific image handle.\r
+  //\r
   for (Index = 0; Index < DriverBindingHandleCount; Index++) {\r
     DriverBindingInterface = NULL;\r
     Status = gBS->OpenProtocol (\r
   for (Index = 0; Index < DriverBindingHandleCount; Index++) {\r
     DriverBindingInterface = NULL;\r
     Status = gBS->OpenProtocol (\r
@@ -576,9 +578,6 @@ GetDriverBindingHandleFromImageHandle (
     }\r
   }\r
 \r
     }\r
   }\r
 \r
-  //\r
-  // If no Driver Binding Protocol instance is found\r
-  //\r
   FreePool (DriverBindingHandleBuffer);\r
   return DriverBindingHandle;\r
 }\r
   FreePool (DriverBindingHandleBuffer);\r
   return DriverBindingHandle;\r
 }\r
@@ -1301,7 +1300,7 @@ PlatOverMngrInit (
   EFI_CALLBACK_INFO           *CallbackInfo;\r
   EFI_HANDLE                  DriverHandle;\r
   EFI_FORM_BROWSER2_PROTOCOL       *FormBrowser2;\r
   EFI_CALLBACK_INFO           *CallbackInfo;\r
   EFI_HANDLE                  DriverHandle;\r
   EFI_FORM_BROWSER2_PROTOCOL       *FormBrowser2;\r
-\r
+  \r
   //\r
   // There should only be one HII protocol\r
   //\r
   //\r
   // There should only be one HII protocol\r
   //\r
@@ -1341,7 +1340,7 @@ PlatOverMngrInit (
   //\r
   Status = HiiLibCreateHiiDriverHandle (&DriverHandle);\r
   if (EFI_ERROR (Status)) {\r
   //\r
   Status = HiiLibCreateHiiDriverHandle (&DriverHandle);\r
   if (EFI_ERROR (Status)) {\r
-    return Status;\r
+    goto Finish;\r
   }\r
   CallbackInfo->DriverHandle = DriverHandle;\r
 \r
   }\r
   CallbackInfo->DriverHandle = DriverHandle;\r
 \r
@@ -1355,7 +1354,7 @@ PlatOverMngrInit (
                   &CallbackInfo->ConfigAccess\r
                   );\r
   if (EFI_ERROR (Status)) {\r
                   &CallbackInfo->ConfigAccess\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    return Status;\r
+    goto Finish;\r
   }\r
 \r
   //\r
   }\r
 \r
   //\r
@@ -1377,6 +1376,10 @@ PlatOverMngrInit (
                            );\r
   FreePool (PackageList);\r
 \r
                            );\r
   FreePool (PackageList);\r
 \r
+  if (EFI_ERROR (Status)) {\r
+    goto Finish;\r
+  }\r
+\r
   //\r
   // Locate ConfigRouting protocol\r
   //\r
   //\r
   // Locate ConfigRouting protocol\r
   //\r
@@ -1386,7 +1389,7 @@ PlatOverMngrInit (
                   (VOID **) &CallbackInfo->HiiConfigRouting\r
                   );\r
   if (EFI_ERROR (Status)) {\r
                   (VOID **) &CallbackInfo->HiiConfigRouting\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    return Status;\r
+    goto Finish;\r
   }\r
 \r
   //\r
   }\r
 \r
   //\r
@@ -1411,11 +1414,24 @@ PlatOverMngrInit (
                            NULL,\r
                            NULL\r
                            );\r
                            NULL,\r
                            NULL\r
                            );\r
+  if (EFI_ERROR (Status)) {\r
+    goto Finish;\r
+  }\r
 \r
   Status = HiiDatabase->RemovePackageList (HiiDatabase, CallbackInfo->RegisteredHandle);\r
   if (EFI_ERROR (Status)) {\r
 \r
   Status = HiiDatabase->RemovePackageList (HiiDatabase, CallbackInfo->RegisteredHandle);\r
   if (EFI_ERROR (Status)) {\r
-    return Status;\r
+    goto Finish;\r
   }\r
   }\r
-\r
+  \r
   return EFI_SUCCESS;\r
   return EFI_SUCCESS;\r
+\r
+Finish:\r
+  if (CallbackInfo->DriverHandle != NULL) {\r
+    HiiLibDestroyHiiDriverHandle (CallbackInfo->DriverHandle);\r
+  }\r
+  if (CallbackInfo != NULL) {\r
+    FreePool (CallbackInfo);\r
+  }\r
+\r
+  return Status;\r
 }\r
 }\r
index 4ba540e079be79524aa6e152502ef9ff0c629a43..7ba07bcb60dc147b9ed02db593a6893dd4b79d4d 100644 (file)
   GenericBdsLib\r
   \r
 [Guids]\r
   GenericBdsLib\r
   \r
 [Guids]\r
-  gEfiGlobalVariableGuid                        # Get value of variable L"PlatformLang". \r
-                                                # this value specifies the platform supported language string (RFC 3066)\r
+  gEfiGlobalVariableGuid                        ## CONSUMED ## Variable:L"PlatformLang" this variable specifies the platform supported language string (RFC 3066 format)\r
 \r
 [Protocols]\r
 \r
 [Protocols]\r
-  gEfiComponentName2ProtocolGuid                # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiComponentNameProtocolGuid                 # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiFirmwareVolume2ProtocolGuid               # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiDevicePathProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiPciIoProtocolGuid                         # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiBusSpecificDriverOverrideProtocolGuid     # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiDriverBindingProtocolGuid                 # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiLoadedImageProtocolGuid                   # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiLoadedImageDevicePathProtocolGuid         # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiHiiDatabaseProtocolGuid                   # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiFormBrowser2ProtocolGuid                  # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiHiiConfigRoutingProtocolGuid              # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiHiiConfigAccessProtocolGuid               # PROTOCOL ALWAYS_PRODUCED\r
+  gEfiComponentName2ProtocolGuid                ## SOMETIMES_CONSUMED (Get Driver Name if ComponentName2Protocol exists)\r
+  gEfiComponentNameProtocolGuid                 ## SOMETIMES_CONSUMED (Get Driver Name if ComponentNameProtocol exists and ComponentName2Protocol doesn't exist)\r
+  gEfiFirmwareVolume2ProtocolGuid               ## SOMETIMES_CONSUMED (Get Driver Name from EFI UI section if ComponentName2Protocol and ComponentNameProtocol don't exist)\r
+  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMED (Find the PCI device if PciIo protocol is installed)\r
+  gEfiBusSpecificDriverOverrideProtocolGuid     ## SOMETIMES_CONSUMED (Check whether the PCI device contains one or more efi drivers in its option rom by this protocol) \r
+\r
+  gEfiDriverBindingProtocolGuid                 ## SOMETIMES_CONSUMED\r
+  gEfiLoadedImageProtocolGuid                   ## SOMETIMES_CONSUMED\r
+  gEfiLoadedImageDevicePathProtocolGuid         ## SOMETIMES_CONSUMED (Show the drivers in the second page that support DriverBindingProtocol, LoadedImageProtocol and LoadedImageDevicePathProtocol)\r
+  gEfiDevicePathProtocolGuid                    ## SOMETIMES_CONSUMED (Show the controller device in the first page that support DevicePathProtocol)\r
+\r
+  gEfiHiiDatabaseProtocolGuid                   ## CONSUMED\r
+  gEfiFormBrowser2ProtocolGuid                  ## CONSUMED\r
+  gEfiHiiConfigRoutingProtocolGuid              ## CONSUMED\r
+  gEfiHiiConfigAccessProtocolGuid               ## PRODUCED\r
   
\ No newline at end of file
   
\ No newline at end of file
index 299e42c8e8f9d910c0cbae7b2fa53f1c0958559a..90ee5133e2a86bb404836fed89e582af17538e03 100644 (file)
@@ -45,5 +45,5 @@
   UefiBootServicesTableLib\r
 \r
 [Protocols]\r
   UefiBootServicesTableLib\r
 \r
 [Protocols]\r
-  gEfiPlatformDriverOverrideProtocolGuid   # ALWAYS_PRODUCED\r
+  gEfiPlatformDriverOverrideProtocolGuid   #PRODUCED\r
   
\ No newline at end of file
   
\ No newline at end of file
index 71c5a8ef388d3014d8e2d99842bac638203a0184..2d02248b13a5b16d228c55931d35d16dd7783d6c 100644 (file)
@@ -39,7 +39,7 @@
   DebugLib\r
 \r
 [Protocols]\r
   DebugLib\r
 \r
 [Protocols]\r
-  gEfiSecurityArchProtocolGuid                  # PROTOCOL ALWAYS_PRODUCED\r
+  gEfiSecurityArchProtocolGuid                  #PRODUCED\r
 \r
 [Depex]\r
   TRUE\r
 \r
 [Depex]\r
   TRUE\r
index f028b717c9bcdcfd21ba58e61fb39ff6d134f558..8954a5fd8e42b99906ea797753779c0662ae4998 100644 (file)
@@ -118,7 +118,7 @@ GetNextVariablePtr (
   VarHeader = (VARIABLE_HEADER *) (GetVariableDataPtr (Variable) + Variable->DataSize + GET_PAD_SIZE (Variable->DataSize));\r
 \r
   if (VarHeader->StartId != VARIABLE_DATA ||\r
   VarHeader = (VARIABLE_HEADER *) (GetVariableDataPtr (Variable) + Variable->DataSize + GET_PAD_SIZE (Variable->DataSize));\r
 \r
   if (VarHeader->StartId != VARIABLE_DATA ||\r
-      (sizeof (VARIABLE_HEADER) + VarHeader->DataSize + VarHeader->NameSize) > MAX_VARIABLE_SIZE\r
+      (sizeof (VARIABLE_HEADER) + VarHeader->DataSize + VarHeader->NameSize) > FixedPcdGet32(PcdMaxVariableSize)\r
       ) {\r
     return NULL;\r
   }\r
       ) {\r
     return NULL;\r
   }\r
@@ -485,21 +485,21 @@ SetVariable (
   }\r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
   }\r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
-  //  the DataSize is limited to maximum size of MAX_HARDWARE_ERROR_VARIABLE_SIZE (32K)\r
-  //  bytes for HwErrRec, and MAX_VARIABLE_SIZE (1024) bytes for the others.\r
+  //  the DataSize is limited to maximum size of FixedPcdGet32(PcdMaxHardwareErrorVariableSize)\r
+  //  bytes for HwErrRec, and FixedPcdGet32(PcdMaxVariableSize) bytes for the others.\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
-    if ((DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE) ||                                                       \r
-        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE)) {\r
+    if ((DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize)) ||                                                       \r
+        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize))) {\r
       return EFI_INVALID_PARAMETER;\r
     }    \r
   } else {\r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
       return EFI_INVALID_PARAMETER;\r
     }    \r
   } else {\r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
-  //  the DataSize is limited to maximum size of MAX_VARIABLE_SIZE (1024) bytes.\r
+  //  the DataSize is limited to maximum size of FixedPcdGet32(PcdMaxVariableSize) bytes.\r
   //\r
   //\r
-    if ((DataSize > MAX_VARIABLE_SIZE) ||\r
-        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_VARIABLE_SIZE)) {\r
+    if ((DataSize > FixedPcdGet32(PcdMaxVariableSize)) ||\r
+        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxVariableSize))) {\r
       return EFI_INVALID_PARAMETER;\r
     }  \r
   }  \r
       return EFI_INVALID_PARAMETER;\r
     }  \r
   }  \r
@@ -740,15 +740,15 @@ QueryVariableInfo (
   *RemainingVariableStorageSize = VariableStoreHeader->Size - sizeof (VARIABLE_STORE_HEADER);\r
 \r
   //\r
   *RemainingVariableStorageSize = VariableStoreHeader->Size - sizeof (VARIABLE_STORE_HEADER);\r
 \r
   //\r
-  // Let *MaximumVariableSize be MAX_VARIABLE_SIZE with the exception of the variable header size.\r
+  // Let *MaximumVariableSize be FixedPcdGet32(PcdMaxVariableSize) with the exception of the variable header size.\r
   //\r
   //\r
-  *MaximumVariableSize = MAX_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
+  *MaximumVariableSize = FixedPcdGet32(PcdMaxVariableSize) - sizeof (VARIABLE_HEADER);\r
 \r
   //\r
   // Harware error record variable needs larger size.\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
 \r
   //\r
   // Harware error record variable needs larger size.\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
-    *MaximumVariableSize = MAX_HARDWARE_ERROR_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
+    *MaximumVariableSize = FixedPcdGet32(PcdMaxHardwareErrorVariableSize) - sizeof (VARIABLE_HEADER);\r
   }\r
 \r
   //\r
   }\r
 \r
   //\r
@@ -808,13 +808,13 @@ InitializeVariableStore (
   // Allocate memory for volatile variable store\r
   //\r
   VariableStore = (VARIABLE_STORE_HEADER *) AllocateRuntimePool (\r
   // Allocate memory for volatile variable store\r
   //\r
   VariableStore = (VARIABLE_STORE_HEADER *) AllocateRuntimePool (\r
-                                              VARIABLE_STORE_SIZE\r
+                                              FixedPcdGet32(PcdVariableStoreSize)\r
                                               );\r
   if (NULL == VariableStore) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
                                               );\r
   if (NULL == VariableStore) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  SetMem (VariableStore, VARIABLE_STORE_SIZE, 0xff);\r
+  SetMem (VariableStore, FixedPcdGet32(PcdVariableStoreSize), 0xff);\r
 \r
   //\r
   // Variable Specific Data\r
 \r
   //\r
   // Variable Specific Data\r
@@ -823,7 +823,7 @@ InitializeVariableStore (
   *LastVariableOffset       = sizeof (VARIABLE_STORE_HEADER);\r
 \r
   VariableStore->Signature  = VARIABLE_STORE_SIGNATURE;\r
   *LastVariableOffset       = sizeof (VARIABLE_STORE_HEADER);\r
 \r
   VariableStore->Signature  = VARIABLE_STORE_SIGNATURE;\r
-  VariableStore->Size       = VARIABLE_STORE_SIZE;\r
+  VariableStore->Size       = FixedPcdGet32(PcdVariableStoreSize);\r
   VariableStore->Format     = VARIABLE_STORE_FORMATTED;\r
   VariableStore->State      = VARIABLE_STORE_HEALTHY;\r
   VariableStore->Reserved   = 0;\r
   VariableStore->Format     = VARIABLE_STORE_FORMATTED;\r
   VariableStore->State      = VARIABLE_STORE_HEALTHY;\r
   VariableStore->Reserved   = 0;\r
index 41205067352a406d999965fccef09e54631b637d..3880ed55c975e9afb42f28bd47a970607d8bb569 100644 (file)
@@ -33,18 +33,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/PcdLib.h>\r
 #include <VariableFormat.h>\r
 \r
 #include <Library/PcdLib.h>\r
 #include <VariableFormat.h>\r
 \r
-#define VARIABLE_STORE_SIZE FixedPcdGet32(PcdVariableStoreSize)\r
-#define SCRATCH_SIZE        FixedPcdGet32(PcdMaxVariableSize)\r
-\r
-//\r
-// Define GET_PAD_SIZE to optimize compiler\r
-//\r
-#if ((ALIGNMENT == 0) || (ALIGNMENT == 1))\r
-#define GET_PAD_SIZE(a) (0)\r
-#else\r
-#define GET_PAD_SIZE(a) (((~a) + 1) & (ALIGNMENT - 1))\r
-#endif\r
-\r
 #define GET_VARIABLE_NAME_PTR(a)  (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER))\r
 \r
 typedef enum {\r
 #define GET_VARIABLE_NAME_PTR(a)  (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER))\r
 \r
 typedef enum {\r
index fe32c113dd11fc3c094f13e604396eecc8290567..7641a760d09fd36bfd1f1d461375e9e8ef170c6b 100644 (file)
@@ -30,17 +30,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include <VariableFormat.h>\r
 \r
 \r
 #include <VariableFormat.h>\r
 \r
-//\r
-// Define GET_PAD_SIZE to optimize compiler\r
-//\r
-#if ((ALIGNMENT == 0) || (ALIGNMENT == 1))\r
-#define GET_PAD_SIZE(a) (0)\r
-#else\r
-#define GET_PAD_SIZE(a) (((~a) + 1) & (ALIGNMENT - 1))\r
-#endif\r
-\r
-#define HEADER_ALIGN(Header)  (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))\r
-\r
 typedef struct {\r
   VARIABLE_HEADER *CurrPtr;\r
   VARIABLE_HEADER *EndPtr;\r
 typedef struct {\r
   VARIABLE_HEADER *CurrPtr;\r
   VARIABLE_HEADER *EndPtr;\r
index f09ed236045bab6fba52d2eaf37257be98ea4d46..745021a0f3cbe3096579a147e6a8fb8b576357f0 100644 (file)
@@ -1225,21 +1225,21 @@ RuntimeServiceSetVariable (
 \r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
 \r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
-  //  the DataSize is limited to maximum size of MAX_HARDWARE_ERROR_VARIABLE_SIZE (32K)\r
-  //  bytes for HwErrRec, and MAX_VARIABLE_SIZE (1024) bytes for the others.\r
+  //  the DataSize is limited to maximum size of FixedPcdGet32(PcdMaxHardwareErrorVariableSize)\r
+  //  bytes for HwErrRec, and FixedPcdGet32(PcdMaxVariableSize) bytes for the others.\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
-    if ((DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE) ||                                                       \r
-        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE)) {\r
+    if ((DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize)) ||                                                       \r
+        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize))) {\r
       return EFI_INVALID_PARAMETER;\r
     }    \r
   } else {\r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
       return EFI_INVALID_PARAMETER;\r
     }    \r
   } else {\r
   //\r
   //  The size of the VariableName, including the Unicode Null in bytes plus\r
-  //  the DataSize is limited to maximum size of MAX_VARIABLE_SIZE (1024) bytes.\r
+  //  the DataSize is limited to maximum size of FixedPcdGet32(PcdMaxVariableSize) bytes.\r
   //\r
   //\r
-    if ((DataSize > MAX_VARIABLE_SIZE) ||\r
-        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_VARIABLE_SIZE)) {\r
+    if ((DataSize > FixedPcdGet32(PcdMaxVariableSize)) ||\r
+        (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxVariableSize))) {\r
       return EFI_INVALID_PARAMETER;\r
     }  \r
   }  \r
       return EFI_INVALID_PARAMETER;\r
     }  \r
   }  \r
@@ -1391,7 +1391,7 @@ RuntimeServiceSetVariable (
   //\r
   NextVariable = GetEndPointer ((VARIABLE_STORE_HEADER *) ((UINTN) mVariableModuleGlobal->VariableGlobal.VolatileVariableBase));\r
 \r
   //\r
   NextVariable = GetEndPointer ((VARIABLE_STORE_HEADER *) ((UINTN) mVariableModuleGlobal->VariableGlobal.VolatileVariableBase));\r
 \r
-  SetMem (NextVariable, SCRATCH_SIZE, 0xff);\r
+  SetMem (NextVariable, FixedPcdGet32(PcdMaxVariableSize), 0xff);\r
 \r
   NextVariable->StartId     = VARIABLE_DATA;\r
   NextVariable->Attributes  = Attributes;\r
 \r
   NextVariable->StartId     = VARIABLE_DATA;\r
   NextVariable->Attributes  = Attributes;\r
@@ -1690,15 +1690,15 @@ RuntimeServiceQueryVariableInfo (
   *RemainingVariableStorageSize = VariableStoreHeader->Size - sizeof (VARIABLE_STORE_HEADER);\r
 \r
   //\r
   *RemainingVariableStorageSize = VariableStoreHeader->Size - sizeof (VARIABLE_STORE_HEADER);\r
 \r
   //\r
-  // Let *MaximumVariableSize be MAX_VARIABLE_SIZE with the exception of the variable header size.\r
+  // Let *MaximumVariableSize be FixedPcdGet32(PcdMaxVariableSize) with the exception of the variable header size.\r
   //\r
   //\r
-  *MaximumVariableSize = MAX_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
+  *MaximumVariableSize = FixedPcdGet32(PcdMaxVariableSize) - sizeof (VARIABLE_HEADER);\r
 \r
   //\r
   // Harware error record variable needs larger size.\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
 \r
   //\r
   // Harware error record variable needs larger size.\r
   //\r
   if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {\r
-    *MaximumVariableSize = MAX_HARDWARE_ERROR_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);\r
+    *MaximumVariableSize = FixedPcdGet32(PcdMaxHardwareErrorVariableSize) - sizeof (VARIABLE_HEADER);\r
   }\r
 \r
   //\r
   }\r
 \r
   //\r
@@ -1835,13 +1835,13 @@ VariableCommonInitialize (
   //\r
   // Allocate memory for volatile variable store\r
   //\r
   //\r
   // Allocate memory for volatile variable store\r
   //\r
-  VolatileVariableStore = AllocateRuntimePool (VARIABLE_STORE_SIZE + SCRATCH_SIZE);\r
+  VolatileVariableStore = AllocateRuntimePool (FixedPcdGet32(PcdVariableStoreSize) + FixedPcdGet32(PcdMaxVariableSize));\r
   if (VolatileVariableStore == NULL) {\r
     FreePool (mVariableModuleGlobal);\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
   if (VolatileVariableStore == NULL) {\r
     FreePool (mVariableModuleGlobal);\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  SetMem (VolatileVariableStore, VARIABLE_STORE_SIZE + SCRATCH_SIZE, 0xff);\r
+  SetMem (VolatileVariableStore, FixedPcdGet32(PcdVariableStoreSize) + FixedPcdGet32(PcdMaxVariableSize), 0xff);\r
 \r
   //\r
   //  Variable Specific Data\r
 \r
   //\r
   //  Variable Specific Data\r
@@ -1850,7 +1850,7 @@ VariableCommonInitialize (
   mVariableModuleGlobal->VolatileLastVariableOffset = (UINTN) GetStartPointer (VolatileVariableStore) - (UINTN) VolatileVariableStore;\r
 \r
   VolatileVariableStore->Signature                  = VARIABLE_STORE_SIGNATURE;\r
   mVariableModuleGlobal->VolatileLastVariableOffset = (UINTN) GetStartPointer (VolatileVariableStore) - (UINTN) VolatileVariableStore;\r
 \r
   VolatileVariableStore->Signature                  = VARIABLE_STORE_SIGNATURE;\r
-  VolatileVariableStore->Size                       = VARIABLE_STORE_SIZE;\r
+  VolatileVariableStore->Size                       = FixedPcdGet32(PcdVariableStoreSize);\r
   VolatileVariableStore->Format                     = VARIABLE_STORE_FORMATTED;\r
   VolatileVariableStore->State                      = VARIABLE_STORE_HEALTHY;\r
   VolatileVariableStore->Reserved                   = 0;\r
   VolatileVariableStore->Format                     = VARIABLE_STORE_FORMATTED;\r
   VolatileVariableStore->State                      = VARIABLE_STORE_HEALTHY;\r
   VolatileVariableStore->Reserved                   = 0;\r
index 320d1ec562cb72a5b0e54a2730d7ec176910d5ec..5682aa9c34bb0a31de5f986f79c813bd976a1e89 100644 (file)
@@ -37,25 +37,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Guid/GlobalVariable.h>\r
 #include <VariableFormat.h>\r
 \r
 #include <Guid/GlobalVariable.h>\r
 #include <VariableFormat.h>\r
 \r
-\r
-\r
 #define VARIABLE_RECLAIM_THRESHOLD (1024)\r
 \r
 #define VARIABLE_RECLAIM_THRESHOLD (1024)\r
 \r
-#define VARIABLE_STORE_SIZE FixedPcdGet32(PcdVariableStoreSize)\r
-#define SCRATCH_SIZE        FixedPcdGet32(PcdMaxVariableSize)\r
-\r
-//\r
-// Define GET_PAD_SIZE to optimize compiler\r
-//\r
-#if ((ALIGNMENT == 0) || (ALIGNMENT == 1))\r
-#define GET_PAD_SIZE(a) (0)\r
-#else\r
-#define GET_PAD_SIZE(a) (((~a) + 1) & (ALIGNMENT - 1))\r
-#endif\r
-\r
-#define HEADER_ALIGN(Header)  (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))\r
-\r
-\r
 typedef struct {\r
   VARIABLE_HEADER *CurrPtr;\r
   VARIABLE_HEADER *EndPtr;\r
 typedef struct {\r
   VARIABLE_HEADER *CurrPtr;\r
   VARIABLE_HEADER *EndPtr;\r