History log of /device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2d675c1c8c9e43195bf32d5a34a54f962f35afca 10-Dec-2015 Jeff Fan <jeff.fan@intel.com> UefiCpuPkg/MtrrLib:Initialize local variables before use them

Cc: Shumin Qiu <shumin.qiu@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Shumin Qiu <shumin.qiu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19183 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
b970ed6829d973d48e1a5b73d5de1d969c2ee384 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Add MtrrSetMemoryAttributeInMtrrSettings()

Add new API MtrrSetMemoryAttributeInMtrrSettings() in MtrrLib. Platform could
use this API to set MTRR setting into local MTRR settings buffer instead of
MTRRs. At last, platform could use MtrrSetAllMtrrs() to set the MTRR settings
into MTRRs totally. It could improve MTRRs programming performance obviously,
specially when platform is going to program a set of MTRRs.

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@19162 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
16c2d37e9ab008e3be7964ab689fe150e90df88f 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Add MtrrDebugPrintAllMtrrsWorker()

MtrrDebugPrintAllMtrrsWorker() provides the capability to dump the MTRR setting
from MTRRs or the input MTRR settings buffer.

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@19161 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
5abd5ed4c48cee350c4a3524aa99c8125513b82d 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Add worker functions to access MTRRs or variable

Add worker functions that could access MTRRs or MTRR settings in input buffer.

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@19160 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
e518b80d80c1795545cd88c896fe64be599187bb 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Print MTRR settings when set fixed/variable MTRRs

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@19159 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
b0fa5d29d08e61fd7f2178aa3b455e41374b36c4 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Reduce hardware init when program variable MTRRs

When MtrrSetMemoryAttribute() programs variable MTRRs, it may disable/enable
cache and disable/enable MTRRs several times. This updating tries to do
operation in local variable and does the hardware initialization one time only.

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@19158 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
fa25cf38d988778ef3237e17fc93c1fa0c9e9f8a 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Reduce hardware init when program fixed MTRRs

When MtrrSetMemoryAttribute() programs fixed MTRRs, it may disable/enable cache
and disable/enable MTRRs several times. This updating tries to do operation in
local variable and does the hardware initialization one time only.

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@19157 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
d0baed7db51382d17efe92b1fc8fb741052f116a 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Add MtrrGetMemoryAttributeInVariableMtrrWorker ()

Add function to shadow the content of variable MTRRs into an internal array:
VariableMtrr. And used MtrrGetMemoryAttributeInVariableMtrrWorker() in other
functions.

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@19156 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
acf431e6f7bd7691468904cb9bb19ab1cc44eccf 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Make use of worker functions to get MTRRs count

Try to make use of worker functions to get MTRRs count. It could avoid invoking
IsMtrrSupported() for many times.

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@19155 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
85b7f65b39f7e5873b1bb9b99c601b3865e55f93 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Adjust functions order

Only adjust functions order and there is no any real functionality impact.

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@19154 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
31b3597ee22c431904476bacd1970fb1cb3f8fc5 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> UefiCpuPkg/MtrrLib: Add worker functions not invoke IsMtrrSupported()

Abstract some worker functions not to invoke IsMtrrSupported(). They could be
used by other functions to reduce the number of invoking times on
IsMtrrSupported().

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@19153 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
76b4cae357dff0f8f1f5cc3ce20675ba20ed2847 08-Dec-2015 Michael Kinney <michael.d.kinney@intel.com> 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
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
46309b1101b626c8d3528d85d48383ea156fedf0 08-Dec-2015 Jeff Fan <jeff.fan@intel.com> UefiCpuPkg/MtrrLib: Add PCD PcdCpuNumberOfReservedVariableMtrrs

Current MtrrLib reserves 2 variable MTRRs for some legacy OS boot (CSM boots)
may require some MTRRs to be reserved for OS use. But UEFI OS boot will not use
MTRRs.

Per Scott's suggestion in
link: http://article.gmane.org/gmane.comp.bios.edk2.devel/4099
Add one PCD PcdCpuNumberOfReservedVariableMtrrs to specify the number of
variable MTRRs reserved for OS use. Setting its default value to 2 is for
back-compatibility.

Cc: Scott Duplichan <scott@notabs.org>
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: Jeff Fan <jeff.fan@intel.com>
Suggested-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19151 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
0a4f7aa05618fda721d3681164a5ac44cfe40d08 05-Sep-2015 Jeff Fan <jeff.fan@intel.com> UefiCpuPkg/MtrrLib: MtrrValidBitsMask and MtrrValidAddressMask wrong

Per IA32 SDM, if CPUID.80000008H is not available, software may assume that the
processor supports a 36-bit physical address size.
However, for such old processors (For example, Quark processor),
MtrrValidBitsMask and MtrrValidAddressMask values are reverted and wrong in
MtrrLib. MtrrValidBitsMask should be 0xFFFFFFFFFULL and MtrrValidAddressMask
should be 0xFFFFFF000ULL.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18396 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
44c8400a7de8a4c3e183c64ee8ff689b8ef4a90c 07-Jan-2014 Jeff Fan <jeff.fan@intel.com> MtrrDebugPrintAllMtrrs() should loop until the max physical address is reached.
GetMemoryCacheTypeFromMtrrType () should return the default memory type instead of UC type for MTRR_CACHE_INVALID_TYPE.

Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15053 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
a5953380b18ca53facb42650fecf75cf3a4f0f92 10-Oct-2012 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> Add missing parameter in functions header.

signed-off-by: Jeff Fan <jeff.fan@intel.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13815 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
c878cee473ac03642d7692b0f641c2e83dede9c4 27-Sep-2012 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> Save and disable CPU interrupt before programming MTRR settings, and restore the CPU interrupt after programming MTRR setting.

signed-off-by: Kinney, Michael D <michael.d.kinney@intel.com>
reviewed-by: Bjorge, Erik C <erik.c.bjorge@intel.com>
reviewed-by: Jeff Fan <jeff.fan@intel.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13749 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
0779e5bfb0df775cbe02924ef9db4bd58f871ed5 11-Apr-2012 rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> UefiCpuPkg MtrrLib: For MtrrSetAllMtrrs(), do not set FE/E bits in IA32_MTRR_DEF_TYPE MSR after the MSR is restored.

Signed-off-by: Sun Rui <rui.sun@intel.com>
Reviewed-by: Fan Jeff <jeff.fan@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13182 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
f5b315e525101eafc431c868ee925bfd222311f6 25-Nov-2011 rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> UefiCpuPkg MTRR Library: Remove a buggy check logic in MtrrSetMemoryAttribute() that may incorrectly RETURN_OUT_OF_RESOURCES in some cases.

Signed-off-by: rsun3
Reviewed-by: vanjeff



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12780 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
91ec78241c81a1af766fc5d8cb6c3abf3b0d6b32 28-Oct-2011 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> 1. Introduce the API MtrrGetDefaultMemoryType () in Mtrr Library.
2. Invoke MtrrGetDefaultMemoryType() to get the default memory type instead of the hard code value in module.
3. Add go though for UC attributes.

Signed-off-by: vanjeff
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12587 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
1e60a0ecfc8a2fc5f8b48052141e89a93c40f67f 20-Sep-2011 rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> UefiCpuPkg MTRR Library: enhance MTRR Library.

When it finds that a request range is covered by an existing MTRR with same cache type, the MTRR library set a flag and continues to check other MTRRs and invalidate any MTRR of the same request range with a higher-priority cache type.

Signed-off-by: rsun3
Reviewed-by: gxing


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12388 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
1a2ad6fca7414241807bd0b3143a914bd46deb75 13-Sep-2011 rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> Enhance the MTRR lib to support the case where alignment of base address < length.

Signed-off by: rsun3
Reviewed-by: hhuan13

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12330 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
76f6d9544095553bd54cebd9e86e9bd398fd2220 12-Jan-2011 mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> Remove extra {} inside DEBUG_CODE() macro

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11244 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
ec44f02ecc0020d7592a66a82b443e2909baa3f9 07-Jan-2011 mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> Fix 32-bit build break


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11235 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
f877f3006efcb6225d8392e61b934b61077a5881 06-Jan-2011 mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> Add DEBUG() macros for DEBUG_CACHE to MTRR Library show all changes memory caches setting changes.
If DEBUG_PROPERTY_DEBUG_CODE_ENABLED is also set in PcdDebugPropertyMask, then the entire set of MTRRs will be displayed on every memory cache setting change.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11231 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
a48caeebbab99e22bfd4072829ecaf553cc92c9c 10-Aug-2010 xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> Add boundary check against variable MTRR count.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10787 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
430fbbe0968c9ce6748203776a13e96d367c3bce 13-Jul-2010 xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> Code refinement.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10647 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
01a1c0fc9e60dfd6b26bd6d9aa9c3a6242bbb608 24-Apr-2010 hhtian <hhtian@6f19259b-4bc3-4df7-8a09-765794883524> Update the copyright notice format

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10429 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
ed8dfd7bfeec6fe5333d6a90706d72af5ddee03d 17-Apr-2010 geekboy15a <geekboy15a@6f19259b-4bc3-4df7-8a09-765794883524> Fixed GCC 4.4 build issues due to EFIAPI not being used when required.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10380 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
947a573ada499a7b1533d91f015327cc07605ff7 10-Mar-2010 xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> Add Checking for MTRR existence.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10223 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
5bdfa4e58ad64cbc825d03397b15f5b2bcebda4e 04-Mar-2010 xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> Add array index check to avoid potential buffer overflow.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10179 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
58b23d903e7b2ea2aee87d8c1522c2d5cafa577b 14-Feb-2010 mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> Use atomic AsmDisableCache() and AsmDisableCache() functions instead of AsmWriteCr0() and AsmWbinvd() calls


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9998 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
3ba736f39cdb1d587089885dcde4b501eea9962e 05-Feb-2010 jyao1 <jyao1@6f19259b-4bc3-4df7-8a09-765794883524> Revert incompatible change:
1) No API change from old version.
2) Change MACRO:
#define MTRR_NUMBER_OF_VARIABLE_MTRR 32 // the semantics are changed from NUMBER to MAX_NUMBER.
#define FIRMWARE_VARIABLE_MTRR_NUMBER 6 // wrong and deprecated
#define MTRR_LIB_IA32_VARIABLE_MTRR_END 0x20F // wrong and deprecated
#define RESERVED_FIRMWARE_VARIABLE_MTRR_NUMBER 2 // add new one.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9941 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
3b9be4164b8714a4d866e822cfacb1ea6da6ef7b 05-Feb-2010 jyao1 <jyao1@6f19259b-4bc3-4df7-8a09-765794883524> Original MTRR lib hardcode VARIABLE_MTRR as 8. But it is 7 in Core2 if SMRR enabled, and 10 in latest Corei7.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9935 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
e50466da24377199d405f9ee6ac44b293f4548ae 27-May-2009 jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> Add MTRR library for IA32 & X64 processor architectures.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8394 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/UefiCpuPkg/Library/MtrrLib/MtrrLib.c