]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiMultiPhase.h
MdePkg/ProcessorBind: add defines for page allocation granularity
[mirror_edk2.git] / MdePkg / Include / Pi / PiMultiPhase.h
index 8dcc0d1670ac58751e09bd6a27855d56ec6993a1..169258caa89d906fd74e864b80661f370ccf6247 100644 (file)
@@ -1,17 +1,17 @@
 /** @file\r
   Include file matches things in PI for multiple module types.\r
 \r
-  Copyright (c) 2006 - 2010, 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
+Copyright (c) 2006 - 2015, 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
+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
   @par Revision Reference:\r
-  These elements are defined in UEFI Platform Initialization Specification 1.2 \r
+  These elements are defined in UEFI Platform Initialization Specification 1.2.\r
 \r
 **/\r
 \r
 #define EFI_NOT_AVAILABLE_YET     DXE_ERROR (2)\r
 \r
 ///\r
-/// Success and warning codes reserved for use by PI\r
-/// Supported 32-bit range is 0x20000000-0x3fffffff\r
-/// Supported 64-bit range is 0x2000000000000000-0x3fffffffffffffff\r
+/// Success and warning codes reserved for use by PI.\r
+/// Supported 32-bit range is 0x20000000-0x3fffffff.\r
+/// Supported 64-bit range is 0x2000000000000000-0x3fffffffffffffff.\r
 ///\r
 #define PI_ENCODE_WARNING(a)                ((MAX_BIT >> 2) | (a))\r
 \r
 ///\r
-/// Error codes reserved for use by PI\r
-/// Supported 32-bit range is 0xa0000000-0xbfffffff\r
-/// Supported 64-bit range is 0xa000000000000000-0xbfffffffffffffff\r
+/// Error codes reserved for use by PI.\r
+/// Supported 32-bit range is 0xa0000000-0xbfffffff.\r
+/// Supported 64-bit range is 0xa000000000000000-0xbfffffffffffffff.\r
 ///\r
 #define PI_ENCODE_ERROR(a)                  (MAX_BIT | (MAX_BIT >> 2) | (a))\r
 \r
 /// \r
-/// Return status codes defined in SMM CIS\r
+/// Return status codes defined in SMM CIS.\r
 /// \r
 #define EFI_INTERRUPT_PENDING               PI_ENCODE_ERROR (0)\r
 \r
@@ -80,7 +80,7 @@
 /// and the EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI\r
 ///\r
 /// xx00 Image was not signed.\r
-/// xxx1 Platform security policy override. Assumes same meaning as 0010 (the image was signed, the\r
+/// xxx1 Platform security policy override. Assumes the same meaning as 0010 (the image was signed, the\r
 ///      signature was tested, and the signature passed authentication test).\r
 /// 0010 Image was signed, the signature was tested, and the signature passed authentication test.\r
 /// 0110 Image was signed and the signature was not tested.\r
 #define EFI_NEEDS_ECC_INITIALIZATION    0x00000040\r
 \r
 ///\r
-/// Structure describing a SMRAM region and its accessibility attributes\r
+/// Structure describing a SMRAM region and its accessibility attributes.\r
 ///\r
 typedef struct {\r
   ///\r
@@ -133,4 +133,47 @@ typedef struct {
   UINT64                RegionState;\r
 } EFI_SMRAM_DESCRIPTOR;\r
 \r
+typedef enum {\r
+  EFI_PCD_TYPE_8,\r
+  EFI_PCD_TYPE_16,\r
+  EFI_PCD_TYPE_32,\r
+  EFI_PCD_TYPE_64,\r
+  EFI_PCD_TYPE_BOOL,\r
+  EFI_PCD_TYPE_PTR\r
+} EFI_PCD_TYPE;\r
+\r
+typedef struct {\r
+  ///\r
+  /// The returned information associated with the requested TokenNumber. If\r
+  /// TokenNumber is 0, then PcdType is set to EFI_PCD_TYPE_8.\r
+  ///\r
+  EFI_PCD_TYPE      PcdType;\r
+  ///\r
+  /// The size of the data in bytes associated with the TokenNumber specified. If\r
+  /// TokenNumber is 0, then PcdSize is set 0.\r
+  ///\r
+  UINTN             PcdSize;\r
+  ///\r
+  /// The null-terminated ASCII string associated with a given token. If the\r
+  /// TokenNumber specified was 0, then this field corresponds to the null-terminated\r
+  /// ASCII string associated with the token's namespace Guid. If NULL, there is no\r
+  /// name associated with this request.\r
+  ///\r
+  CHAR8             *PcdName;\r
+} EFI_PCD_INFO;\r
+\r
+/**\r
+  The function prototype for invoking a function on an Application Processor.\r
+\r
+  This definition is used by the UEFI MP Serices Protocol, and the\r
+  PI SMM System Table.\r
+\r
+  @param[in,out] Buffer  The pointer to private data buffer.\r
+**/\r
+typedef\r
+VOID\r
+(EFIAPI *EFI_AP_PROCEDURE)(\r
+  IN OUT VOID  *Buffer\r
+  );\r
+\r
 #endif\r