/** @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
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
// 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