diff options
Diffstat (limited to 'MdeModulePkg/Include/Ppi/MemoryAttribute.h')
| -rw-r--r-- | MdeModulePkg/Include/Ppi/MemoryAttribute.h | 166 |
1 files changed, 83 insertions, 83 deletions
diff --git a/MdeModulePkg/Include/Ppi/MemoryAttribute.h b/MdeModulePkg/Include/Ppi/MemoryAttribute.h index 83bcc33a76..6d1d61b4d5 100644 --- a/MdeModulePkg/Include/Ppi/MemoryAttribute.h +++ b/MdeModulePkg/Include/Ppi/MemoryAttribute.h @@ -1,83 +1,83 @@ -/** @file
-
-Copyright (c) 2023, Google LLC. All rights reserved.<BR>
-
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef EDKII_MEMORY_ATTRIBUTE_PPI_H_
-#define EDKII_MEMORY_ATTRIBUTE_PPI_H_
-
-#include <Uefi/UefiSpec.h>
-
-///
-/// Global ID for the EDKII_MEMORY_ATTRIBUTE_PPI.
-///
-#define EDKII_MEMORY_ATTRIBUTE_PPI_GUID \
- { \
- 0x1be840de, 0x2d92, 0x41ec, { 0xb6, 0xd3, 0x19, 0x64, 0x13, 0x50, 0x51, 0xfb } \
- }
-
-///
-/// Forward declaration for the EDKII_MEMORY_ATTRIBUTE_PPI.
-///
-typedef struct _EDKII_MEMORY_ATTRIBUTE_PPI EDKII_MEMORY_ATTRIBUTE_PPI;
-
-/**
- Set the requested memory permission attributes on a region of memory.
-
- BaseAddress and Length must be aligned to EFI_PAGE_SIZE.
-
- Attributes must contain a combination of EFI_MEMORY_RP, EFI_MEMORY_RO and
- EFI_MEMORY_XP, and specifies the attributes that must be set for the
- region in question. Attributes that are omitted will be cleared from the
- region only if they are set in AttributeMask.
-
- AttributeMask must contain a combination of EFI_MEMORY_RP, EFI_MEMORY_RO and
- EFI_MEMORY_XP, and specifies the attributes that the call will operate on.
- AttributeMask must not be 0x0, and must contain at least the bits set in
- Attributes.
-
- @param[in] This The protocol instance pointer.
- @param[in] BaseAddress The physical address that is the start address
- of a memory region.
- @param[in] Length The size in bytes of the memory region.
- @param[in] Attributes Memory attributes to set or clear.
- @param[in] AttributeMask Mask of memory attributes to operate on.
-
- @retval EFI_SUCCESS The attributes were set for the memory region.
- @retval EFI_INVALID_PARAMETER Length is zero.
- AttributeMask is zero.
- AttributeMask lacks bits set in Attributes.
- BaseAddress or Length is not suitably aligned.
- @retval EFI_UNSUPPORTED The processor does not support one or more
- bytes of the memory resource range specified
- by BaseAddress and Length.
- The bit mask of attributes is not supported for
- the memory resource range specified by
- BaseAddress and Length.
- @retval EFI_OUT_OF_RESOURCES Requested attributes cannot be applied due to
- lack of system resources.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EDKII_MEMORY_ATTRIBUTE_SET_PERMISSIONS)(
- IN EDKII_MEMORY_ATTRIBUTE_PPI *This,
- IN EFI_PHYSICAL_ADDRESS BaseAddress,
- IN UINT64 Length,
- IN UINT64 Attributes,
- IN UINT64 AttributeMask
- );
-
-///
-/// This PPI contains a set of services to manage memory permission attributes.
-///
-struct _EDKII_MEMORY_ATTRIBUTE_PPI {
- EDKII_MEMORY_ATTRIBUTE_SET_PERMISSIONS SetPermissions;
-};
-
-extern EFI_GUID gEdkiiMemoryAttributePpiGuid;
-
-#endif
+/** @file + +Copyright (c) 2023, Google LLC. All rights reserved.<BR> + +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef EDKII_MEMORY_ATTRIBUTE_PPI_H_ +#define EDKII_MEMORY_ATTRIBUTE_PPI_H_ + +#include <Uefi/UefiSpec.h> + +/// +/// Global ID for the EDKII_MEMORY_ATTRIBUTE_PPI. +/// +#define EDKII_MEMORY_ATTRIBUTE_PPI_GUID \ + { \ + 0x1be840de, 0x2d92, 0x41ec, { 0xb6, 0xd3, 0x19, 0x64, 0x13, 0x50, 0x51, 0xfb } \ + } + +/// +/// Forward declaration for the EDKII_MEMORY_ATTRIBUTE_PPI. +/// +typedef struct _EDKII_MEMORY_ATTRIBUTE_PPI EDKII_MEMORY_ATTRIBUTE_PPI; + +/** + Set the requested memory permission attributes on a region of memory. + + BaseAddress and Length must be aligned to EFI_PAGE_SIZE. + + Attributes must contain a combination of EFI_MEMORY_RP, EFI_MEMORY_RO and + EFI_MEMORY_XP, and specifies the attributes that must be set for the + region in question. Attributes that are omitted will be cleared from the + region only if they are set in AttributeMask. + + AttributeMask must contain a combination of EFI_MEMORY_RP, EFI_MEMORY_RO and + EFI_MEMORY_XP, and specifies the attributes that the call will operate on. + AttributeMask must not be 0x0, and must contain at least the bits set in + Attributes. + + @param[in] This The protocol instance pointer. + @param[in] BaseAddress The physical address that is the start address + of a memory region. + @param[in] Length The size in bytes of the memory region. + @param[in] Attributes Memory attributes to set or clear. + @param[in] AttributeMask Mask of memory attributes to operate on. + + @retval EFI_SUCCESS The attributes were set for the memory region. + @retval EFI_INVALID_PARAMETER Length is zero. + AttributeMask is zero. + AttributeMask lacks bits set in Attributes. + BaseAddress or Length is not suitably aligned. + @retval EFI_UNSUPPORTED The processor does not support one or more + bytes of the memory resource range specified + by BaseAddress and Length. + The bit mask of attributes is not supported for + the memory resource range specified by + BaseAddress and Length. + @retval EFI_OUT_OF_RESOURCES Requested attributes cannot be applied due to + lack of system resources. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_MEMORY_ATTRIBUTE_SET_PERMISSIONS)( + IN EDKII_MEMORY_ATTRIBUTE_PPI *This, + IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length, + IN UINT64 Attributes, + IN UINT64 AttributeMask + ); + +/// +/// This PPI contains a set of services to manage memory permission attributes. +/// +struct _EDKII_MEMORY_ATTRIBUTE_PPI { + EDKII_MEMORY_ATTRIBUTE_SET_PERMISSIONS SetPermissions; +}; + +extern EFI_GUID gEdkiiMemoryAttributePpiGuid; + +#endif |
