**/\r
\r
//\r
-// The following 2 arrays are used in calculating the frequency of local APIC\r
+// The following array is used in calculating the frequency of local APIC\r
// timer. Refer to IA-32 developers' manual for more details.\r
//\r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED\r
-CONST UINT32 mTimerLibLocalApicFrequencies[] = {\r
- 100000000,\r
- 133000000,\r
- 200000000,\r
- 166000000\r
-};\r
-\r
GLOBAL_REMOVE_IF_UNREFERENCED\r
CONST UINT8 mTimerLibLocalApicDivisor[] = {\r
0x02, 0x04, 0x08, 0x10,\r
)\r
{\r
return\r
- mTimerLibLocalApicFrequencies[AsmMsrBitFieldRead32 (44, 16, 18)] /\r
+ PcdGet32(PcdFSBClock) /\r
mTimerLibLocalApicDivisor[MmioBitFieldRead32 (ApicBase + 0x3e0, 0, 3)];\r
}\r
\r
VOID\r
)\r
{\r
- return (UINT32)InternalX86GetTimerTick (InternalX86GetApicBase ());\r
+ return (UINT64)(UINT32)InternalX86GetTimerTick (InternalX86GetApicBase ());\r
}\r
\r
/**\r
*EndValue = 0;\r
}\r
\r
- return InternalX86GetTimerFrequency (ApicBase);\r
+ return (UINT64) InternalX86GetTimerFrequency (ApicBase);;\r
}\r