diff options
Diffstat (limited to 'MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c')
-rw-r--r-- | MdePkg/Library/BaseCacheMaintenanceLib/x86Cache.c | 11 |
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 *
|