X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FPeim%2FPeiCis.h;h=bb7847df70b65a493c217df87b4f92f9b5791bcd;hp=513138be3fa266d315cfdce7502997aa264ff09c;hb=0647c9adf92c6a8712091607a73b2768327a865d;hpb=151c1ccdcd6960c550fa491bd0ed467416bb2b74 diff --git a/MdePkg/Include/Peim/PeiCis.h b/MdePkg/Include/Peim/PeiCis.h index 513138be3f..bb7847df70 100644 --- a/MdePkg/Include/Peim/PeiCis.h +++ b/MdePkg/Include/Peim/PeiCis.h @@ -63,9 +63,8 @@ typedef struct _EFI_PEI_NOTIFY_DESCRIPTOR EFI_PEI_NOTIFY_DESCRIPTOR; The PEI Dispatcher will invoke each PEIM one time. During this pass, the PEI Dispatcher will pass control to the PEIM at the AddressOfEntryPoint in the PE Header. - @param FfsHeader Pointer to the FFS file header. - - @param PeiServices Describes the list of possible PEI Services. + @param FfsHeader Pointer to the FFS file header. + @param PeiServices Describes the list of possible PEI Services. @return Status code @@ -80,11 +79,9 @@ EFI_STATUS /** Entry point of the notification callback function itself within the PEIM. - @param PeiServices Indirect reference to the PEI Services Table. - + @param PeiServices Indirect reference to the PEI Services Table. @param NotifyDescriptor Address of the notification descriptor data structure. - - @param Ppi Address of the PPI that was installed. + @param Ppi Address of the PPI that was installed. @return Status code @@ -125,16 +122,13 @@ struct _EFI_PEI_NOTIFY_DESCRIPTOR { service is to publish an interface that other parties can use to call additional PEIMs. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table - published by the PEI Foundation. - - @param PpiList A pointer to the list of interfaces that the caller shall install. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table + published by the PEI Foundation. + @param PpiList A pointer to the list of interfaces that the caller shall install. - @retval EFI_SUCCESS The interface was successfully installed. - - @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field. - - @retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database. + @retval EFI_SUCCESS The interface was successfully installed. + @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field. + @retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database. **/ typedef @@ -150,20 +144,16 @@ EFI_STATUS can use to replace a same-named interface in the protocol database with a different interface. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table - published by the PEI Foundation. - - @param OldPpi A pointer to the former PPI in the database. - - @param NewPpi A pointer to the new interfaces that the caller shall install. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table + published by the PEI Foundation. + @param OldPpi A pointer to the former PPI in the database. + @param NewPpi A pointer to the new interfaces that the caller shall install. - @retval EFI_SUCCESS The interface was successfully installed. - - @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field. - - @retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database. - - @retval EFI_NOT_FOUND The PPI for which the reinstallation was requested has not been installed. + @retval EFI_SUCCESS The interface was successfully installed. + @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the + list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field. + @retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database. + @retval EFI_NOT_FOUND The PPI for which the reinstallation was requested has not been installed. **/ typedef @@ -177,19 +167,14 @@ EFI_STATUS /** This function locates an interface in the PEI PPI database by GUID. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES published by the PEI Foundation. - - @param Guid A pointer to the GUID whose corresponding interface needs to be found. - - @param Instance The N-th instance of the interface that is required. - - @param PpiDescriptor A pointer to instance of the EFI_PEI_PPI_DESCRIPTOR. - - @param Ppi A pointer to the instance of the interface. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES published by the PEI Foundation. + @param Guid A pointer to the GUID whose corresponding interface needs to be found. + @param Instance The N-th instance of the interface that is required. + @param PpiDescriptor A pointer to instance of the EFI_PEI_PPI_DESCRIPTOR. + @param Ppi A pointer to the instance of the interface. - @retval EFI_SUCCESS The interface was successfully returned. - - @retval EFI_NOT_FOUND The PPI descriptor is not found in the database. + @retval EFI_SUCCESS The interface was successfully returned. + @retval EFI_NOT_FOUND The PPI descriptor is not found in the database. **/ typedef @@ -208,15 +193,13 @@ EFI_STATUS is to publish an interface that other parties can use to call additional PPIs that may materialize later. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation - - @param NotifyList A pointer to the list of notification interfaces that the caller shall install. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation + @param NotifyList A pointer to the list of notification interfaces that the caller shall install. - @retval EFI_SUCCESS The interface was successfully installed. - - @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field. - - @retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database. + @retval EFI_SUCCESS The interface was successfully installed. + @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the + list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field. + @retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database. **/ typedef @@ -229,11 +212,10 @@ EFI_STATUS /** This function returns the present value of the boot mode. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param BootMode A pointer to contain the value of the boot mode. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param BootMode A pointer to contain the value of the boot mode. - @retval EFI_SUCCESS The boot mode was returned successfully. + @retval EFI_SUCCESS The boot mode was returned successfully. **/ typedef @@ -246,11 +228,10 @@ EFI_STATUS /** This function sets the value of the boot mode. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation - - @param BootMode The value of the boot mode to set. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation + @param BootMode The value of the boot mode to set. - @retval EFI_SUCCESS The boot mode was returned successfully. + @retval EFI_SUCCESS The boot mode was returned successfully. **/ typedef @@ -263,12 +244,10 @@ EFI_STATUS /** This function returns the pointer to the list of Hand-Off Blocks (HOBs) in memory. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation - - @param HobList A pointer to the list of HOBs that the PEI Foundation will initialize + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation + @param HobList A pointer to the list of HOBs that the PEI Foundation will initialize - @retval EFI_SUCCESS The list was successfully returned. - + @retval EFI_SUCCESS The list was successfully returned. @retval EFI_NOT_AVAILABLE_YET The HOB list is not yet published. **/ @@ -282,17 +261,13 @@ EFI_STATUS /** This service published by the PEI Foundation abstracts the creation of a Hand-Off Block's (HOB¡¯s) headers. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param Type The type of HOB to be installed. - - @param Length The length of the HOB to be added. - - @param Hob The address of a pointer that will contain the HOB header. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param Type The type of HOB to be installed. + @param Length The length of the HOB to be added. + @param Hob The address of a pointer that will contain the HOB header. - @retval EFI_SUCCESS The HOB was successfully created. - - @retval EFI_OUT_OF_RESOURCES There is no additional space for HOB creation. + @retval EFI_SUCCESS The HOB was successfully created. + @retval EFI_OUT_OF_RESOURCES There is no additional space for HOB creation. **/ typedef @@ -310,16 +285,12 @@ EFI_STATUS Given the input file pointer, this service searches for the next matching file in the Firmware File System (FFS) volume. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param Instance This instance of the firmware volume to find. The value 0 is the Boot Firmware Volume (BFV). - - @param FwVolHeader Pointer to the firmware volume header of the volume to return. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param Instance This instance of the firmware volume to find. The value 0 is the Boot Firmware Volume (BFV). + @param FwVolHeader Pointer to the firmware volume header of the volume to return. - @retval EFI_SUCCESS The volume was found. - - @retval EFI_NOT_FOUND The volume was not found. - + @retval EFI_SUCCESS The volume was found. + @retval EFI_NOT_FOUND The volume was not found. @retval EFI_INVALID_PARAMETER FwVolHeader is NULL **/ @@ -337,19 +308,16 @@ EFI_STATUS Given the input file pointer, this service searches for the next matching file in the Firmware File System (FFS) volume. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param SearchType A filter to find files only of this type. - - @param FwVolHeader Pointer to the firmware volume header of the volume to search.This parameter must point to a valid FFS volume. - - @param FileHeader Pointer to the current file from which to begin searching.This pointer will be updated upon return to reflect the file found. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param SearchType A filter to find files only of this type. + @param FwVolHeader Pointer to the firmware volume header of the volume to search.This parameter + must point to a valid FFS volume. + @param FileHeader Pointer to the current file from which to begin searching.This pointer will be + updated upon return to reflect the file found. - @retval EFI_SUCCESS The file was found. - - @retval EFI_NOT_FOUND The file was not found. - - @retval EFI_NOT_FOUND The header checksum was not zero. + @retval EFI_SUCCESS The file was found. + @retval EFI_NOT_FOUND The file was not found. + @retval EFI_NOT_FOUND The header checksum was not zero. **/ typedef @@ -365,17 +333,13 @@ EFI_STATUS Given the input file pointer, this service searches for the next matching file in the Firmware File System (FFS) volume. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param SectionType The value of the section type to find. - - @param FfsFileHeader A pointer to the file header that contains the set of sections to be searched. - - @param SectionData A pointer to the discovered section, if successful. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param SectionType The value of the section type to find. + @param FfsFileHeader A pointer to the file header that contains the set of sections to be searched. + @param SectionData A pointer to the discovered section, if successful. - @retval EFI_SUCCESS The section was found. - - @retval EFI_NOT_FOUND The section was not found. + @retval EFI_SUCCESS The section was found. + @retval EFI_NOT_FOUND The section was not found. **/ typedef @@ -390,17 +354,13 @@ EFI_STATUS /** This function registers the found memory configuration with the PEI Foundation. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param MemoryBegin The value of a region of installed memory - - @param MemoryLength The corresponding length of a region of installed memory. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param MemoryBegin The value of a region of installed memory + @param MemoryLength The corresponding length of a region of installed memory. - @retval EFI_SUCCESS The region was successfully installed in a HOB. - + @retval EFI_SUCCESS The region was successfully installed in a HOB. @retval EFI_INVALID_PARAMETER MemoryBegin and MemoryLength are illegal for this system. - - @retval EFI_OUT_OF_RESOURCES There is no additional space for HOB creation. + @retval EFI_OUT_OF_RESOURCES There is no additional space for HOB creation. **/ typedef @@ -415,18 +375,14 @@ EFI_STATUS The purpose of the service is to publish an interface that allows PEIMs to allocate memory ranges that are managed by the PEI Foundation. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param MemoryType The type of memory to allocate. - - @param Pages The number of contiguous 4 KB pages to allocate. - - @param Memory Pointer to a physical address. On output, the address is set to the base of the page range that was allocated. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param MemoryType The type of memory to allocate. + @param Pages The number of contiguous 4 KB pages to allocate. + @param Memory Pointer to a physical address. On output, the address is set to the base + of the page range that was allocated. - @retval EFI_SUCCESS The memory range was successfully allocated. - + @retval EFI_SUCCESS The memory range was successfully allocated. @retval EFI_OUT_OF_RESOURCES The pages could not be allocated. - @retval EFI_INVALID_PARAMETER Type is not equal to AllocateAnyPages. **/ @@ -443,15 +399,12 @@ EFI_STATUS The purpose of this service is to publish an interface that allows PEIMs to allocate memory ranges that are managed by the PEI Foundation. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param Size The number of bytes to allocate from the pool. - - @param Buffer If the call succeeds, a pointer to a pointer to the allocated buffer; undefined otherwise. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param Size The number of bytes to allocate from the pool. + @param Buffer If the call succeeds, a pointer to a pointer to the allocated buffer; undefined otherwise. - @retval EFI_SUCCESS The allocation was successful. - - @retval EFI_OUT_OF_RESOURCES There is not enough heap to allocate the requested size. + @retval EFI_SUCCESS The allocation was successful. + @retval EFI_OUT_OF_RESOURCES There is not enough heap to allocate the requested size. **/ typedef @@ -465,11 +418,9 @@ EFI_STATUS /** This service copies the contents of one buffer to another buffer. - @param Destination Pointer to the destination buffer of the memory copy. - - @param Source Pointer to the source buffer of the memory copy - - @param Length Number of bytes to copy from Source to Destination. + @param Destination Pointer to the destination buffer of the memory copy. + @param Source Pointer to the source buffer of the memory copy + @param Length Number of bytes to copy from Source to Destination. @return None @@ -485,11 +436,9 @@ VOID /** The service fills a buffer with a specified value. - @param Buffer Pointer to the buffer to fill. - - @param Size Number of bytes in Buffer to fill. - - @param Value Value to fill Buffer with + @param Buffer Pointer to the buffer to fill. + @param Size Number of bytes in Buffer to fill. + @param Value Value to fill Buffer with @return None @@ -505,30 +454,24 @@ VOID /** This service publishes an interface that allows PEIMs to report status codes. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - - @param Type Indicates the type of status code being reported. - - @param Value Describes the current status of a hardware or - software entity. This includes information about the class and - subclass that is used to classify the entity as well as an operation. - For progress codes, the operation is the current activity. - For error codes, it is the exception.For debug codes,it is not defined at this time. - - @param Instance The enumeration of a hardware or software entity within - the system. A system may contain multiple entities that match a class/subclass - pairing. The instance differentiates between them. An instance of 0 indicates - that instance information is unavailable, not meaningful, or not relevant. - Valid instance numbers start with 1. - - @param CallerId This optional parameter may be used to identify the caller. - This parameter allows the status code driver to apply different rules to - different callers. - - @param Data This optional parameter may be used to pass additional data. - - @retval EFI_SUCCESS The function completed successfully. - + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. + @param Type Indicates the type of status code being reported. + @param Value Describes the current status of a hardware or + software entity. This includes information about the class and + subclass that is used to classify the entity as well as an operation. + For progress codes, the operation is the current activity. + For error codes, it is the exception.For debug codes,it is not defined at this time. + @param Instance The enumeration of a hardware or software entity within + the system. A system may contain multiple entities that match a class/subclass + pairing. The instance differentiates between them. An instance of 0 indicates + that instance information is unavailable, not meaningful, or not relevant. + Valid instance numbers start with 1. + @param CallerId This optional parameter may be used to identify the caller. + This parameter allows the status code driver to apply different rules to + different callers. + @param Data This optional parameter may be used to pass additional data. + + @retval EFI_SUCCESS The function completed successfully. @retval EFI_NOT_AVAILABLE_YET No progress code provider has installed an interface in the system. **/ @@ -546,11 +489,10 @@ EFI_STATUS /** Resets the entire platform. - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES - table published by the PEI Foundation. + @param PeiServices An indirect pointer to the EFI_PEI_SERVICES + table published by the PEI Foundation. - @retval EFI_SUCCESS The function completed successfully. - + @retval EFI_SUCCESS The function completed successfully. @retval EFI_NOT_AVAILABLE_YET The service has not been installed yet. **/