diff -r 73ea206103e6 -r 43365a9b78a3 kernel/eka/nkernsmp/x86/ncutils.cpp --- a/kernel/eka/nkernsmp/x86/ncutils.cpp Wed Jun 23 19:44:53 2010 +0300 +++ b/kernel/eka/nkernsmp/x86/ncutils.cpp Tue Jul 06 15:50:07 2010 +0300 @@ -17,10 +17,6 @@ #include -extern "C" { -extern SVariantInterfaceBlock* VIB; -} - //#define __DBG_MON_FAULT__ //#define __RAM_LOADED_CODE__ //#define __EARLY_DEBUG__ @@ -325,33 +321,25 @@ void NKern::Init0(TAny* a) { __KTRACE_OPT(KBOOT,DEBUGPRINT("VIB=%08x", a)); - VIB = (SVariantInterfaceBlock*)a; - __NK_ASSERT_ALWAYS(VIB && VIB->iVer==0 && VIB->iSize==sizeof(SVariantInterfaceBlock)); - __KTRACE_OPT(KBOOT,DEBUGPRINT("iVer=%d iSize=%d", VIB->iVer, VIB->iSize)); - __KTRACE_OPT(KBOOT,DEBUGPRINT("iMaxCpuClock=%08x %08x", I64HIGH(VIB->iMaxCpuClock), I64LOW(VIB->iMaxCpuClock))); - __KTRACE_OPT(KBOOT,DEBUGPRINT("iTimestampFreq=%u", VIB->iTimestampFreq)); - __KTRACE_OPT(KBOOT,DEBUGPRINT("iMaxTimerClock=%u", VIB->iMaxTimerClock)); + SVariantInterfaceBlock* v = (SVariantInterfaceBlock*)a; + TheScheduler.iVIB = v; + __NK_ASSERT_ALWAYS(v && v->iVer==0 && v->iSize==sizeof(SVariantInterfaceBlock)); + __KTRACE_OPT(KBOOT,DEBUGPRINT("iVer=%d iSize=%d", v->iVer, v->iSize)); + __KTRACE_OPT(KBOOT,DEBUGPRINT("iMaxCpuClock=%08x %08x", I64HIGH(v->iMaxCpuClock), I64LOW(v->iMaxCpuClock))); + __KTRACE_OPT(KBOOT,DEBUGPRINT("iTimestampFreq=%u", v->iTimestampFreq)); + __KTRACE_OPT(KBOOT,DEBUGPRINT("iMaxTimerClock=%u", v->iMaxTimerClock)); TInt i; for (i=0; iiCpuFreqR[i]); + ss.iSSX.iTimerFreqRI.Set(v->iTimerFreqR[i]); + ss.iSSX.iTimestampOffset.i64 = 0; - VIB->iTimerMult[i] = 0; - VIB->iCpuMult[i] = 0; + v->iCpuFreqR[i] = 0; + v->iTimerFreqR[i] = 0; } - TheScheduler.iSX.iTimerMax = (VIB->iMaxTimerClock / 128); + TheScheduler.iSX.iTimerMax = (v->iMaxTimerClock / 128); InitFpu(); InterruptInit0(); } @@ -400,3 +388,6 @@ { } +void TScheduler::DoFrequencyChanged(TAny*) + { + }