diff options
author | bxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-21 09:32:26 +0000 |
---|---|---|
committer | bxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-21 09:32:26 +0000 |
commit | f094c270ee43515a3337e2b8e8327ca7e09d2581 (patch) | |
tree | a01e3dadf0d66720065a506be961beaab9e64a4a | |
parent | 7bcb8d17b2c26ede333005e1edb1365ba7d9213a (diff) | |
download | edk2-platforms-f094c270ee43515a3337e2b8e8327ca7e09d2581.tar.xz |
A workaround to a compiler bug that causes the high order 32 bits of GetPerformanceCounter() being indeterminate.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1336 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c b/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c index dd240d88d0..fe18878d19 100644 --- a/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c +++ b/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c @@ -210,7 +210,8 @@ GetPerformanceCounter ( VOID
)
{
- return (UINT32)InternalX86GetTimerTick (InternalX86GetApicBase ());
+ volatile static UINT64 Mask = 0xffffffff;
+ return InternalX86GetTimerTick (InternalX86GetApicBase ()) & Mask;
}
/**
|