41 TSubSchedulerX& x = ss.iSSX; |
41 TSubSchedulerX& x = ss.iSSX; |
42 m.Printf("Extras[ 0] %08x Extras[ 1] %08x Extras[ 2] %08x i_GblTmrA %08x\r\n", x.iSSXP[0], x.iSSXP[1], x.iSSXP[2], x.iGlobalTimerAddr); |
42 m.Printf("Extras[ 0] %08x Extras[ 1] %08x Extras[ 2] %08x i_GblTmrA %08x\r\n", x.iSSXP[0], x.iSSXP[1], x.iSSXP[2], x.iGlobalTimerAddr); |
43 m.Printf("i_ScuAddr %08x i_GicDist %08x i_GicCpuIf %08x i_LocTmrA %08x\r\n", x.iScuAddr, x.iGicDistAddr, x.iGicCpuIfcAddr, x.iLocalTimerAddr); |
43 m.Printf("i_ScuAddr %08x i_GicDist %08x i_GicCpuIf %08x i_LocTmrA %08x\r\n", x.iScuAddr, x.iGicDistAddr, x.iGicCpuIfcAddr, x.iLocalTimerAddr); |
44 m.Printf("i_IrqCount %08x i_IrqNest %08x i_ExcInfo %08x i_CrashSt %08x\r\n", x.iIrqCount, x.iIrqNestCount, x.iExcInfo, x.iCrashState); |
44 m.Printf("i_IrqCount %08x i_IrqNest %08x i_ExcInfo %08x i_CrashSt %08x\r\n", x.iIrqCount, x.iIrqNestCount, x.iExcInfo, x.iCrashState); |
45 m.Printf("i_AbtStkTp %08x i_UndSktTp %08x i_FiqStkTp %08x i_IrqStkTp %08x\r\n", x.iAbtStackTop, x.iUndStackTop, x.iFiqStackTop, x.iIrqStackTop); |
45 m.Printf("i_AbtStkTp %08x i_UndSktTp %08x i_FiqStkTp %08x i_IrqStkTp %08x\r\n", x.iAbtStackTop, x.iUndStackTop, x.iFiqStackTop, x.iIrqStackTop); |
46 m.Printf("CpuFreqM %08x CpuFreqS %08x CpuPeriodM %08x CpuPeriodS %08x\r\n", x.iCpuFreqM, x.iCpuFreqS, x.iCpuPeriodM, x.iCpuPeriodS); |
46 m.Printf("CpuFreqM %08x CpuFreqS %08x CpuPeriodM %08x CpuPeriodS %08x\r\n", x.iCpuFreqRI.iR.iM, x.iCpuFreqRI.iR.iX, x.iCpuFreqRI.iI.iM, x.iCpuFreqRI.iI.iX); |
47 m.Printf("NTmrFreqM %08x NTmrFreqS %08x NTmPeriodM %08x NTmPeriodS %08x\r\n", x.iNTimerFreqM, x.iNTimerFreqS, x.iNTimerPeriodM, x.iNTimerPeriodS); |
47 m.Printf("TmrFreqM %08x TmrFreqS %08x TmrPeriodM %08x TmrPeriodS %08x\r\n", x.iTimerFreqRI.iR.iM, x.iTimerFreqRI.iR.iX, x.iTimerFreqRI.iI.iM, x.iTimerFreqRI.iI.iX); |
48 m.Printf("TmrFreqM %08x TmrFreqS %08x TmrPeriodM %08x TmrPeriodS %08x\r\n", x.iTimerFreqM, x.iTimerFreqS, x.iTimerPeriodM, x.iTimerPeriodS); |
|
49 m.Printf("iLastSyncT %08x %08x TicksSince %08x LastTmrSet %08x\r\n", I64HIGH(x.iLastSyncTime), I64LOW(x.iLastSyncTime), x.iTicksSinceLastSync, x.iLastTimerSet); |
|
50 m.Printf("GapEstimat %08x GapCount %08x TotalTicks %08x Ditherer %08x\r\n", x.iGapEstimate, x.iGapCount, x.iTotalTicks, x.iDitherer); |
|
51 m.Printf("FreqErrEst %08x FreqErrLim %08x ErrorInteg %08x %08x\r\n", x.iFreqErrorEstimate, x.iFreqErrorLimit, I64HIGH(x.iErrorIntegrator), I64LOW(x.iErrorIntegrator)); |
|
52 m.Printf("RefAtLastC %08x %08x M=%02x N=%02x D=%02x\r\n", I64HIGH(x.iRefAtLastCorrection), I64LOW(x.iRefAtLastCorrection), x.iM, x.iN, x.iD); |
|
53 } |
48 } |
54 |
49 |
55 void DisplaySchedulerExt(Monitor& m, TScheduler& s) |
50 void DisplaySchedulerExt(Monitor& m, TScheduler& s) |
56 { |
51 { |
57 volatile TUint32* sx = (volatile TUint32*)&s.iSX; |
52 TSchedulerX& sx = s.iSX; |
58 m.Printf("Extras 0: %08x 1: %08x 2: %08x 3: %08x\r\n",sx[0],sx[1],sx[2],sx[3]); |
53 m.Printf("iTimerMax %08x %08x\r\n", I64HIGH(sx.iTimerMax), I64LOW(sx.iTimerMax)); |
59 m.Printf("Extras 4: %08x 5: %08x 6: %08x 7: %08x\r\n",sx[4],sx[5],sx[6],sx[7]); |
54 m.Printf("iGTmrA %08x iScuAddr %08x iGicDistA %08x iGicCpuIfcA %08x iLocTmrA %08x\r\n", |
60 m.Printf("Extras 8: %08x 9: %08x A: %08x B: %08x\r\n",sx[8],sx[9],sx[10],sx[11]); |
55 sx.iGlobalTimerAddr, sx.iScuAddr, sx.iGicDistAddr, sx.iGicCpuIfcAddr, sx.iLocalTimerAddr); |
61 m.Printf("Extras C: %08x D: %08x E: %08x F: %08x\r\n",sx[12],sx[13],sx[14],sx[15]); |
56 m.Printf("iGTFreqM %08x iGTFreqS %08x iGTPeriodM %08x iGTPeriodS %08x\r\n", |
|
57 sx.iGTimerFreqRI.iR.iM, sx.iGTimerFreqRI.iR.iX, sx.iGTimerFreqRI.iI.iM, sx.iGTimerFreqRI.iI.iX); |
|
58 m.Printf("iCount0 %08x %08x iTimestamp0 %08x %08x\r\n", |
|
59 I64HIGH(sx.iCount0), I64LOW(sx.iCount0), I64HIGH(sx.iTimestamp0), I64LOW(sx.iTimestamp0)); |
62 } |
60 } |
63 |
61 |
64 void DumpRegisters(Monitor& m, SFullArmRegSet& a) |
62 void DumpRegisters(Monitor& m, SFullArmRegSet& a) |
65 { |
63 { |
66 SNormalRegs& r = a.iN; |
64 SNormalRegs& r = a.iN; |