diff options
author | qhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-12-03 02:19:49 +0000 |
---|---|---|
committer | qhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-12-03 02:19:49 +0000 |
commit | be5f16148584b0d771bdab651455cd9e27f556ce (patch) | |
tree | 3ef631d9392cdd3ff1c3f3876a9596c66ad9586a /MdePkg/Library/BaseLib/Ia32 | |
parent | f90eb36c1558f2728843bd81bda4958aaa4236a6 (diff) | |
download | edk2-platforms-be5f16148584b0d771bdab651455cd9e27f556ce.tar.xz |
Add AsmEnableCache() and AsmDisableCache() as the IA32 & x64 specific BaseLib API.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6807 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32')
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/DisableCache.c | 6 | ||||
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/EnableCache.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/DisableCache.c b/MdePkg/Library/BaseLib/Ia32/DisableCache.c index d2d028a93d..4ee3b88fdc 100644 --- a/MdePkg/Library/BaseLib/Ia32/DisableCache.c +++ b/MdePkg/Library/BaseLib/Ia32/DisableCache.c @@ -13,10 +13,10 @@ **/
/**
- Disables caches.
+ Set CD bit and clear NW bit of CR0 followed by a WBINVD.
- Set the CD bit of CR0 to 1, clear the NW bit of CR0 to 0, and flush all caches with a
- WBINVD instruction.
+ Disables the caches by setting the CD bit of CR0 to 1, clearing the NW bit of CR0 to 0,
+ and executing a WBINVD instruction. This function is only available on IA-32 and x64.
**/
VOID
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableCache.c b/MdePkg/Library/BaseLib/Ia32/EnableCache.c index 59e2b43213..dab89039f0 100644 --- a/MdePkg/Library/BaseLib/Ia32/EnableCache.c +++ b/MdePkg/Library/BaseLib/Ia32/EnableCache.c @@ -13,10 +13,10 @@ **/
/**
- Enabled caches.
+ Perform a WBINVD and clear both the CD and NW bits of CR0.
- Flush all caches with a WBINVD instruction, clear the CD bit of CR0 to 0, and clear
- the NW bit of CR0 to 0
+ Enables the caches by executing a WBINVD instruction and then clear both the CD and NW
+ bits of CR0 to 0. This function is only available on IA-32 and x64.
**/
VOID
|