-\r
-/**\r
- Converts the Memory attribute value to MTRR_MEMORY_CACHE_TYPE.\r
-\r
- If MtrrSetting is not NULL, gets the default memory attribute from input\r
- MTRR settings buffer.\r
- If MtrrSetting is NULL, gets the default memory attribute from MSR.\r
-\r
- @param[in] MtrrSetting A buffer holding all MTRRs content.\r
- @param[in] MtrrType MTRR memory type\r
-\r
- @return The enum item in MTRR_MEMORY_CACHE_TYPE\r
-\r
-**/\r
-MTRR_MEMORY_CACHE_TYPE\r
-GetMemoryCacheTypeFromMtrrType (\r
- IN MTRR_SETTINGS *MtrrSetting,\r
- IN UINT64 MtrrType\r
- )\r
-{\r
- switch (MtrrType) {\r
- case MTRR_CACHE_UNCACHEABLE:\r
- return CacheUncacheable;\r
- case MTRR_CACHE_WRITE_COMBINING:\r
- return CacheWriteCombining;\r
- case MTRR_CACHE_WRITE_THROUGH:\r
- return CacheWriteThrough;\r
- case MTRR_CACHE_WRITE_PROTECTED:\r
- return CacheWriteProtected;\r
- case MTRR_CACHE_WRITE_BACK:\r
- return CacheWriteBack;\r
- default:\r
- //\r
- // MtrrType is MTRR_CACHE_INVALID_TYPE, that means\r
- // no MTRR covers the range\r
- //\r
- return MtrrGetDefaultMemoryTypeWorker (MtrrSetting);\r
- }\r
-}\r
-\r