]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Universal / Disk / CdExpressPei / PeiCdExpress.h
index 91f34dc3c249a33b46367b8e04dfdd6138f98072..e5b9c1eaa2d21b6707dab8d01ff348224ef15d54 100644 (file)
@@ -1,23 +1,15 @@
 /** @file\r
   Header file for CD recovery PEIM\r
 \r
 /** @file\r
   Header file for CD recovery PEIM\r
 \r
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 \r
 \r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution.  The\r
-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
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #ifndef _PEI_CD_EXPRESS_H_\r
 #define _PEI_CD_EXPRESS_H_\r
 \r
 \r
 **/\r
 \r
 #ifndef _PEI_CD_EXPRESS_H_\r
 #define _PEI_CD_EXPRESS_H_\r
 \r
-\r
 #include <PiPei.h>\r
 \r
 #include <Ppi/BlockIo.h>\r
 #include <PiPei.h>\r
 \r
 #include <Ppi/BlockIo.h>\r
@@ -33,49 +25,42 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/PeiServicesLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 \r
 #include <Library/PeiServicesLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 \r
-\r
 #pragma pack(1)\r
 \r
 #pragma pack(1)\r
 \r
-#define PEI_CD_EXPRESS_MAX_BLOCK_IO_PPI   8\r
-#define PEI_CD_EXPRESS_MAX_CAPSULE_NUMBER 16\r
+#define PEI_CD_EXPRESS_MAX_BLOCK_IO_PPI    8\r
+#define PEI_CD_EXPRESS_MAX_CAPSULE_NUMBER  16\r
 \r
 \r
-#define PEI_CD_BLOCK_SIZE                 0x800\r
-#define PEI_MEMMORY_PAGE_SIZE             0x1000\r
-\r
-//\r
-// Recovery file name (in root directory)\r
-//\r
-#define PEI_RECOVERY_FILE_NAME  "FVMAIN.FV"\r
+#define PEI_CD_BLOCK_SIZE      0x800\r
+#define PEI_MEMMORY_PAGE_SIZE  0x1000\r
 \r
 //\r
 // Following are defined according to ISO-9660 specification\r
 //\r
 \r
 //\r
 // Following are defined according to ISO-9660 specification\r
 //\r
-#define PEI_CD_STANDARD_ID                      "CD001"\r
-#define PEI_CD_EXPRESS_STANDARD_ID_SIZE         5\r
+#define PEI_CD_STANDARD_ID               "CD001"\r
+#define PEI_CD_EXPRESS_STANDARD_ID_SIZE  5\r
 \r
 \r
-#define PEI_CD_EXPRESS_VOLUME_TYPE_OFFSET       0\r
-#define PEI_CD_EXPRESS_STANDARD_ID_OFFSET       1\r
-#define PEI_CD_EXPRESS_VOLUME_SPACE_OFFSET      80\r
-#define PEI_CD_EXPRESS_ROOT_DIR_RECORD_OFFSET   156\r
+#define PEI_CD_EXPRESS_VOLUME_TYPE_OFFSET      0\r
+#define PEI_CD_EXPRESS_STANDARD_ID_OFFSET      1\r
+#define PEI_CD_EXPRESS_VOLUME_SPACE_OFFSET     80\r
+#define PEI_CD_EXPRESS_ROOT_DIR_RECORD_OFFSET  156\r
 \r
 \r
-#define PEI_CD_EXPRESS_VOLUME_TYPE_PRIMARY      1\r
-#define PEI_CD_EXPRESS_VOLUME_TYPE_TERMINATOR   255\r
+#define PEI_CD_EXPRESS_VOLUME_TYPE_PRIMARY     1\r
+#define PEI_CD_EXPRESS_VOLUME_TYPE_TERMINATOR  255\r
 \r
 #define PEI_CD_EXPRESS_DIR_FILE_REC_FLAG_ISDIR  0x02\r
 \r
 typedef struct {\r
 \r
 #define PEI_CD_EXPRESS_DIR_FILE_REC_FLAG_ISDIR  0x02\r
 \r
 typedef struct {\r
-  UINTN                           CapsuleStartLBA;\r
-  UINTN                           CapsuleSize;\r
-  UINTN                           CapsuleBlockAlignedSize;\r
-  UINTN                           IndexBlock;\r
-  EFI_PEI_RECOVERY_BLOCK_IO_PPI   *BlockIo;\r
-  EFI_PEI_RECOVERY_BLOCK_IO2_PPI  *BlockIo2;\r
+  UINTN                             CapsuleStartLBA;\r
+  UINTN                             CapsuleSize;\r
+  UINTN                             CapsuleBlockAlignedSize;\r
+  UINTN                             IndexBlock;\r
+  EFI_PEI_RECOVERY_BLOCK_IO_PPI     *BlockIo;\r
+  EFI_PEI_RECOVERY_BLOCK_IO2_PPI    *BlockIo2;\r
 } PEI_CD_EXPRESS_CAPSULE_DATA;\r
 \r
 } PEI_CD_EXPRESS_CAPSULE_DATA;\r
 \r
-#define PEI_CD_EXPRESS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('p', 'c', 'd', 'e')\r
+#define PEI_CD_EXPRESS_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('p', 'c', 'd', 'e')\r
 \r
 typedef struct {\r
 \r
 typedef struct {\r
-\r
   UINTN                                 Signature;\r
   EFI_PEI_DEVICE_RECOVERY_MODULE_PPI    DeviceRecoveryPpi;\r
   EFI_PEI_PPI_DESCRIPTOR                PpiDescriptor;\r
   UINTN                                 Signature;\r
   EFI_PEI_DEVICE_RECOVERY_MODULE_PPI    DeviceRecoveryPpi;\r
   EFI_PEI_PPI_DESCRIPTOR                PpiDescriptor;\r
@@ -85,7 +70,6 @@ typedef struct {
   UINT8                                 *BlockBuffer;\r
   UINTN                                 CapsuleCount;\r
   PEI_CD_EXPRESS_CAPSULE_DATA           CapsuleData[PEI_CD_EXPRESS_MAX_CAPSULE_NUMBER];\r
   UINT8                                 *BlockBuffer;\r
   UINTN                                 CapsuleCount;\r
   PEI_CD_EXPRESS_CAPSULE_DATA           CapsuleData[PEI_CD_EXPRESS_MAX_CAPSULE_NUMBER];\r
-\r
 } PEI_CD_EXPRESS_PRIVATE_DATA;\r
 \r
 #define PEI_CD_EXPRESS_PRIVATE_DATA_FROM_THIS(a) \\r
 } PEI_CD_EXPRESS_PRIVATE_DATA;\r
 \r
 #define PEI_CD_EXPRESS_PRIVATE_DATA_FROM_THIS(a) \\r
@@ -96,22 +80,22 @@ typedef struct {
       )\r
 \r
 typedef struct {\r
       )\r
 \r
 typedef struct {\r
-  UINT8   Length;\r
-  UINT8   ExtendedAttributeRecordLength;\r
-  UINT32  LocationOfExtent[2];\r
-  UINT32  DataLength[2];\r
-  UINT8   DateTime[7];\r
-  UINT8   Flag;\r
-  UINT8   FileUnitSize;\r
-  UINT8   InterleaveGapSize;\r
-  UINT32  VolumeSequenceNumber;\r
-  UINT8   FileIDLength;\r
-  UINT8   FileID[1];\r
+  UINT8     Length;\r
+  UINT8     ExtendedAttributeRecordLength;\r
+  UINT32    LocationOfExtent[2];\r
+  UINT32    DataLength[2];\r
+  UINT8     DateTime[7];\r
+  UINT8     Flag;\r
+  UINT8     FileUnitSize;\r
+  UINT8     InterleaveGapSize;\r
+  UINT32    VolumeSequenceNumber;\r
+  UINT8     FileIDLength;\r
+  UINT8     FileID[1];\r
 } PEI_CD_EXPRESS_DIR_FILE_RECORD;\r
 \r
 /**\r
 } PEI_CD_EXPRESS_DIR_FILE_RECORD;\r
 \r
 /**\r
-  BlockIo installation notification function. \r
-  \r
+  BlockIo installation notification function.\r
+\r
   This function finds out all the current Block IO PPIs in the system and add them\r
   into private data.\r
 \r
   This function finds out all the current Block IO PPIs in the system and add them\r
   into private data.\r
 \r
@@ -141,26 +125,26 @@ BlockIoNotifyEntry (
 **/\r
 EFI_STATUS\r
 UpdateBlocksAndVolumes (\r
 **/\r
 EFI_STATUS\r
 UpdateBlocksAndVolumes (\r
-  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA     *PrivateData,\r
-  IN     BOOLEAN                         BlockIo2\r
+  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA  *PrivateData,\r
+  IN     BOOLEAN                      BlockIo2\r
   );\r
 \r
 /**\r
   Returns the number of DXE capsules residing on the device.\r
 \r
   This function searches for DXE capsules from the associated device and returns\r
   );\r
 \r
 /**\r
   Returns the number of DXE capsules residing on the device.\r
 \r
   This function searches for DXE capsules from the associated device and returns\r
-  the number and maximum size in bytes of the capsules discovered. Entry 1 is \r
-  assumed to be the highest load priority and entry N is assumed to be the lowest \r
+  the number and maximum size in bytes of the capsules discovered. Entry 1 is\r
+  assumed to be the highest load priority and entry N is assumed to be the lowest\r
   priority.\r
 \r
   priority.\r
 \r
-  @param[in]  PeiServices              General-purpose services that are available \r
+  @param[in]  PeiServices              General-purpose services that are available\r
                                        to every PEIM\r
   @param[in]  This                     Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI\r
                                        instance.\r
                                        to every PEIM\r
   @param[in]  This                     Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI\r
                                        instance.\r
-  @param[out] NumberRecoveryCapsules   Pointer to a caller-allocated UINTN. On \r
-                                       output, *NumberRecoveryCapsules contains \r
-                                       the number of recovery capsule images \r
-                                       available for retrieval from this PEIM \r
+  @param[out] NumberRecoveryCapsules   Pointer to a caller-allocated UINTN. On\r
+                                       output, *NumberRecoveryCapsules contains\r
+                                       the number of recovery capsule images\r
+                                       available for retrieval from this PEIM\r
                                        instance.\r
 \r
   @retval EFI_SUCCESS        One or more capsules were discovered.\r
                                        instance.\r
 \r
   @retval EFI_SUCCESS        One or more capsules were discovered.\r
@@ -171,9 +155,9 @@ UpdateBlocksAndVolumes (
 EFI_STATUS\r
 EFIAPI\r
 GetNumberRecoveryCapsules (\r
 EFI_STATUS\r
 EFIAPI\r
 GetNumberRecoveryCapsules (\r
-  IN EFI_PEI_SERVICES                               **PeiServices,\r
-  IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI             *This,\r
-  OUT UINTN                                         *NumberRecoveryCapsules\r
+  IN EFI_PEI_SERVICES                    **PeiServices,\r
+  IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI  *This,\r
+  OUT UINTN                              *NumberRecoveryCapsules\r
   );\r
 \r
 /**\r
   );\r
 \r
 /**\r
@@ -182,18 +166,18 @@ GetNumberRecoveryCapsules (
   This function gets the size and type of the capsule specified by CapsuleInstance.\r
 \r
   @param[in]  PeiServices       General-purpose services that are available to every PEIM\r
   This function gets the size and type of the capsule specified by CapsuleInstance.\r
 \r
   @param[in]  PeiServices       General-purpose services that are available to every PEIM\r
-  @param[in]  This              Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI \r
+  @param[in]  This              Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI\r
                                 instance.\r
                                 instance.\r
-  @param[in]  CapsuleInstance   Specifies for which capsule instance to retrieve \r
-                                the information.  This parameter must be between \r
-                                one and the value returned by GetNumberRecoveryCapsules() \r
+  @param[in]  CapsuleInstance   Specifies for which capsule instance to retrieve\r
+                                the information.  This parameter must be between\r
+                                one and the value returned by GetNumberRecoveryCapsules()\r
                                 in NumberRecoveryCapsules.\r
                                 in NumberRecoveryCapsules.\r
-  @param[out] Size              A pointer to a caller-allocated UINTN in which \r
-                                the size of the requested recovery module is \r
+  @param[out] Size              A pointer to a caller-allocated UINTN in which\r
+                                the size of the requested recovery module is\r
                                 returned.\r
                                 returned.\r
-  @param[out] CapsuleType       A pointer to a caller-allocated EFI_GUID in which \r
-                                the type of the requested recovery capsule is \r
-                                returned.  The semantic meaning of the value \r
+  @param[out] CapsuleType       A pointer to a caller-allocated EFI_GUID in which\r
+                                the type of the requested recovery capsule is\r
+                                returned.  The semantic meaning of the value\r
                                 returned is defined by the implementation.\r
 \r
   @retval EFI_SUCCESS        One or more capsules were discovered.\r
                                 returned is defined by the implementation.\r
 \r
   @retval EFI_SUCCESS        One or more capsules were discovered.\r
@@ -204,11 +188,11 @@ GetNumberRecoveryCapsules (
 EFI_STATUS\r
 EFIAPI\r
 GetRecoveryCapsuleInfo (\r
 EFI_STATUS\r
 EFIAPI\r
 GetRecoveryCapsuleInfo (\r
-  IN  EFI_PEI_SERVICES                              **PeiServices,\r
-  IN  EFI_PEI_DEVICE_RECOVERY_MODULE_PPI            *This,\r
-  IN  UINTN                                         CapsuleInstance,\r
-  OUT UINTN                                         *Size,\r
-  OUT EFI_GUID                                      *CapsuleType\r
+  IN  EFI_PEI_SERVICES                    **PeiServices,\r
+  IN  EFI_PEI_DEVICE_RECOVERY_MODULE_PPI  *This,\r
+  IN  UINTN                               CapsuleInstance,\r
+  OUT UINTN                               *Size,\r
+  OUT EFI_GUID                            *CapsuleType\r
   );\r
 \r
 /**\r
   );\r
 \r
 /**\r
@@ -217,12 +201,12 @@ GetRecoveryCapsuleInfo (
   This function, by whatever mechanism, retrieves a DXE capsule from some device\r
   and loads it into memory. Note that the published interface is device neutral.\r
 \r
   This function, by whatever mechanism, retrieves a DXE capsule from some device\r
   and loads it into memory. Note that the published interface is device neutral.\r
 \r
-  @param[in]     PeiServices       General-purpose services that are available \r
+  @param[in]     PeiServices       General-purpose services that are available\r
                                    to every PEIM\r
   @param[in]     This              Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI\r
                                    instance.\r
   @param[in]     CapsuleInstance   Specifies which capsule instance to retrieve.\r
                                    to every PEIM\r
   @param[in]     This              Indicates the EFI_PEI_DEVICE_RECOVERY_MODULE_PPI\r
                                    instance.\r
   @param[in]     CapsuleInstance   Specifies which capsule instance to retrieve.\r
-  @param[out]    Buffer            Specifies a caller-allocated buffer in which \r
+  @param[out]    Buffer            Specifies a caller-allocated buffer in which\r
                                    the requested recovery capsule will be returned.\r
 \r
   @retval EFI_SUCCESS        The capsule was loaded correctly.\r
                                    the requested recovery capsule will be returned.\r
 \r
   @retval EFI_SUCCESS        The capsule was loaded correctly.\r
@@ -233,10 +217,10 @@ GetRecoveryCapsuleInfo (
 EFI_STATUS\r
 EFIAPI\r
 LoadRecoveryCapsule (\r
 EFI_STATUS\r
 EFIAPI\r
 LoadRecoveryCapsule (\r
-  IN EFI_PEI_SERVICES                             **PeiServices,\r
-  IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI           *This,\r
-  IN UINTN                                        CapsuleInstance,\r
-  OUT VOID                                        *Buffer\r
+  IN EFI_PEI_SERVICES                    **PeiServices,\r
+  IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI  *This,\r
+  IN UINTN                               CapsuleInstance,\r
+  OUT VOID                               *Buffer\r
   );\r
 \r
 /**\r
   );\r
 \r
 /**\r
@@ -251,7 +235,7 @@ LoadRecoveryCapsule (
 EFI_STATUS\r
 EFIAPI\r
 FindRecoveryCapsules (\r
 EFI_STATUS\r
 EFIAPI\r
 FindRecoveryCapsules (\r
-  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA            *PrivateData\r
+  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA  *PrivateData\r
   );\r
 \r
 /**\r
   );\r
 \r
 /**\r
@@ -265,20 +249,19 @@ FindRecoveryCapsules (
 \r
   @retval EFI_SUCCESS                   The recovery capsule is successfully found in the volume.\r
   @retval EFI_NOT_FOUND                 The recovery capsule is not found in the volume.\r
 \r
   @retval EFI_SUCCESS                   The recovery capsule is successfully found in the volume.\r
   @retval EFI_NOT_FOUND                 The recovery capsule is not found in the volume.\r
-  @retval Others                        \r
+  @retval Others\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 RetrieveCapsuleFileFromRoot (\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 RetrieveCapsuleFileFromRoot (\r
-  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA        *PrivateData,\r
-  IN EFI_PEI_RECOVERY_BLOCK_IO_PPI          *BlockIoPpi,\r
-  IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI         *BlockIo2Ppi,\r
-  IN UINTN                                  IndexBlockDevice,\r
-  IN UINT32                                 Lba\r
+  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA  *PrivateData,\r
+  IN EFI_PEI_RECOVERY_BLOCK_IO_PPI    *BlockIoPpi,\r
+  IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI   *BlockIo2Ppi,\r
+  IN UINTN                            IndexBlockDevice,\r
+  IN UINT32                           Lba\r
   );\r
 \r
   );\r
 \r
-\r
 /**\r
   This function compares two ASCII strings in case sensitive/insensitive way.\r
 \r
 /**\r
   This function compares two ASCII strings in case sensitive/insensitive way.\r
 \r
@@ -293,10 +276,10 @@ RetrieveCapsuleFileFromRoot (
 **/\r
 BOOLEAN\r
 StringCmp (\r
 **/\r
 BOOLEAN\r
 StringCmp (\r
-  IN UINT8      *Source1,\r
-  IN UINT8      *Source2,\r
-  IN UINTN      Size,\r
-  IN BOOLEAN    CaseSensitive\r
+  IN UINT8    *Source1,\r
+  IN UINT8    *Source2,\r
+  IN UINTN    Size,\r
+  IN BOOLEAN  CaseSensitive\r
   );\r
 \r
 #pragma pack()\r
   );\r
 \r
 #pragma pack()\r