summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c')
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c b/MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c
index 7e744698e3..1fc2b95daa 100644
--- a/MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c
+++ b/MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c
@@ -64,7 +64,7 @@ InvalidateInstructionCache (
@param Length The number of bytes to invalidate from the instruction cache.
- @return Address
+ @return Address of cache invalidation.
**/
VOID *
@@ -120,7 +120,7 @@ WriteBackInvalidateDataCache (
@param Length The number of bytes to write back and invalidate from the
data cache.
- @return Address
+ @return Address of cache invalidation.
**/
VOID *
@@ -139,6 +139,9 @@ WriteBackInvalidateDataCacheRange (
}
Start = (UINTN)Address;
+ //
+ // Calculate the cache line alignment
+ //
End = (Start + Length + (CACHE_LINE_SIZE - 1)) & ~(CACHE_LINE_SIZE - 1);
Start &= ~(CACHE_LINE_SIZE - 1);
@@ -189,7 +192,7 @@ WriteBackDataCache (
mode, then Address is a virtual address.
@param Length The number of bytes to write back from the data cache.
- @return Address
+ @return Address of cache wrote in main memory.
**/
VOID *
@@ -246,7 +249,7 @@ InvalidateDataCache (
then Address is a virtual address.
@param Length The number of bytes to invalidate from the data cache.
- @return Address
+ @return Address of cache invalidation.
**/
VOID *