121 m.DisplaySpinLock("EventHandlerLock", &ss.iEventHandlerLock); |
121 m.DisplaySpinLock("EventHandlerLock", &ss.iEventHandlerLock); |
122 m.Printf("LastTmstmp %08x %08x RschdCount %08x %08x\r\n", ss.iLastTimestamp.i32[1], ss.iLastTimestamp.i32[0], ss.iReschedCount.i32[1], ss.iReschedCount.i32[0]); |
122 m.Printf("LastTmstmp %08x %08x RschdCount %08x %08x\r\n", ss.iLastTimestamp.i32[1], ss.iLastTimestamp.i32[0], ss.iReschedCount.i32[1], ss.iReschedCount.i32[0]); |
123 |
123 |
124 m.Printf("DeferShutdown %4d RdyThrdC %d Uncached %08x\r\n", ss.iDeferShutdown, ss.iRdyThreadCount, ss.iUncached); |
124 m.Printf("DeferShutdown %4d RdyThrdC %d Uncached %08x\r\n", ss.iDeferShutdown, ss.iRdyThreadCount, ss.iUncached); |
125 DisplaySubSchedulerExt(m, ss); |
125 DisplaySubSchedulerExt(m, ss); |
|
126 |
|
127 volatile TUint32* ssc = (volatile TUint32*)&ss.iSubSchedScratch[0]; |
|
128 m.Printf("Scratch 0: %08x 1: %08x 2: %08x 3: %08x\r\n", ssc[ 0], ssc[ 1], ssc[ 2], ssc[ 3]); |
|
129 m.Printf("Scratch 4: %08x 5: %08x 6: %08x 7: %08x\r\n", ssc[ 4], ssc[ 5], ssc[ 6], ssc[ 7]); |
|
130 m.Printf("Scratch 8: %08x 9: %08x A: %08x B: %08x\r\n", ssc[ 8], ssc[ 9], ssc[10], ssc[11]); |
|
131 m.Printf("Scratch C: %08x D: %08x E: %08x F: %08x\r\n", ssc[12], ssc[13], ssc[14], ssc[15]); |
|
132 |
126 TPriListBase* b = (TPriListBase*)&ss; |
133 TPriListBase* b = (TPriListBase*)&ss; |
127 m.Printf("PriClassThrdC %4d %4d %4d %4d\r\n", ss.iPriClassThreadCount[0], ss.iPriClassThreadCount[1], ss.iPriClassThreadCount[2], ss.iPriClassThreadCount[3]); |
134 m.Printf("PriClassThrdC %4d %4d %4d %4d\r\n", ss.iPriClassThreadCount[0], ss.iPriClassThreadCount[1], ss.iPriClassThreadCount[2], ss.iPriClassThreadCount[3]); |
128 m.Printf("Present %08x %08x\r\n", b->iPresent[1], b->iPresent[0]); |
135 m.Printf("Present %08x %08x\r\n", b->iPresent[1], b->iPresent[0]); |
129 TInt k; |
136 TInt k; |
130 TUint64 p64 = b->iPresent64; |
137 TUint64 p64 = b->iPresent64; |
162 Printf("LbCntr %02x RebalanceDfcQ %08x NeedBal %02x\r\n", pS->iLbCounter, pS->iRebalanceDfcQ, pS->iNeedBal); |
169 Printf("LbCntr %02x RebalanceDfcQ %08x NeedBal %02x\r\n", pS->iLbCounter, pS->iRebalanceDfcQ, pS->iNeedBal); |
163 Printf("iCCRequestLevel %08x iPoweringOff %08x DetachCnt %08x\r\n",pS->iCCRequestLevel,pS->iPoweringOff,pS->iDetachCount); |
170 Printf("iCCRequestLevel %08x iPoweringOff %08x DetachCnt %08x\r\n",pS->iCCRequestLevel,pS->iPoweringOff,pS->iDetachCount); |
164 |
171 |
165 DisplaySchedulerExt(*this, *pS); |
172 DisplaySchedulerExt(*this, *pS); |
166 volatile TUint32* sc = (volatile TUint32*)&pS->iSchedScratch[0]; |
173 volatile TUint32* sc = (volatile TUint32*)&pS->iSchedScratch[0]; |
167 Printf("Scratch 0: %08x 1: %08x 2: %08x 3: %08x\r\n",sc[0],sc[1],sc[2],sc[3]); |
174 Printf("Scratch 0: %08x 1: %08x 2: %08x 3: %08x\r\n", sc[ 0], sc[ 1], sc[ 2], sc[ 3]); |
168 Printf("Scratch 4: %08x 5: %08x 6: %08x 7: %08x\r\n",sc[4],sc[5],sc[6],sc[7]); |
175 Printf("Scratch 4: %08x 5: %08x 6: %08x 7: %08x\r\n", sc[ 4], sc[ 5], sc[ 6], sc[ 7]); |
169 Printf("Scratch 8: %08x 9: %08x A: %08x B: %08x\r\n",sc[8],sc[9],sc[10],sc[11]); |
176 Printf("Scratch 8: %08x 9: %08x A: %08x B: %08x\r\n", sc[ 8], sc[ 9], sc[10], sc[11]); |
170 Printf("Scratch C: %08x D: %08x E: %08x F: %08x\r\n",sc[12],sc[13],sc[14],sc[15]); |
177 Printf("Scratch C: %08x D: %08x E: %08x F: %08x\r\n", sc[12], sc[13], sc[14], sc[15]); |
171 |
178 |
172 TInt i; |
179 TInt i; |
173 for (i=0; i<KMaxCpus; ++i) |
180 for (i=0; i<KMaxCpus; ++i) |
174 { |
181 { |
175 TSubScheduler& ss = *pS->iSub[i]; |
182 TSubScheduler& ss = *pS->iSub[i]; |