=============================================================================== 40002e94 : /* * rtems_cpu_usage_reset */ void rtems_cpu_usage_reset( void ) { 40002e94: 9d e3 bf a0 save %sp, -96, %sp */ static inline void _TOD_Get_uptime( Timestamp_Control *time ) { *time = _Timecounter_Sbinuptime(); 40002e98: 40 00 17 0f call 40008ad4 <_Timecounter_Sbinuptime> 40002e9c: 3b 10 00 4f sethi %hi(0x40013c00), %i5 uint32_t cpu_count; uint32_t cpu_index; _TOD_Get_uptime( &CPU_usage_Uptime_at_last_reset ); cpu_count = rtems_get_processor_count(); 40002ea0: 40 00 0d d6 call 400065f8 40002ea4: d0 3f 63 08 std %o0, [ %i5 + 0x308 ] ! 40013f08 for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) { 40002ea8: 80 a2 20 00 cmp %o0, 0 40002eac: 02 80 00 0a be 40002ed4 <== NEVER TAKEN 40002eb0: 03 10 00 4f sethi %hi(0x40013c00), %g1 Per_CPU_Control *cpu = _Per_CPU_Get_by_index( cpu_index ); cpu->cpu_usage_timestamp = CPU_usage_Uptime_at_last_reset; 40002eb4: f8 1f 63 08 ldd [ %i5 + 0x308 ], %i4 for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) { 40002eb8: 84 10 20 00 clr %g2 40002ebc: 82 10 62 28 or %g1, 0x228, %g1 cpu->cpu_usage_timestamp = CPU_usage_Uptime_at_last_reset; 40002ec0: f8 38 40 00 std %i4, [ %g1 ] for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) { 40002ec4: 84 00 a0 01 inc %g2 40002ec8: 80 a2 00 02 cmp %o0, %g2 40002ecc: 12 bf ff fd bne 40002ec0 <== NEVER TAKEN 40002ed0: 82 00 60 50 add %g1, 0x50, %g1 } rtems_task_iterate(CPU_usage_Per_thread_handler, NULL); 40002ed4: 31 10 00 0b sethi %hi(0x40002c00), %i0 40002ed8: b2 10 20 00 clr %i1 40002edc: 40 00 10 26 call 40006f74 40002ee0: 91 ee 22 78 restore %i0, 0x278, %o0