summaryrefslogtreecommitdiff
path: root/UefiCpuPkg
diff options
context:
space:
mode:
authorMichael Kinney <michael.d.kinney@intel.com>2015-12-08 05:20:44 +0000
committervanjeff <vanjeff@Edk2>2015-12-08 05:20:44 +0000
commit76b4cae357dff0f8f1f5cc3ce20675ba20ed2847 (patch)
tree5e4e06bf86d815dc6014b104c7e02f629807befc /UefiCpuPkg
parent46309b1101b626c8d3528d85d48383ea156fedf0 (diff)
downloadedk2-76b4cae357dff0f8f1f5cc3ce20675ba20ed2847.zip
edk2-76b4cae357dff0f8f1f5cc3ce20675ba20ed2847.tar.gz
edk2-76b4cae357dff0f8f1f5cc3ce20675ba20ed2847.tar.bz2
UefiCpuPkg/MtrrLib: Fix some typo and clean up code format
Fixed some typo. Removed some trailing spaces and TAB key. Clean up code format. Cc: Feng Tian <feng.tian@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19152 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'UefiCpuPkg')
-rw-r--r--UefiCpuPkg/Include/Library/MtrrLib.h70
-rw-r--r--UefiCpuPkg/Library/MtrrLib/MtrrLib.c162
2 files changed, 121 insertions, 111 deletions
diff --git a/UefiCpuPkg/Include/Library/MtrrLib.h b/UefiCpuPkg/Include/Library/MtrrLib.h
index f9002e7..884c7bb 100644
--- a/UefiCpuPkg/Include/Library/MtrrLib.h
+++ b/UefiCpuPkg/Include/Library/MtrrLib.h
@@ -84,8 +84,8 @@ typedef struct {
// Structure to hold base and mask pair for variable MTRR register
//
typedef struct _MTRR_VARIABLE_SETTING_ {
- UINT64 Base;
- UINT64 Mask;
+ UINT64 Base;
+ UINT64 Mask;
} MTRR_VARIABLE_SETTING;
//
@@ -115,11 +115,11 @@ typedef struct _MTRR_SETTINGS_ {
// Memory cache types
//
typedef enum {
- CacheUncacheable = 0,
- CacheWriteCombining = 1,
- CacheWriteThrough = 4,
- CacheWriteProtected = 5,
- CacheWriteBack = 6
+ CacheUncacheable = 0,
+ CacheWriteCombining = 1,
+ CacheWriteThrough = 4,
+ CacheWriteProtected = 5,
+ CacheWriteBack = 6
} MTRR_MEMORY_CACHE_TYPE;
#define MTRR_CACHE_UNCACHEABLE 0
@@ -156,20 +156,27 @@ GetFirmwareVariableMtrrCount (
/**
This function attempts to set the attributes for a memory range.
- @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 region.
+ @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] Attribute The bit mask of attributes to set for the
+ memory region.
- @retval RETURN_SUCCESS The attributes were set for the memory region.
+ @retval RETURN_SUCCESS The attributes were set for the memory
+ region.
@retval RETURN_INVALID_PARAMETER Length is zero.
- @retval RETURN_UNSUPPORTED The processor does not support one or more bytes of the
- memory resource range specified by BaseAddress and Length.
- @retval RETURN_UNSUPPORTED The bit mask of attributes is not support for the memory resource
- range specified by BaseAddress and Length.
- @retval RETURN_ACCESS_DENIED The attributes for the memory resource range specified by
- BaseAddress and Length cannot be modified.
- @retval RETURN_OUT_OF_RESOURCES There are not enough system resources to modify the attributes of
- the memory resource range.
+ @retval RETURN_UNSUPPORTED The processor does not support one or
+ more bytes of the memory resource range
+ specified by BaseAddress and Length.
+ @retval RETURN_UNSUPPORTED The bit mask of attributes is not support
+ for the memory resource range specified
+ by BaseAddress and Length.
+ @retval RETURN_ACCESS_DENIED The attributes for the memory resource
+ range specified by BaseAddress and Length
+ cannot be modified.
+ @retval RETURN_OUT_OF_RESOURCES There are not enough system resources to
+ modify the attributes of the memory
+ resource range.
**/
RETURN_STATUS
@@ -185,7 +192,7 @@ MtrrSetMemoryAttribute (
This function will get the memory cache type of the specific address.
This function is mainly for debugging purposes.
- @param Address The specific address
+ @param[in] Address The specific address
@return The memory cache type of the specific address
@@ -200,7 +207,7 @@ MtrrGetMemoryAttribute (
/**
This function will get the raw value in variable MTRRs
- @param VariableSettings A buffer to hold variable MTRRs content.
+ @param[out] VariableSettings A buffer to hold variable MTRRs content.
@return The buffer point to MTRR_VARIABLE_SETTINGS in which holds the content of the variable mtrr
@@ -215,7 +222,7 @@ MtrrGetVariableMtrr (
/**
This function sets fixed MTRRs
- @param VariableSettings A buffer to hold variable MTRRs content.
+ @param[in] VariableSettings A buffer to hold variable MTRRs content.
@return The pointer of VariableSettings
@@ -230,7 +237,7 @@ MtrrSetVariableMtrr (
/**
This function gets the content in fixed MTRRs
- @param FixedSettings A buffer to hold fixed MTRRs content.
+ @param[out] FixedSettings A buffer to hold fixed MTRRs content.
@return The pointer of FixedSettings
@@ -245,7 +252,7 @@ MtrrGetFixedMtrr (
/**
This function sets fixed MTRRs
- @param FixedSettings A buffer holding fixed MTRRs content.
+ @param[in] FixedSettings A buffer holding fixed MTRRs content.
@return The pointer of FixedSettings
@@ -260,7 +267,7 @@ MtrrSetFixedMtrr (
/**
This function gets the content in all MTRRs (variable and fixed)
- @param MtrrSetting A buffer to hold all MTRRs content.
+ @param[out] MtrrSetting A buffer to hold all MTRRs content.
@return The pointer of MtrrSetting
@@ -275,7 +282,7 @@ MtrrGetAllMtrrs (
/**
This function sets all MTRRs (variable and fixed)
- @param MtrrSetting A buffer to hold all MTRRs content.
+ @param[in] MtrrSetting A buffer to hold all MTRRs content.
@return The pointer of MtrrSetting
@@ -293,11 +300,12 @@ MtrrSetAllMtrrs (
This function shadows the content of variable MTRRs into
an internal array: VariableMtrr
- @param MtrrValidBitsMask The mask for the valid bit of the MTRR
- @param MtrrValidAddressMask The valid address mask for MTRR since the base address in
- MTRR must align to 4K, so valid address mask equal to
- MtrrValidBitsMask & 0xfffffffffffff000ULL
- @param VariableMtrr The array to shadow variable MTRRs content
+ @param[in] MtrrValidBitsMask The mask for the valid bit of the MTRR
+ @param[in] MtrrValidAddressMask The valid address mask for MTRR since the base address in
+ MTRR must align to 4K, so valid address mask equal to
+ MtrrValidBitsMask & 0xfffffffffffff000ULL
+ @param[out] VariableMtrr The array to shadow variable MTRRs content
+
@return The ruturn value of this paramter indicates the number of
MTRRs which has been used.
**/
diff --git a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
index 8222337..1584ae2 100644
--- a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
+++ b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
@@ -86,7 +86,7 @@ CONST FIXED_MTRR mMtrrLibFixedMtrrTable[] = {
MTRR_LIB_IA32_MTRR_FIX4K_F8000,
0xF8000,
SIZE_4KB
- },
+ }
};
//
@@ -188,7 +188,7 @@ PreMtrrChange (
// Disable interrupts and save current interrupt state
//
MtrrContext->InterruptState = SaveAndDisableInterrupts();
-
+
//
// Enter no fill cache mode, CD=1(Bit30), NW=0 (Bit29)
//
@@ -206,7 +206,7 @@ PreMtrrChange (
CpuFlushTlb ();
//
- // Disable Mtrrs
+ // Disable MTRRs
//
AsmMsrBitFieldWrite64 (MTRR_LIB_IA32_MTRR_DEF_TYPE, 10, 11, 0);
}
@@ -226,7 +226,7 @@ PostMtrrChangeEnableCache (
)
{
//
- // Flush all TLBs
+ // Flush all TLBs
//
CpuFlushTlb ();
@@ -239,7 +239,7 @@ PostMtrrChangeEnableCache (
// Restore original CR4 value
//
AsmWriteCr4 (MtrrContext->Cr4);
-
+
//
// Restore original interrupt state
//
@@ -272,9 +272,9 @@ PostMtrrChange (
/**
Programs fixed MTRRs registers.
- @param MemoryCacheType The memory type to set.
- @param Base The base address of memory range.
- @param Length The length of memory range.
+ @param[in] MemoryCacheType The memory type to set.
+ @param[in, out] Base The base address of memory range.
+ @param[in, out] Length The length of memory range.
@retval RETURN_SUCCESS The cache type was updated successfully
@retval RETURN_UNSUPPORTED The requested range or cache type was invalid
@@ -356,14 +356,14 @@ ProgramFixedMtrr (
/**
- Get the attribute of variable MTRRs.
+ Gets the attribute of variable MTRRs.
This function shadows the content of variable MTRRs into an
internal array: VariableMtrr.
- @param MtrrValidBitsMask The mask for the valid bit of the MTRR
- @param MtrrValidAddressMask The valid address mask for MTRR
- @param VariableMtrr The array to shadow variable MTRRs content
+ @param[in] MtrrValidBitsMask The mask for the valid bit of the MTRR
+ @param[in] MtrrValidAddressMask The valid address mask for MTRR
+ @param[out] VariableMtrr The array to shadow variable MTRRs content
@return The return value of this paramter indicates the
number of MTRRs which has been used.
@@ -423,9 +423,9 @@ MtrrGetMemoryAttributeInVariableMtrr (
/**
Checks overlap between given memory range and MTRRs.
- @param Start The start address of memory range.
- @param End The end address of memory range.
- @param VariableMtrr The array to shadow variable MTRRs content
+ @param[in] Start The start address of memory range.
+ @param[in] End The end address of memory range.
+ @param[in] VariableMtrr The array to shadow variable MTRRs content
@retval TRUE Overlap exists.
@retval FALSE No overlap.
@@ -461,9 +461,9 @@ CheckMemoryAttributeOverlap (
/**
Marks a variable MTRR as non-valid.
- @param Index The index of the array VariableMtrr to be invalidated
- @param VariableMtrr The array to shadow variable MTRRs content
- @param UsedMtrr The number of MTRRs which has already been used
+ @param[in] Index The index of the array VariableMtrr to be invalidated
+ @param[in] VariableMtrr The array to shadow variable MTRRs content
+ @param[out] UsedMtrr The number of MTRRs which has already been used
**/
VOID
@@ -479,16 +479,16 @@ InvalidateShadowMtrr (
/**
- Combine memory attributes.
+ Combines memory attributes.
If overlap exists between given memory range and MTRRs, try to combine them.
- @param Attributes The memory type to set.
- @param Base The base address of memory range.
- @param Length The length of memory range.
- @param VariableMtrr The array to shadow variable MTRRs content
- @param UsedMtrr The number of MTRRs which has already been used
- @param OverwriteExistingMtrr Returns whether an existing MTRR was used
+ @param[in] Attributes The memory type to set.
+ @param[in, out] Base The base address of memory range.
+ @param[in, out] Length The length of memory range.
+ @param[in] VariableMtrr The array to shadow variable MTRRs content
+ @param[in, out] UsedMtrr The number of MTRRs which has already been used
+ @param[out] OverwriteExistingMtrr Returns whether an existing MTRR was used
@retval EFI_SUCCESS Memory region successfully combined.
@retval EFI_ACCESS_DENIED Memory region cannot be combined.
@@ -536,7 +536,7 @@ CombineMemoryAttribute (
//
if (Attributes == VariableMtrr[Index].Type) {
//
- // if the Mtrr range contain the request range, set a flag, then continue to
+ // if the MTRR range contain the request range, set a flag, then continue to
// invalidate any MTRR of the same request range with higher priority cache type.
//
if (VariableMtrr[Index].BaseAddress <= *Base && MtrrEnd >= EndAddress) {
@@ -597,9 +597,10 @@ CombineMemoryAttribute (
/**
- Calculate the maximum value which is a power of 2, but less the MemoryLength.
+ Calculates the maximum value which is a power of 2, but less the MemoryLength.
+
+ @param[in] MemoryLength The number to pass in.
- @param MemoryLength The number to pass in.
@return The maximum value which is align to power of 2 and less the MemoryLength
**/
@@ -626,21 +627,22 @@ Power2MaxMemory (
/**
- Determine the MTRR numbers used to program a memory range.
+ Determines the MTRR numbers used to program a memory range.
- This function first checks the alignment of the base address. If the alignment of the base address <= Length,
- cover the memory range (BaseAddress, alignment) by a MTRR, then BaseAddress += alignment and Length -= alignment.
- Repeat the step until alignment > Length.
+ This function first checks the alignment of the base address.
+ If the alignment of the base address <= Length, cover the memory range
+ (BaseAddress, alignment) by a MTRR, then BaseAddress += alignment and
+ Length -= alignment. Repeat the step until alignment > Length.
- Then this function determines which direction of programming the variable MTRRs for the remaining length
- will use fewer MTRRs.
+ Then this function determines which direction of programming the variable
+ MTRRs for the remaining length will use fewer MTRRs.
- @param BaseAddress Length of Memory to program MTRR
- @param Length Length of Memory to program MTRR
- @param MtrrNumber Pointer to the number of necessary MTRRs
+ @param[in] BaseAddress Length of Memory to program MTRR
+ @param[in] Length Length of Memory to program MTRR
+ @param[in] MtrrNumber Pointer to the number of necessary MTRRs
@retval TRUE Positive direction is better.
- FALSE Negtive direction is better.
+ FALSE Negative direction is better.
**/
BOOLEAN
@@ -709,13 +711,13 @@ GetMtrrNumberAndDirection (
This function programs MTRRs according to the values specified
in the shadow array.
- @param VariableMtrr The array to shadow variable MTRRs content
+ @param[in, out] VariableMtrr Shadow of variable MTRR contents
**/
VOID
InvalidateMtrr (
- IN VARIABLE_MTRR *VariableMtrr
- )
+ IN OUT VARIABLE_MTRR *VariableMtrr
+ )
{
UINTN Index;
UINTN VariableMtrrCount;
@@ -741,11 +743,11 @@ InvalidateMtrr (
This function programs variable MTRRs
- @param MtrrNumber Index of MTRR to program.
- @param BaseAddress Base address of memory region.
- @param Length Length of memory region.
- @param MemoryCacheType Memory type to set.
- @param MtrrValidAddressMask The valid address mask for MTRR
+ @param[in] MtrrNumber Index of MTRR to program.
+ @param[in] BaseAddress Base address of memory region.
+ @param[in] Length Length of memory region.
+ @param[in] MemoryCacheType Memory type to set.
+ @param[in] MtrrValidAddressMask The valid address mask for MTRR
**/
VOID
@@ -782,9 +784,9 @@ ProgramVariableMtrr (
/**
- Convert the Memory attibute value to MTRR_MEMORY_CACHE_TYPE.
+ Converts the Memory attribute value to MTRR_MEMORY_CACHE_TYPE.
- @param MtrrType MTRR memory type
+ @param[in] MtrrType MTRR memory type
@return The enum item in MTRR_MEMORY_CACHE_TYPE
@@ -808,7 +810,7 @@ GetMemoryCacheTypeFromMtrrType (
default:
//
// MtrrType is MTRR_CACHE_INVALID_TYPE, that means
- // no mtrr covers the range
+ // no MTRR covers the range
//
return MtrrGetDefaultMemoryType ();
}
@@ -819,8 +821,8 @@ GetMemoryCacheTypeFromMtrrType (
This function initializes the valid bits mask and valid address mask for MTRRs.
- @param MtrrValidBitsMask The mask for the valid bit of the MTRR
- @param MtrrValidAddressMask The valid address mask for the MTRR
+ @param[out] MtrrValidBitsMask The mask for the valid bit of the MTRR
+ @param[out] MtrrValidAddressMask The valid address mask for the MTRR
**/
VOID
@@ -849,21 +851,21 @@ MtrrLibInitializeMtrrMask (
/**
- Determing the real attribute of a memory range.
+ Determines the real attribute of a memory range.
This function is to arbitrate the real attribute of the memory when
- there are 2 MTRR covers the same memory range. For further details,
+ there are 2 MTRRs covers the same memory range. For further details,
please refer the IA32 Software Developer's Manual, Volume 3,
Section 10.11.4.1.
- @param MtrrType1 the first kind of Memory type
- @param MtrrType2 the second kind of memory type
+ @param[in] MtrrType1 The first kind of Memory type
+ @param[in] MtrrType2 The second kind of memory type
**/
UINT64
MtrrPrecedence (
- UINT64 MtrrType1,
- UINT64 MtrrType2
+ IN UINT64 MtrrType1,
+ IN UINT64 MtrrType2
)
{
UINT64 MtrrType;
@@ -923,11 +925,11 @@ MtrrPrecedence (
/**
This function attempts to set the attributes for a memory range.
- @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 region.
+ @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] Attribute The bit mask of attributes to set for the
+ memory region.
@retval RETURN_SUCCESS The attributes were set for the memory
region.
@@ -1198,9 +1200,9 @@ Done:
This function is mainly for debug purpose.
- @param Address The specific address
+ @param[in] Address The specific address
- @return Memory cache type of the sepcific address
+ @return Memory cache type of the specific address
**/
MTRR_MEMORY_CACHE_TYPE
@@ -1290,7 +1292,7 @@ MtrrGetMemoryAttribute (
/**
This function will get the raw value in variable MTRRs
- @param VariableSettings A buffer to hold variable MTRRs content.
+ @param[out] FixedSettings A buffer to hold fixed MTRRs content.
@return The VariableSettings input pointer
@@ -1325,7 +1327,7 @@ MtrrGetVariableMtrr (
/**
Worker function setting variable MTRRs
- @param VariableSettings A buffer to hold variable MTRRs content.
+ @param[in] VariableSettings A buffer to hold variable MTRRs content.
**/
VOID
@@ -1355,7 +1357,7 @@ MtrrSetVariableMtrrWorker (
/**
This function sets variable MTRRs
- @param VariableSettings A buffer to hold variable MTRRs content.
+ @param[in] VariableSettings A buffer to hold variable MTRRs content.
@return The pointer of VariableSettings
@@ -1382,7 +1384,7 @@ MtrrSetVariableMtrr (
/**
This function gets the content in fixed MTRRs
- @param FixedSettings A buffer to hold fixed Mtrrs content.
+ @param[out] FixedSettings A buffer to hold fixed Mtrrs content.
@retval The pointer of FixedSettings
@@ -1410,7 +1412,7 @@ MtrrGetFixedMtrr (
/**
Worker function setting fixed MTRRs
- @param FixedSettings A buffer to hold fixed Mtrrs content.
+ @param[in] FixedSettings A buffer to hold fixed Mtrrs content.
**/
VOID
@@ -1432,7 +1434,7 @@ MtrrSetFixedMtrrWorker (
/**
This function sets fixed MTRRs
- @param FixedSettings A buffer to hold fixed Mtrrs content.
+ @param[in] FixedSettings A buffer to hold fixed Mtrrs content.
@retval The pointer of FixedSettings
@@ -1460,7 +1462,7 @@ MtrrSetFixedMtrr (
/**
This function gets the content in all MTRRs (variable and fixed)
- @param MtrrSetting A buffer to hold all Mtrrs content.
+ @param[out] MtrrSetting A buffer to hold all Mtrrs content.
@retval the pointer of MtrrSetting
@@ -1497,7 +1499,7 @@ MtrrGetAllMtrrs (
/**
This function sets all MTRRs (variable and fixed)
- @param MtrrSetting A buffer holding all MTRRs content.
+ @param[in] MtrrSetting A buffer holding all MTRRs content.
@retval The pointer of MtrrSetting
@@ -1569,7 +1571,7 @@ MtrrDebugPrintAllMtrrs (
DEBUG((DEBUG_CACHE, "MTRR Settings\n"));
DEBUG((DEBUG_CACHE, "=============\n"));
-
+
MtrrGetAllMtrrs (&MtrrSettings);
DEBUG((DEBUG_CACHE, "MTRR Default Type: %016lx\n", MtrrSettings.MtrrDefType));
for (Index = 0; Index < MTRR_NUMBER_OF_FIXED_MTRR; Index++) {
@@ -1596,7 +1598,7 @@ MtrrDebugPrintAllMtrrs (
MemoryType = (UINTN)(RShiftU64 (MtrrSettings.Fixed.Mtrr[Index], Index1 * 8) & 0xff);
if (MemoryType > CacheWriteBack) {
MemoryType = MTRR_CACHE_INVALID_TYPE;
- }
+ }
if (MemoryType != PreviousMemoryType) {
if (PreviousMemoryType != MTRR_CACHE_INVALID_TYPE) {
DEBUG((DEBUG_CACHE, "%016lx\n", Base - 1));
@@ -1632,12 +1634,12 @@ MtrrDebugPrintAllMtrrs (
PreviousMemoryType = MemoryType;
DEBUG((DEBUG_CACHE, "%a:%016lx-", mMtrrMemoryCacheTypeShortName[MemoryType], Base));
}
-
- RangeBase = BASE_1MB;
+
+ RangeBase = BASE_1MB;
NoRangeBase = BASE_1MB;
RangeLimit = Limit;
NoRangeLimit = Limit;
-
+
for (Index = 0, Found = FALSE; Index < VariableMtrrCount; Index++) {
if ((MtrrSettings.Variables.Mtrr[Index].Mask & BIT11) == 0) {
//
@@ -1651,7 +1653,7 @@ MtrrDebugPrintAllMtrrs (
if (Base >= MtrrBase && Base < MtrrLimit) {
Found = TRUE;
}
-
+
if (Base >= MtrrBase && MtrrBase > RangeBase) {
RangeBase = MtrrBase;
}
@@ -1664,7 +1666,7 @@ MtrrDebugPrintAllMtrrs (
if (Base < MtrrLimit && MtrrLimit <= RangeLimit) {
RangeLimit = MtrrLimit;
}
-
+
if (Base > MtrrLimit && NoRangeBase < MtrrLimit) {
NoRangeBase = MtrrLimit + 1;
}
@@ -1672,7 +1674,7 @@ MtrrDebugPrintAllMtrrs (
NoRangeLimit = MtrrBase - 1;
}
}
-
+
if (Found) {
Base = RangeLimit + 1;
} else {