X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FPiSmmCpuDxeSmm%2FSmmCpuMemoryManagement.c;h=85e06b2e6a0d08064754bf11430e0dbf8d0bfdf9;hp=16664f304cde4b8fd88f3df3303bf3bdd6971b93;hb=5a1bfda4bd04815ed8c7489e2db47f9a1f245566;hpb=6e601a4109d4a998596986718653048ae23de0a6 diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c index 16664f304c..85e06b2e6a 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c @@ -552,12 +552,12 @@ SmmSetMemoryAttributesEx ( BaseAddress and Length cannot be modified. @retval EFI_INVALID_PARAMETER Length is zero. Attributes specified an illegal combination of attributes that - cannot be set together. + cannot be cleared together. @retval EFI_OUT_OF_RESOURCES There are not enough system resources to modify the attributes of the memory resource range. @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 support for the memory resource + The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length. **/ @@ -604,7 +604,7 @@ SmmClearMemoryAttributesEx ( the memory resource range. @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 support for the memory resource + The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length. **/ @@ -632,12 +632,12 @@ SmmSetMemoryAttributes ( BaseAddress and Length cannot be modified. @retval EFI_INVALID_PARAMETER Length is zero. Attributes specified an illegal combination of attributes that - cannot be set together. + cannot be cleared together. @retval EFI_OUT_OF_RESOURCES There are not enough system resources to modify the attributes of the memory resource range. @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 support for the memory resource + The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length. **/ @@ -803,11 +803,10 @@ PatchGdtIdtMap ( BaseAddress = gcSmiIdtr.Base; Size = ALIGN_VALUE(gcSmiIdtr.Limit + 1, SIZE_4KB); - SmmSetMemoryAttributes ( - BaseAddress, - Size, - EFI_MEMORY_RO - ); + // + // The range should have been set to RO + // if it is allocated with EfiRuntimeServicesCode. + // SmmSetMemoryAttributes ( BaseAddress, Size, @@ -1186,7 +1185,7 @@ IsSmmCommBufferForbiddenAddress ( @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 support for + The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length. @@ -1211,17 +1210,17 @@ EdkiiSmmSetMemoryAttributes ( @param BaseAddress The physical address that is the start address of a memory region. @param Length The size in bytes of the memory region. - @param Attributes The bit mask of attributes to set for the memory + @param Attributes The bit mask of attributes to clear for the memory region. - @retval EFI_SUCCESS The attributes were set for the memory region. + @retval EFI_SUCCESS The attributes were cleared for the memory region. @retval EFI_INVALID_PARAMETER Length is zero. Attributes specified an illegal combination of - attributes that cannot be set together. + attributes that cannot be cleared together. @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 support for + The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length. @@ -1239,7 +1238,7 @@ EdkiiSmmClearMemoryAttributes ( } /** - This function retrieve the attributes of the memory region specified by + This function retrieves the attributes of the memory region specified by BaseAddress and Length. If different attributes are got from different part of the memory region, EFI_NO_MAPPING will be returned. @@ -1257,9 +1256,6 @@ EdkiiSmmClearMemoryAttributes ( @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 support for - the memory resource range specified by - BaseAddress and Length. **/ EFI_STATUS