From: bxing Date: Mon, 21 Aug 2006 09:32:26 +0000 (+0000) Subject: A workaround to a compiler bug that causes the high order 32 bits of GetPerformanceCo... X-Git-Tag: edk2-stable201903~24537 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=f094c270ee43515a3337e2b8e8327ca7e09d2581 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 --- 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; } /**