RTEMS-5
Annotated Report
Fri Aug 10 17:09:28 2018

40002e94 <rtems_cpu_usage_reset>:
                                    

                                                                     
/*
                                                                   
 *  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 <rtems_get_processor_count>
    
40002ea4:	d0 3f 63 08 	std  %o0, [ %i5 + 0x308 ]	! 40013f08 <CPU_usage_Uptime_at_last_reset>

  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 <rtems_cpu_usage_reset+0x40>
     <== 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 <rtems_cpu_usage_reset+0x2c>
    <== 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 <rtems_task_iterate>
           
40002ee0:	91 ee 22 78 	restore  %i0, 0x278, %o0