RTEMS-5
Annotated Report
Fri Aug 10 17:25:07 2018

40003d84 <null_initialize>: rtems_device_driver null_initialize( rtems_device_major_number major, rtems_device_minor_number minor RTEMS_UNUSED, void *pargp RTEMS_UNUSED ) {
40003d84:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_device_driver status;
                                        

                                                                     
  if ( !initialized ) {
                                              
40003d88:	03 10 00 60 	sethi  %hi(0x40018000), %g1
                   
40003d8c:	c4 48 60 3c 	ldsb  [ %g1 + 0x3c ], %g2	! 4001803c <initialized>

40003d90:	80 a0 a0 00 	cmp  %g2, 0
                                   
40003d94:	02 80 00 04 	be  40003da4 <null_initialize+0x20>
           
40003d98:	84 10 20 01 	mov  1, %g2
                                   

                                                                     
    NULL_major = major;
                                              
  }
                                                                  

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
}
                                                                    
40003d9c:	81 c7 e0 08 	ret 
                                          
40003da0:	91 e8 20 00 	restore  %g0, 0, %o0
                          
    status = rtems_io_register_name(
                                 
40003da4:	94 10 20 00 	clr  %o2
                                      
    initialized = 1;
                                                 
40003da8:	c4 28 60 3c 	stb  %g2, [ %g1 + 0x3c ]
                      
    status = rtems_io_register_name(
                                 
40003dac:	92 10 00 18 	mov  %i0, %o1
                                 
40003db0:	11 10 00 51 	sethi  %hi(0x40014400), %o0
                   
40003db4:	40 00 06 23 	call  40005640 <rtems_io_register_name>
       
40003db8:	90 12 22 78 	or  %o0, 0x278, %o0	! 40014678 <_rodata_start+0x878>

    if (status != RTEMS_SUCCESSFUL)
                                  
40003dbc:	80 a2 20 00 	cmp  %o0, 0
                                   
40003dc0:	12 80 00 05 	bne  40003dd4 <null_initialize+0x50>
          <== NEVER TAKEN
40003dc4:	03 10 00 61 	sethi  %hi(0x40018400), %g1
                   
    NULL_major = major;
                                              
40003dc8:	f0 20 62 ec 	st  %i0, [ %g1 + 0x2ec ]	! 400186ec <NULL_major>

}
                                                                    
40003dcc:	81 c7 e0 08 	ret 
                                          
40003dd0:	91 e8 20 00 	restore  %g0, 0, %o0
                          
      rtems_fatal_error_occurred(status);
                            
40003dd4:	40 00 1a 3f 	call  4000a6d0 <rtems_fatal_error_occurred>
   <== NOT EXECUTED
40003dd8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40003ddc:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

40003df8 <null_write>: void *pargp ) { rtems_libio_rw_args_t *rw_args = (rtems_libio_rw_args_t *) pargp; if ( rw_args )
40003df8:	80 a2 a0 00 	cmp  %o2, 0
                                   
40003dfc:	02 80 00 04 	be  40003e0c <null_write+0x14>
                <== ALWAYS TAKEN
40003e00:	01 00 00 00 	nop 
                                          
    rw_args->bytes_moved = rw_args->count;
                           
40003e04:	c2 02 a0 14 	ld  [ %o2 + 0x14 ], %g1
                       <== NOT EXECUTED
40003e08:	c2 22 a0 1c 	st  %g1, [ %o2 + 0x1c ]
                       <== NOT EXECUTED

                                                                     
  return NULL_SUCCESSFUL;
                                            
}
                                                                    
40003e0c:	81 c3 e0 08 	retl 
                                         
40003e10:	90 10 20 00 	clr  %o0