kernel/eka/nkernsmp/arm/nccpu.cpp
changeset 201 43365a9b78a3
parent 90 947f0dc9f7a8
equal deleted inserted replaced
200:73ea206103e6 201:43365a9b78a3
    18 #include <arm.h>
    18 #include <arm.h>
    19 #include <arm_gic.h>
    19 #include <arm_gic.h>
    20 #include <arm_scu.h>
    20 #include <arm_scu.h>
    21 #include <arm_tmr.h>
    21 #include <arm_tmr.h>
    22 
    22 
    23 extern "C" {
       
    24 extern SVariantInterfaceBlock* VIB;
       
    25 }
       
    26 
    23 
    27 struct SAPBootPage : public SFullArmRegSet
    24 struct SAPBootPage : public SFullArmRegSet
    28 	{
    25 	{
    29 	volatile T_UintPtr	iAPBootPtr[KMaxCpus];
    26 	volatile T_UintPtr	iAPBootPtr[KMaxCpus];
    30 	volatile T_UintPtr	iBootFlags;
    27 	volatile T_UintPtr	iBootFlags;
    92 
    89 
    93 	arm_dsb();	// ensure writes to uncached memory visible
    90 	arm_dsb();	// ensure writes to uncached memory visible
    94 
    91 
    95 	KickCpu(&bootPage.iAPBootPtr[a.iCpu], bp_phys);
    92 	KickCpu(&bootPage.iAPBootPtr[a.iCpu], bp_phys);
    96 
    93 
    97 	TUint32 n = TUint32(VIB->iMaxCpuClock >> 3);
    94 	TUint32 n = TUint32(TheScheduler.iVIB->iMaxCpuClock >> 3);
    98 	n = -n;
    95 	n = -n;
    99 	TUint32 b = 0;
    96 	TUint32 b = 0;
   100 	do	{
    97 	do	{
   101 		++n;
    98 		++n;
   102 		b = *pB;
    99 		b = *pB;