/** @file\r
Include file matches things in PI.\r
\r
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\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
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
\r
@par Revision Reference:\r
- PI Version 1.2\r
+ PI Version 1.4\r
\r
**/\r
\r
/// access I/O devices in the platform.\r
///\r
EfiGcdMemoryTypeMemoryMappedIo,\r
+ ///\r
+ /// A memory region that is visible to the boot processor. \r
+ /// This memory supports byte-addressable non-volatility. \r
+ ///\r
+ EfiGcdMemoryTypePersistentMemory,\r
+ ///\r
+ /// A memory region that provides higher reliability relative to other memory in the\r
+ /// system. If all memory has the same reliability, then this bit is not used.\r
+ ///\r
+ EfiGcdMemoryTypeMoreReliable,\r
EfiGcdMemoryTypeMaximum\r
} EFI_GCD_MEMORY_TYPE;\r
\r
resource range specified by BaseAddress and Length.\r
@retval EFI_UNSUPPORTED The bit mask of attributes is not support for the memory resource\r
range specified by BaseAddress and Length.\r
- @retval EFI_ACCESS_DEFINED The attributes for the memory resource range specified by\r
+ @retval EFI_ACCESS_DENIED The attributes for the memory resource range specified by\r
BaseAddress and Length cannot be modified.\r
@retval EFI_OUT_OF_RESOURCES There are not enough system resources to modify the attributes of\r
the memory resource range.\r
IN UINT64 Attributes\r
);\r
\r
+/**\r
+ Modifies the capabilities for a memory region in the global coherency domain of the\r
+ processor.\r
+\r
+ @param BaseAddress The physical address that is the start address of a memory region.\r
+ @param Length The size in bytes of the memory region.\r
+ @param Capabilities The bit mask of capabilities that the memory region supports.\r
+\r
+ @retval EFI_SUCCESS The capabilities were set for the memory region.\r
+ @retval EFI_INVALID_PARAMETER Length is zero.\r
+ @retval EFI_UNSUPPORTED The capabilities specified by Capabilities do not include the\r
+ memory region attributes currently in use.\r
+ @retval EFI_ACCESS_DENIED The capabilities for the memory resource range specified by\r
+ BaseAddress and Length cannot be modified.\r
+ @retval EFI_OUT_OF_RESOURCES There are not enough system resources to modify the capabilities\r
+ of the memory resource range.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SET_MEMORY_SPACE_CAPABILITIES) (\r
+ IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
+ IN UINT64 Length,\r
+ IN UINT64 Capabilities\r
+ );\r
+\r
/**\r
Returns a map of the memory resources in the global coherency domain of the\r
processor.\r
//\r
#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL\r
#define DXE_SPECIFICATION_MAJOR_REVISION 1\r
-#define DXE_SPECIFICATION_MINOR_REVISION 30\r
+#define DXE_SPECIFICATION_MINOR_REVISION 40\r
#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))\r
\r
typedef struct {\r
// Service to process a single firmware volume found in a capsule\r
//\r
EFI_PROCESS_FIRMWARE_VOLUME ProcessFirmwareVolume;\r
+ //\r
+ // Extensions to Global Coherency Domain Services\r
+ //\r
+ EFI_SET_MEMORY_SPACE_CAPABILITIES SetMemorySpaceCapabilities;\r
} DXE_SERVICES;\r
\r
typedef DXE_SERVICES EFI_DXE_SERVICES;\r
\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