summaryrefslogtreecommitdiffstats
path: root/MdePkg
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg')
-rw-r--r--MdePkg/Include/Library/BaseLib.h32
-rw-r--r--MdePkg/Library/BaseCacheMaintenanceLib/IpfCache.c14
-rw-r--r--MdePkg/Library/BaseLib/BaseLib.msa2
3 files changed, 21 insertions, 27 deletions
diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h
index e414e27399..329385d9c1 100644
--- a/MdePkg/Include/Library/BaseLib.h
+++ b/MdePkg/Include/Library/BaseLib.h
@@ -5072,24 +5072,24 @@ IpfReadItc (
/**
- Invalidates a range of instruction cache lines in the cache coherency domain
- of the calling CPU.
-
- Invalidates the instruction cache lines specified by Address and Length. If
- Address is not aligned on a cache line boundary, then entire instruction
- cache line containing Address is invalidated. If Address + Length is not
- aligned on a cache line boundary, then the entire instruction cache line
- containing Address + Length -1 is invalidated. This function may choose to
- invalidate the entire instruction cache if that is more efficient than
- invalidating the specified range. If Length is 0, the no instruction cache
- lines are invalidated. Address is returned.
+ Flush a range of cache lines in the cache coherency domain of the calling
+ CPU.
+
+ Invalidates the cache lines specified by Address and Length. If Address is
+ not aligned on a cache line boundary, then entire cache line containing
+ Address is invalidated. If Address + Length is not aligned on a cache line
+ boundary, then the entire instruction cache line containing Address + Length
+ -1 is invalidated. This function may choose to invalidate the entire
+ instruction cache if that is more efficient than invalidating the specified
+ range. If Length is 0, the no instruction cache lines are invalidated.
+ Address is returned.
If Length is greater than (MAX_ADDRESS - Address + 1), then ASSERT().
- @param Address The base address of the instruction cache lines to
- invalidate. If the CPU is in a physical addressing mode, then
- Address is a physical address. If the CPU is in a virtual
- addressing mode, then Address is a virtual address.
+ @param Address The base address of the instruction lines to invalidate. If
+ the CPU is in a physical addressing mode, then Address is a
+ physical address. If the CPU is in a virtual addressing mode,
+ then Address is a virtual address.
@param Length The number of bytes to invalidate from the instruction cache.
@@ -5098,7 +5098,7 @@ IpfReadItc (
**/
VOID *
EFIAPI
-IpfInvalidateInstructionCacheRange (
+IpfFlushCacheRange (
IN VOID *Address,
IN UINTN Length
);
diff --git a/MdePkg/Library/BaseCacheMaintenanceLib/IpfCache.c b/MdePkg/Library/BaseCacheMaintenanceLib/IpfCache.c
index 0c6f0e4dc8..17060eb70f 100644
--- a/MdePkg/Library/BaseCacheMaintenanceLib/IpfCache.c
+++ b/MdePkg/Library/BaseCacheMaintenanceLib/IpfCache.c
@@ -62,7 +62,7 @@ InvalidateInstructionCacheRange (
IN UINTN Length
)
{
- return IpfInvalidateInstructionCacheRange (Address, Length);
+ return IpfFlushCacheRange (Address, Length);
}
/**
@@ -119,10 +119,7 @@ WriteBackInvalidateDataCacheRange (
{
ASSERT (Length <= MAX_ADDRESS - (UINTN)Address + 1);
- if (Length > 0) {
- WriteBackInvalidateDataCache ();
- }
- return Address;
+ return IpfFlushCacheRange (Address, Length);
}
/**
@@ -178,10 +175,7 @@ WriteBackDataCacheRange (
{
ASSERT (Length <= MAX_ADDRESS - (UINTN)Address + 1);
- if (Length > 0) {
- WriteBackDataCache ();
- }
- return Address;
+ return IpfFlushCacheRange (Address, Length);
}
/**
@@ -238,5 +232,5 @@ InvalidateDataCacheRange (
IN UINTN Length
)
{
- return WriteBackInvalidateDataCacheRange (Address, Length);
+ return IpfFlushCacheRange (Address, Length);
}
diff --git a/MdePkg/Library/BaseLib/BaseLib.msa b/MdePkg/Library/BaseLib/BaseLib.msa
index 52dbf7304a..08f21eb7b2 100644
--- a/MdePkg/Library/BaseLib/BaseLib.msa
+++ b/MdePkg/Library/BaseLib/BaseLib.msa
@@ -425,7 +425,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<Filename SupArchList="IPF">Ipf/CpuFlushTlb.s</Filename>
<Filename SupArchList="IPF">Ipf/GetInterruptState.s</Filename>
<Filename SupArchList="IPF">Ipf/Non-existing.c</Filename>
- <Filename SupArchList="IPF">Ipf/InvalidateInstructionCacheRange.s</Filename>
+ <Filename SupArchList="IPF">Ipf/FlushCacheRange.s</Filename>
<Filename SupArchList="IPF">Ipf/ReadItc.s</Filename>
<Filename SupArchList="EBC">Math64.c</Filename>