]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Include/Library/PlatformBdsLib.h
Update the copyright notice format
[mirror_edk2.git] / IntelFrameworkModulePkg / Include / Library / PlatformBdsLib.h
index 9a5f6941b7ed998893bbd283bac5822b75547ef9..af237a6030eb35aab35477c2e996a99117403896 100644 (file)
@@ -2,13 +2,13 @@
   Platform BDS library definition. A platform can implement \r
   instances to support platform-specific behavior.\r
 \r
-Copyright (c) 2008 - 2009, Intel Corporation. <BR>\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
+Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+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
@@ -19,6 +19,47 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Protocol/GenericMemoryTest.h>\r
 #include <Library/GenericBdsLib.h>\r
 \r
+/**\r
+  Perform the memory test base on the memory test intensive level,\r
+  and update the memory resource.\r
+\r
+  @param  Level         The memory test intensive level.\r
+\r
+  @retval EFI_STATUS    Successfully test all the system memory, and update\r
+                        the memory resource\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *BASEM_MEMORY_TEST)(\r
+  IN EXTENDMEM_COVERAGE_LEVEL Level\r
+  );\r
+\r
+/**\r
+  This routine is called to see if there are any capsules we need to process.\r
+  If the boot mode is not UPDATE, then we do nothing. Otherwise, find the\r
+  capsule HOBS and produce firmware volumes for them via the DXE service.\r
+  Then call the dispatcher to dispatch drivers from them. Finally, check\r
+  the status of the updates.\r
+\r
+  This function should be called by BDS in case we need to do some\r
+  sort of processing even if there is no capsule to process. We\r
+  need to do this if an earlier update went away and we need to\r
+  clear the capsule variable so on the next reset PEI does not see it and\r
+  think there is a capsule available.\r
+\r
+  @param BootMode                 The current boot mode\r
+\r
+  @retval EFI_INVALID_PARAMETER   The boot mode is not correct for an update.\r
+  @retval EFI_SUCCESS             There is no error when processing a capsule.\r
+\r
+**/\r
+typedef \r
+EFI_STATUS\r
+(EFIAPI *PROCESS_CAPSULES)(\r
+  IN EFI_BOOT_MODE BootMode\r
+  );\r
+\r
 /**\r
   Platform Bds initialization. Includes the platform firmware vendor, revision\r
   and so crc check.\r
@@ -37,22 +78,26 @@ PlatformBdsInit (
 \r
   @param  DriverOptionList        The header of the driver option link list\r
   @param  BootOptionList          The header of the boot option link list\r
+  @param  ProcessCapsules         A pointer to ProcessCapsules()\r
+  @param  BaseMemoryTest          A pointer to BaseMemoryTest()\r
 \r
 **/\r
 VOID\r
 EFIAPI\r
 PlatformBdsPolicyBehavior (\r
   IN LIST_ENTRY                      *DriverOptionList,\r
-  IN LIST_ENTRY                      *BootOptionList\r
+  IN LIST_ENTRY                      *BootOptionList,\r
+  IN PROCESS_CAPSULES                ProcessCapsules,\r
+  IN BASEM_MEMORY_TEST               BaseMemoryTest\r
   );\r
 \r
 /**\r
-  Hook point after a boot attempt fails.\r
+  Hook point for a user-provided function, for after a boot attempt fails. \r
 \r
-  @param  Option                  Pointer to Boot Option that failed to boot.\r
-  @param  Status                  Status returned from failed boot.\r
-  @param  ExitData                Exit data returned from failed boot.\r
-  @param  ExitDataSize            Exit data size returned from failed boot.\r
+  @param  Option                  A pointer to Boot Option that failed to boot.\r
+  @param  Status                  The status returned from failed boot.\r
+  @param  ExitData                The exit data returned from failed boot.\r
+  @param  ExitDataSize            The exit data size returned from failed boot.\r
 \r
 **/\r
 VOID\r
@@ -70,7 +115,7 @@ PlatformBdsBootFail (
   interactive mode and stop processing the BootOrder list in this case. This\r
   is also a platform implementation, and can be customized by an IBV/OEM.\r
 \r
-  @param  Option                  Pointer to Boot Option that successfully booted.\r
+  @param  Option                  A pointer to the Boot Option that successfully booted.\r
 \r
 **/\r
 VOID\r
@@ -96,10 +141,10 @@ PlatformBdsLockNonUpdatableFlash (
   presses will be ignored until the Password is typed in. The only way to\r
   disable the password is to type it in to a ConIn device.\r
 \r
-  @param  Password        Password used to lock ConIn device.\r
+  @param  Password        The password used to lock ConIn device.\r
 \r
-  @retval EFI_SUCCESS     lock the Console In Spliter virtual handle successfully.\r
-  @retval EFI_UNSUPPORTED Password not found\r
+  @retval EFI_SUCCESS     Lock the Console In Spliter virtual handle successfully.\r
+  @retval EFI_UNSUPPORTED Password not found.\r
 \r
 **/\r
 EFI_STATUS\r