- Timestamp:
- Oct 20, 2014 5:02:44 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 96614
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrv.c
r53092 r53095 5921 5921 { 5922 5922 int cTriesLeft = 4; 5923 5924 /* Assert order. */ 5923 5925 AssertReturn(pGip, VERR_INVALID_PARAMETER); 5924 5926 AssertReturn(pGip->u32Magic == SUPGLOBALINFOPAGE_MAGIC, VERR_WRONG_ORDER); … … 5933 5935 uint8_t idApicBefore; 5934 5936 uint8_t idApicAfter; 5935 PSUPGIPCPU pGipCpuBefore;5936 PSUPGIPCPU pGipCpuAfter;5937 uint16_t iCpuBefore;5938 uint16_t iCpuAfter;5939 5937 5940 5938 uFlags = ASMIntDisableFlags(); … … 5989 5987 ASMSetFlags(uFlags); 5990 5988 5991 iCpuBefore = pGip->aiCpuFromApicId[idApicBefore];5992 iCpuAfter = pGip->aiCpuFromApicId[idApicAfter];5993 AssertMsg(iCpuBefore < pGip->cCpus, ("iCpuBefore=%u cCpus=%u\n", iCpuBefore, pGip->cCpus));5994 AssertMsg(iCpuAfter < pGip->cCpus, ("iCpuAfter=%u cCpus=%u\n", iCpuAfter, pGip->cCpus));5995 pGipCpuBefore = &pGip->aCPUs[iCpuBefore];5996 pGipCpuAfter = &pGip->aCPUs[iCpuAfter];5997 5998 5989 /** @todo replace with enum check. */ 5999 5990 if (supdrvIsInvariantTsc()) 6000 5991 { 5992 PSUPGIPCPU pGipCpuBefore; 5993 PSUPGIPCPU pGipCpuAfter; 5994 5995 uint16_t iCpuBefore = pGip->aiCpuFromApicId[idApicBefore]; 5996 uint16_t iCpuAfter = pGip->aiCpuFromApicId[idApicAfter]; 5997 AssertMsgReturn(iCpuBefore < pGip->cCpus, ("iCpuBefore=%u cCpus=%u\n", iCpuBefore, pGip->cCpus), VERR_WRONG_ORDER); 5998 AssertMsgReturn(iCpuAfter < pGip->cCpus, ("iCpuAfter=%u cCpus=%u\n", iCpuAfter, pGip->cCpus), VERR_WRONG_ORDER); 5999 pGipCpuBefore = &pGip->aCPUs[iCpuBefore]; 6000 pGipCpuAfter = &pGip->aCPUs[iCpuAfter]; 6001 6001 6002 if ( pGipCpuBefore->i64TSCDelta != INT64_MAX 6002 6003 && pGipCpuAfter->i64TSCDelta != INT64_MAX) … … 6005 6006 u64TscAfter += pGipCpuAfter->i64TSCDelta; 6006 6007 6007 SUPR0Printf("vboxdrv: TSC frequency is (%'RU64) Hz , kernel timer granularity is (%RU32) Ns\n",6008 SUPR0Printf("vboxdrv: TSC frequency is (%'RU64) Hz - invariant, kernel timer granularity is (%RU32) Ns\n", 6008 6009 ((u64TscAfter - u64TscBefore) * RT_NS_1SEC_64) / (u64NanoTsAfter - u64NanoTs), 6009 6010 RTTimerGetSystemGranularity()); … … 6018 6019 else 6019 6020 { 6020 SUPR0Printf("vboxdrv: TSC frequency is (%'RU64) Hz , kernel timer granularity is (%RU32) Ns\n",6021 SUPR0Printf("vboxdrv: TSC frequency is (%'RU64) Hz - maybe variant, kernel timer granularity is (%RU32) Ns\n", 6021 6022 ((u64TscAfter - u64TscBefore) * RT_NS_1SEC_64) / (u64NanoTsAfter - u64NanoTs), 6022 6023 RTTimerGetSystemGranularity());
Note:
See TracChangeset
for help on using the changeset viewer.