RTEMS-5
Annotated Report
Fri Aug 10 17:01:41 2018

40004efc <RTEMS_Malloc_Initialize>:
                                  
void RTEMS_Malloc_Initialize(
                                        
  const Heap_Area *areas,
                                            
  size_t area_count,
                                                 
  Heap_Initialization_or_extend_handler extend
                       
)
                                                                    
{
                                                                    
40004efc:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  Heap_Control *heap = RTEMS_Malloc_Heap;
                            

                                                                     
  if ( !rtems_configuration_get_unified_work_area() ) {
              
40004f00:	03 10 00 43 	sethi  %hi(0x40010c00), %g1
                   
40004f04:	c2 08 60 69 	ldub  [ %g1 + 0x69 ], %g1	! 40010c69 <Configuration+0x31>

40004f08:	80 a0 60 00 	cmp  %g1, 0
                                   
40004f0c:	12 80 00 19 	bne  40004f70 <RTEMS_Malloc_Initialize+0x74>
  
40004f10:	80 a6 60 00 	cmp  %i1, 0
                                   
    Heap_Initialization_or_extend_handler init_or_extend = _Heap_Initialize;

    uintptr_t page_size = CPU_HEAP_ALIGNMENT;
                        
    size_t i;
                                                        

                                                                     
    for (i = 0; i < area_count; ++i) {
                               
40004f14:	02 80 00 19 	be  40004f78 <RTEMS_Malloc_Initialize+0x7c>
   
40004f18:	03 10 00 4b 	sethi  %hi(0x40012c00), %g1
                   
  Heap_Control *heap = RTEMS_Malloc_Heap;
                            
40004f1c:	f8 00 63 64 	ld  [ %g1 + 0x364 ], %i4	! 40012f64 <RTEMS_Malloc_Heap>

40004f20:	b3 2e 60 03 	sll  %i1, 3, %i1
                              
    Heap_Initialization_or_extend_handler init_or_extend = _Heap_Initialize;

40004f24:	37 10 00 1e 	sethi  %hi(0x40007800), %i3
                   
40004f28:	b2 06 00 19 	add  %i0, %i1, %i1
                            
40004f2c:	b6 16 e2 cc 	or  %i3, 0x2cc, %i3
                           
40004f30:	ba 10 00 1b 	mov  %i3, %i5
                                 
      const Heap_Area *area = &areas [i];
                            
      uintptr_t space_available = (*init_or_extend)(
                 
40004f34:	d4 06 20 04 	ld  [ %i0 + 4 ], %o2
                          
40004f38:	d2 06 00 00 	ld  [ %i0 ], %o1
                              
40004f3c:	96 10 20 08 	mov  8, %o3
                                   
40004f40:	9f c7 40 00 	call  %i5
                                     
40004f44:	90 10 00 1c 	mov  %i4, %o0
                                 
        area->begin,
                                                 
        area->size,
                                                  
        page_size
                                                    
      );
                                                             

                                                                     
      if ( space_available > 0 ) {
                                   
40004f48:	80 a2 20 00 	cmp  %o0, 0
                                   
40004f4c:	32 80 00 02 	bne,a   40004f54 <RTEMS_Malloc_Initialize+0x58>
<== ALWAYS TAKEN
40004f50:	ba 10 00 1a 	mov  %i2, %i5
                                 
40004f54:	b0 06 20 08 	add  %i0, 8, %i0
                              
    for (i = 0; i < area_count; ++i) {
                               
40004f58:	80 a6 00 19 	cmp  %i0, %i1
                                 
40004f5c:	32 bf ff f7 	bne,a   40004f38 <RTEMS_Malloc_Initialize+0x3c>
<== NEVER TAKEN
40004f60:	d4 06 20 04 	ld  [ %i0 + 4 ], %o2
                          <== NOT EXECUTED
        init_or_extend = extend;
                                     
      }
                                                              
    }
                                                                

                                                                     
    if ( init_or_extend == _Heap_Initialize ) {
                      
40004f64:	80 a7 40 1b 	cmp  %i5, %i3
                                 
40004f68:	02 80 00 04 	be  40004f78 <RTEMS_Malloc_Initialize+0x7c>
   <== NEVER TAKEN
40004f6c:	01 00 00 00 	nop 
                                          
      _Internal_error( INTERNAL_ERROR_NO_MEMORY_FOR_HEAP );
          
    }
                                                                
  }
                                                                  
}
                                                                    
40004f70:	81 c7 e0 08 	ret 
                                          
40004f74:	81 e8 00 00 	restore 
                                      
      _Internal_error( INTERNAL_ERROR_NO_MEMORY_FOR_HEAP );
          
40004f78:	40 00 0b 9e 	call  40007df0 <_Internal_error>
              
40004f7c:	90 10 20 17 	mov  0x17, %o0
                                
40004f80:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

40004b08 <_Console_simple_Read>: ssize_t _Console_simple_Read( rtems_libio_t *iop, void *buffer, size_t count ) {
40004b08:	9d e3 bf a0 	save  %sp, -96, %sp
                           <== NOT EXECUTED
  ssize_t  n;
                                                        

                                                                     
  buf = buffer;
                                                      
  n = (ssize_t) count;
                                               

                                                                     
  for ( i = 0; i < n; ++i ) {
                                        
40004b0c:	80 a6 a0 00 	cmp  %i2, 0
                                   <== NOT EXECUTED
40004b10:	04 80 00 0c 	ble  40004b40 <_Console_simple_Read+0x38>
     <== NOT EXECUTED
40004b14:	ba 10 20 00 	clr  %i5
                                      <== NOT EXECUTED
    int c;
                                                           

                                                                     
    do {
                                                             
      c = getchark();
                                                
40004b18:	40 00 00 22 	call  40004ba0 <getchark>
                     <== NOT EXECUTED
40004b1c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    } while (c == -1);
                                               
40004b20:	80 a2 3f ff 	cmp  %o0, -1
                                  <== NOT EXECUTED
40004b24:	02 bf ff fd 	be  40004b18 <_Console_simple_Read+0x10>
      <== NOT EXECUTED
40004b28:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     
    buf[ i ] = (char) c;
                                             
40004b2c:	d0 2e 40 1d 	stb  %o0, [ %i1 + %i5 ]
                       <== NOT EXECUTED
  for ( i = 0; i < n; ++i ) {
                                        
40004b30:	ba 07 60 01 	inc  %i5
                                      <== NOT EXECUTED
40004b34:	80 a6 80 1d 	cmp  %i2, %i5
                                 <== NOT EXECUTED
40004b38:	12 bf ff f8 	bne  40004b18 <_Console_simple_Read+0x10>
     <== NOT EXECUTED
40004b3c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  }
                                                                  

                                                                     
  return n;
                                                          
}
                                                                    
40004b40:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40004b44:	91 e8 00 1a 	restore  %g0, %i2, %o0
                        <== NOT EXECUTED

                                                                     

40005008 <_Console_simple_task_Initialize>: } } void _Console_simple_task_Initialize( void ) {
40005008:	9d e3 bf a0 	save  %sp, -96, %sp
                           
static __inline void
                                                 
_Mutex_Initialize_named(struct _Mutex_Control *_mutex, const char *_name)

{
                                                                    
	struct _Mutex_Control _init = _MUTEX_NAMED_INITIALIZER(_name);
      

                                                                     
	*_mutex = _init;
                                                    
4000500c:	03 10 00 76 	sethi  %hi(0x4001d800), %g1
                   
40005010:	b4 10 63 e0 	or  %g1, 0x3e0, %i2	! 4001dbe0 <_Console_simple_task_Instance>

40005014:	c0 20 63 e0 	clr  [ %g1 + 0x3e0 ]
                          
40005018:	03 10 00 6a 	sethi  %hi(0x4001a800), %g1
                   
4000501c:	c0 26 a0 04 	clr  [ %i2 + 4 ]
                              
40005020:	82 10 61 a0 	or  %g1, 0x1a0, %g1
                           
40005024:	c0 26 a0 08 	clr  [ %i2 + 8 ]
                              
  cons = &_Console_simple_task_Instance;
                             

                                                                     
  rtems_interrupt_lock_initialize( &cons->buf_lock, "Console" );
     
  rtems_mutex_init( &cons->output_mutex, "Console" );
                

                                                                     
  IMFS_make_generic_node(
                                            
40005028:	96 10 00 1a 	mov  %i2, %o3
                                 
4000502c:	c2 26 a0 10 	st  %g1, [ %i2 + 0x10 ]
                       
40005030:	15 10 00 6a 	sethi  %hi(0x4001a800), %o2
                   
40005034:	c0 26 a0 0c 	clr  [ %i2 + 0xc ]
                            
40005038:	94 12 a1 b8 	or  %o2, 0x1b8, %o2
                           
4000503c:	13 00 00 08 	sethi  %hi(0x2000), %o1
                       
40005040:	11 10 00 6a 	sethi  %hi(0x4001a800), %o0
                   
40005044:	92 12 61 ff 	or  %o1, 0x1ff, %o1
                           
40005048:	40 00 27 6a 	call  4000edf0 <IMFS_make_generic_node>
       
4000504c:	90 12 21 a8 	or  %o0, 0x1a8, %o0
                           
    cons
                                                             
  );
                                                                 

                                                                     
  rtems_task_create(
                                                 
    rtems_build_name('C', 'O', 'N', 'S'),
                            
    RTEMS_MAXIMUM_PRIORITY - 1,
                                      
40005050:	03 10 00 68 	sethi  %hi(0x4001a000), %g1
                   
  rtems_task_create(
                                                 
40005054:	d2 00 63 14 	ld  [ %g1 + 0x314 ], %o1	! 4001a314 <_Scheduler_Table+0x44>

40005058:	9a 06 a0 14 	add  %i2, 0x14, %o5
                           
4000505c:	98 10 20 00 	clr  %o4
                                      
40005060:	96 10 20 00 	clr  %o3
                                      
40005064:	15 00 00 04 	sethi  %hi(0x1000), %o2
                       
40005068:	92 02 7f ff 	add  %o1, -1, %o1
                             
4000506c:	11 10 d3 d3 	sethi  %hi(0x434f4c00), %o0
                   
40005070:	40 00 09 ab 	call  4000771c <rtems_task_create>
            
40005074:	90 12 22 53 	or  %o0, 0x253, %o0	! 434f4e53 <RAM_END+0x30f4e53>

    RTEMS_DEFAULT_ATTRIBUTES,
                                        
    RTEMS_DEFAULT_MODES,
                                             
    &cons->task
                                                      
  );
                                                                 

                                                                     
  rtems_task_start(
                                                  
40005078:	f0 06 a0 14 	ld  [ %i2 + 0x14 ], %i0
                       <== NOT EXECUTED
4000507c:	33 10 00 13 	sethi  %hi(0x40004c00), %i1
                   <== NOT EXECUTED
40005080:	40 00 0a f7 	call  40007c5c <rtems_task_start>
             <== NOT EXECUTED
40005084:	93 ee 62 fc 	restore  %i1, 0x2fc, %o1
                      

                                                                     

40004ec8 <_Malloc_Deferred_free>: __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));
40004ec8:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  old_last = tail->previous;
                                         
40004ecc:	05 10 00 4b 	sethi  %hi(0x40012c00), %g2
                   <== NOT EXECUTED
40004ed0:	84 10 a3 90 	or  %g2, 0x390, %g2	! 40012f90 <_Malloc_GC_list>
<== NOT EXECUTED
40004ed4:	c6 00 a0 08 	ld  [ %g2 + 8 ], %g3
                          <== NOT EXECUTED
  the_node->next = tail;
                                             
40004ed8:	88 00 a0 04 	add  %g2, 4, %g4
                              <== NOT EXECUTED
40004edc:	c8 22 00 00 	st  %g4, [ %o0 ]
                              <== NOT EXECUTED
  tail->previous = the_node;
                                         
40004ee0:	d0 20 a0 08 	st  %o0, [ %g2 + 8 ]
                          <== NOT EXECUTED
  old_last->next = the_node;
                                         
40004ee4:	d0 20 c0 00 	st  %o0, [ %g3 ]
                              <== NOT EXECUTED
  the_node->previous = old_last;
                                     
40004ee8:	c6 22 20 04 	st  %g3, [ %o0 + 4 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004eec:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004ef0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     
  rtems_interrupt_lock_acquire( &_Malloc_GC_lock, &lock_context );
   
  rtems_chain_initialize_node( node );
                               
  rtems_chain_append_unprotected( &_Malloc_GC_list, node );
          
  rtems_interrupt_lock_release( &_Malloc_GC_lock, &lock_context );
   
}
                                                                    
40004ef4:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40004ef8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

40004d7c <_Malloc_Process_deferred_frees>: return p; } void _Malloc_Process_deferred_frees( void ) {
40004d7c:	9d e3 bf a0 	save  %sp, -96, %sp
                           <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004d80:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  return _Chain_Immutable_head( the_chain )->next;
                   
40004d84:	3b 10 00 4b 	sethi  %hi(0x40012c00), %i5
                   
40004d88:	d0 07 63 90 	ld  [ %i5 + 0x390 ], %o0	! 40012f90 <_Malloc_GC_list>

40004d8c:	ba 17 63 90 	or  %i5, 0x390, %i5
                           
  if ( !_Chain_Is_empty(the_chain))
                                  
40004d90:	b8 07 60 04 	add  %i5, 4, %i4
                              
40004d94:	80 a2 00 1c 	cmp  %o0, %i4
                                 
40004d98:	02 80 00 0e 	be  40004dd0 <_Malloc_Process_deferred_frees+0x54>
<== ALWAYS TAKEN
40004d9c:	01 00 00 00 	nop 
                                          
  new_first = old_first->next;
                                       
40004da0:	c4 02 00 00 	ld  [ %o0 ], %g2
                              <== NOT EXECUTED
  head->next = new_first;
                                            
40004da4:	c4 27 40 00 	st  %g2, [ %i5 ]
                              <== NOT EXECUTED
  new_first->previous = head;
                                        
40004da8:	fa 20 a0 04 	st  %i5, [ %g2 + 4 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004dac:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004db0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     
  /*
                                                                 
   *  If some free's have been deferred, then do them now.
           
   */
                                                                
  while ( ( to_be_freed = _Malloc_Get_deferred_free() ) != NULL ) {
  
    free( to_be_freed );
                                             
40004db4:	7f ff ff 65 	call  40004b48 <free>
                         <== NOT EXECUTED
40004db8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004dbc:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  return _Chain_Immutable_head( the_chain )->next;
                   
40004dc0:	d0 07 40 00 	ld  [ %i5 ], %o0
                              <== NOT EXECUTED
  if ( !_Chain_Is_empty(the_chain))
                                  
40004dc4:	80 a2 00 1c 	cmp  %o0, %i4
                                 <== NOT EXECUTED
40004dc8:	32 bf ff f7 	bne,a   40004da4 <_Malloc_Process_deferred_frees+0x28>
<== NOT EXECUTED
40004dcc:	c4 02 00 00 	ld  [ %o0 ], %g2
                              <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004dd0:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004dd4:	01 00 00 00 	nop 
                                          
  }
                                                                  
}
                                                                    
40004dd8:	81 c7 e0 08 	ret 
                                          
40004ddc:	81 e8 00 00 	restore 
                                      

                                                                     

40004d40 <_Malloc_System_state>:
40004d40:	03 10 00 52 	sethi  %hi(0x40014800), %g1
                   
40004d44:	c2 00 60 6c 	ld  [ %g1 + 0x6c ], %g1	! 4001486c <_System_state_Current>

    if ( _Thread_Dispatch_is_enabled() ) {
                           
      return MALLOC_SYSTEM_STATE_NORMAL;
                             
    } else {
                                                         
      return MALLOC_SYSTEM_STATE_NO_ALLOCATION;
                      
    }
                                                                
  } else if ( _System_state_Is_before_multitasking( state ) ) {
      
40004d48:	84 18 60 01 	xor  %g1, 1, %g2
                              
    return MALLOC_SYSTEM_STATE_NORMAL;
                               
  } else {
                                                           
    return MALLOC_SYSTEM_STATE_NO_PROTECTION;
                        
40004d4c:	80 a0 00 02 	cmp  %g0, %g2
                                 
40004d50:	90 40 20 00 	addx  %g0, 0, %o0
                             
  if ( _System_state_Is_up( state ) ) {
                              
40004d54:	80 a0 60 02 	cmp  %g1, 2
                                   
40004d58:	02 80 00 04 	be  40004d68 <_Malloc_System_state+0x28>
      <== ALWAYS TAKEN
40004d5c:	01 00 00 00 	nop 
                                          
  }
                                                                  
}
                                                                    
40004d60:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40004d64:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40004d68:	c2 01 a0 18 	ld  [ %g6 + 0x18 ], %g1
                       
      return MALLOC_SYSTEM_STATE_NO_ALLOCATION;
                      
40004d6c:	80 a0 00 01 	cmp  %g0, %g1
                                 
40004d70:	90 40 20 00 	addx  %g0, 0, %o0
                             
}
                                                                    
40004d74:	81 c3 e0 08 	retl 
                                         
40004d78:	91 2a 20 01 	sll  %o0, 1, %o0
                              

                                                                     

40012ab8 <_close_r>: int _close_r( struct _reent *ptr RTEMS_UNUSED, int fd ) { return close( fd );
40012ab8:	90 10 00 09 	mov  %o1, %o0
                                 <== NOT EXECUTED
40012abc:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
40012ac0:	7f ff ff c8 	call  400129e0 <close>
                        <== NOT EXECUTED
40012ac4:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

40010ea4 <_exit>: extern void FINI_SYMBOL( void ); #endif void _exit(int status) {
40010ea4:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  /*
                                                                 
   *  If the toolset uses init/fini sections, then we need to
        
   *  run the global destructors now.
                                
   */
                                                                
  #if defined(FINI_SYMBOL)
                                           
    FINI_SYMBOL();
                                                   
40010ea8:	40 00 05 de 	call  40012620 <_fini>
                        
40010eac:	01 00 00 00 	nop 
                                          
  #endif
                                                             

                                                                     
  rtems_shutdown_executive(status);
                                  
40010eb0:	7f ff f8 33 	call  4000ef7c <rtems_shutdown_executive>
     
40010eb4:	90 10 00 18 	mov  %i0, %o0
                                 
40010eb8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

40004c38 <_gettimeofday_r>: int _gettimeofday_r( struct _reent *ignored_reentrancy_stuff RTEMS_UNUSED, struct timeval *tp, void *__tz ) {
40004c38:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  if ( !tp )
                                                         
40004c3c:	80 a6 60 00 	cmp  %i1, 0
                                   
40004c40:	02 80 00 06 	be  40004c58 <_gettimeofday_r+0x20>
           <== NEVER TAKEN
40004c44:	90 10 00 19 	mov  %i1, %o0
                                 
40004c48:	40 00 10 e6 	call  40008fe0 <_Timecounter_Microtime>
       
40004c4c:	b0 10 20 00 	clr  %i0
                                      
  struct timezone *tzp = __tz;
                                       
  return gettimeofday( tp, tzp );
                                    
}
                                                                    
40004c50:	81 c7 e0 08 	ret 
                                          
40004c54:	81 e8 00 00 	restore 
                                      
    rtems_set_errno_and_return_minus_one( EFAULT );
                  
40004c58:	40 00 2a 20 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
40004c5c:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
40004c60:	82 10 20 0e 	mov  0xe, %g1
                                 <== NOT EXECUTED
40004c64:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
40004c68:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40004c6c:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

4001c3c0 <_lseek_r>: struct _reent *ptr RTEMS_UNUSED, int fd, off_t offset, int whence ) {
4001c3c0:	86 10 00 0b 	mov  %o3, %g3
                                 <== NOT EXECUTED
  return lseek( fd, offset, whence );
                                
4001c3c4:	90 10 00 09 	mov  %o1, %o0
                                 <== NOT EXECUTED
4001c3c8:	96 10 00 0c 	mov  %o4, %o3
                                 <== NOT EXECUTED
4001c3cc:	92 10 00 0a 	mov  %o2, %o1
                                 <== NOT EXECUTED
4001c3d0:	94 10 00 03 	mov  %g3, %o2
                                 <== NOT EXECUTED
4001c3d4:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4001c3d8:	7f ff ff ca 	call  4001c300 <lseek>
                        <== NOT EXECUTED
4001c3dc:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

4001c4d8 <_read_r>: struct _reent *ptr RTEMS_UNUSED, int fd, void *buf, size_t nbytes ) {
4001c4d8:	82 10 00 0a 	mov  %o2, %g1
                                 <== NOT EXECUTED
  return read( fd, buf, nbytes );
                                    
4001c4dc:	90 10 00 09 	mov  %o1, %o0
                                 <== NOT EXECUTED
4001c4e0:	94 10 00 0b 	mov  %o3, %o2
                                 <== NOT EXECUTED
4001c4e4:	92 10 00 01 	mov  %g1, %o1
                                 <== NOT EXECUTED
4001c4e8:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4001c4ec:	7f ff ff c1 	call  4001c3f0 <read>
                         <== NOT EXECUTED
4001c4f0:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

4001c4f4 <_realloc_r>: void *_realloc_r( struct _reent *ignored, void *ptr, size_t size ) {
4001c4f4:	90 10 00 09 	mov  %o1, %o0
                                 <== NOT EXECUTED
  (void) ignored;
                                                    
  return realloc( ptr, size );
                                       
4001c4f8:	92 10 00 0a 	mov  %o2, %o1
                                 <== NOT EXECUTED
4001c4fc:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
4001c500:	40 00 00 09 	call  4001c524 <realloc>
                      <== NOT EXECUTED
4001c504:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

400129f0 <cfsetispeed>: */ int cfsetispeed( struct termios *tp, speed_t speed ) {
400129f0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  if ( rtems_termios_baud_to_index( speed ) == -1 )
                  
400129f4:	7f ff d0 d6 	call  40006d4c <rtems_termios_baud_to_index>
  
400129f8:	90 10 00 19 	mov  %i1, %o0
                                 
400129fc:	80 a2 3f ff 	cmp  %o0, -1
                                  
40012a00:	02 80 00 07 	be  40012a1c <cfsetispeed+0x2c>
               <== NEVER TAKEN
40012a04:	ba 10 00 08 	mov  %o0, %i5
                                 
    rtems_set_errno_and_return_minus_one( EINVAL );
                  

                                                                     
  tp->c_ispeed = speed;
                                              
40012a08:	f2 26 20 24 	st  %i1, [ %i0 + 0x24 ]
                       
  return 0;
                                                          
40012a0c:	ba 10 20 00 	clr  %i5
                                      
}
                                                                    
40012a10:	b0 10 00 1d 	mov  %i5, %i0
                                 
40012a14:	81 c7 e0 08 	ret 
                                          
40012a18:	81 e8 00 00 	restore 
                                      
    rtems_set_errno_and_return_minus_one( EINVAL );
                  
40012a1c:	40 00 02 c7 	call  40013538 <__errno>
                      <== NOT EXECUTED
40012a20:	b0 10 00 1d 	mov  %i5, %i0
                                 <== NOT EXECUTED
40012a24:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
40012a28:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
40012a2c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40012a30:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40012a34 <cfsetospeed>: */ int cfsetospeed( struct termios *tp, speed_t speed ) {
40012a34:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  if ( rtems_termios_baud_to_index( speed ) == -1 )
                  
40012a38:	7f ff d0 c5 	call  40006d4c <rtems_termios_baud_to_index>
  
40012a3c:	90 10 00 19 	mov  %i1, %o0
                                 
40012a40:	80 a2 3f ff 	cmp  %o0, -1
                                  
40012a44:	02 80 00 07 	be  40012a60 <cfsetospeed+0x2c>
               <== NEVER TAKEN
40012a48:	ba 10 00 08 	mov  %o0, %i5
                                 
    rtems_set_errno_and_return_minus_one( EINVAL );
                  

                                                                     
  tp->c_ospeed = speed;
                                              
40012a4c:	f2 26 20 28 	st  %i1, [ %i0 + 0x28 ]
                       
  return 0;
                                                          
40012a50:	ba 10 20 00 	clr  %i5
                                      
}
                                                                    
40012a54:	b0 10 00 1d 	mov  %i5, %i0
                                 
40012a58:	81 c7 e0 08 	ret 
                                          
40012a5c:	81 e8 00 00 	restore 
                                      
    rtems_set_errno_and_return_minus_one( EINVAL );
                  
40012a60:	40 00 02 b6 	call  40013538 <__errno>
                      <== NOT EXECUTED
40012a64:	b0 10 00 1d 	mov  %i5, %i0
                                 <== NOT EXECUTED
40012a68:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
40012a6c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
40012a70:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40012a74:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40004edc <cfsetspeed>: int cfsetspeed( struct termios *tp, speed_t speed ) {
40004edc:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  if ( rtems_termios_baud_to_index( speed ) == -1 )
                  
40004ee0:	40 00 07 9b 	call  40006d4c <rtems_termios_baud_to_index>
  
40004ee4:	90 10 00 19 	mov  %i1, %o0
                                 
40004ee8:	80 a2 3f ff 	cmp  %o0, -1
                                  
40004eec:	02 80 00 0c 	be  40004f1c <cfsetspeed+0x40>
                <== NEVER TAKEN
40004ef0:	ba 10 00 08 	mov  %o0, %i5
                                 
    rtems_set_errno_and_return_minus_one( EINVAL );
                  

                                                                     
  cfsetispeed( tp, speed );
                                          
40004ef4:	92 10 00 19 	mov  %i1, %o1
                                 
40004ef8:	40 00 36 be 	call  400129f0 <cfsetispeed>
                  
40004efc:	90 10 00 18 	mov  %i0, %o0
                                 
  cfsetospeed( tp, speed );
                                          
  return 0;
                                                          
40004f00:	ba 10 20 00 	clr  %i5
                                      
  cfsetospeed( tp, speed );
                                          
40004f04:	92 10 00 19 	mov  %i1, %o1
                                 
40004f08:	40 00 36 cb 	call  40012a34 <cfsetospeed>
                  
40004f0c:	90 10 00 18 	mov  %i0, %o0
                                 
}
                                                                    
40004f10:	b0 10 00 1d 	mov  %i5, %i0
                                 
40004f14:	81 c7 e0 08 	ret 
                                          
40004f18:	81 e8 00 00 	restore 
                                      
    rtems_set_errno_and_return_minus_one( EINVAL );
                  
40004f1c:	40 00 39 87 	call  40013538 <__errno>
                      <== NOT EXECUTED
40004f20:	b0 10 00 1d 	mov  %i5, %i0
                                 <== NOT EXECUTED
40004f24:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
40004f28:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
40004f2c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40004f30:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

4000f3e4 <close>: #include <rtems/libio_.h> int close( int fd ) {
4000f3e4:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_libio_t *iop;
                                                
  unsigned int   flags;
                                              
  int            rc;
                                                 

                                                                     
  if ( (uint32_t) fd >= rtems_libio_number_iops ) {
                  
4000f3e8:	03 10 00 43 	sethi  %hi(0x40010c00), %g1
                   
4000f3ec:	c2 00 62 00 	ld  [ %g1 + 0x200 ], %g1	! 40010e00 <rtems_libio_number_iops>

4000f3f0:	80 a6 00 01 	cmp  %i0, %g1
                                 
4000f3f4:	1a 80 00 1b 	bcc  4000f460 <close+0x7c>
                    <== NEVER TAKEN
4000f3f8:	01 00 00 00 	nop 
                                          
4000f3fc:	b7 2e 20 01 	sll  %i0, 1, %i3
                              
4000f400:	b0 06 c0 18 	add  %i3, %i0, %i0
                            
4000f404:	37 10 00 51 	sethi  %hi(0x40014400), %i3
                   
4000f408:	b9 2e 20 04 	sll  %i0, 4, %i4
                              
4000f40c:	b6 16 e0 48 	or  %i3, 0x48, %i3
                            
4000f410:	b8 06 c0 1c 	add  %i3, %i4, %i4
                            
4000f414:	c4 07 20 08 	ld  [ %i4 + 8 ], %g2
                          
  unsigned int actual;
                                               

                                                                     
  (void) succ;
                                                       
  (void) fail;
                                                       
  _ISR_Local_disable( level );
                                       
  actual = *obj;
                                                     
4000f418:	10 80 00 0f 	b  4000f454 <close+0x70>
                      
4000f41c:	ba 10 00 1c 	mov  %i4, %i5
                                 
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000f420:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
4000f424:	c6 07 60 08 	ld  [ %i5 + 8 ], %g3
                          
  success = ( actual == *expected );
                                 
  if ( success ) {
                                                   
4000f428:	80 a1 00 03 	cmp  %g4, %g3
                                 
4000f42c:	12 80 00 03 	bne  4000f438 <close+0x54>
                    
4000f430:	84 08 ae ff 	and  %g2, 0xeff, %g2
                          
    *obj = desired;
                                                  
4000f434:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000f438:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000f43c:	01 00 00 00 	nop 
                                          
      desired,
                                                       
      ATOMIC_ORDER_ACQ_REL,
                                          
      ATOMIC_ORDER_RELAXED
                                           
    );
                                                               

                                                                     
    if ( success ) {
                                                 
4000f440:	80 a1 00 03 	cmp  %g4, %g3
                                 
4000f444:	02 80 00 0d 	be  4000f478 <close+0x94>
                     
4000f448:	80 88 f0 00 	btst  -4096, %g3
                              
      break;
                                                         
    }
                                                                

                                                                     
    if ( ( flags & ~( LIBIO_FLAGS_REFERENCE_INC - 1U ) ) != 0 ) {
    
4000f44c:	12 80 00 16 	bne  4000f4a4 <close+0xc0>
                    <== NEVER TAKEN
4000f450:	84 10 00 03 	mov  %g3, %g2
                                 
    if ( ( flags & LIBIO_FLAGS_OPEN ) == 0 ) {
                       
4000f454:	80 88 a1 00 	btst  0x100, %g2
                              
4000f458:	12 bf ff f2 	bne  4000f420 <close+0x3c>
                    <== ALWAYS TAKEN
4000f45c:	88 08 af ff 	and  %g2, 0xfff, %g4
                          
      rtems_set_errno_and_return_minus_one( EBADF );
                 
4000f460:	40 00 00 1e 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
4000f464:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
4000f468:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
4000f46c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
4000f470:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000f474:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EBUSY );
                 
    }
                                                                
  }
                                                                  

                                                                     
  rc = (*iop->pathinfo.handlers->close_h)( iop );
                    
4000f478:	b1 2e 20 04 	sll  %i0, 4, %i0
                              
4000f47c:	b6 06 c0 18 	add  %i3, %i0, %i3
                            
4000f480:	c2 06 e0 1c 	ld  [ %i3 + 0x1c ], %g1
                       
4000f484:	c2 00 60 04 	ld  [ %g1 + 4 ], %g1
                          
4000f488:	9f c0 40 00 	call  %g1
                                     
4000f48c:	90 10 00 1c 	mov  %i4, %o0
                                 
4000f490:	b0 10 00 08 	mov  %o0, %i0
                                 

                                                                     
  rtems_libio_free( iop );
                                           
4000f494:	7f ff fb 75 	call  4000e268 <rtems_libio_free>
             
4000f498:	90 10 00 1c 	mov  %i4, %o0
                                 

                                                                     
  return rc;
                                                         
}
                                                                    
4000f49c:	81 c7 e0 08 	ret 
                                          
4000f4a0:	81 e8 00 00 	restore 
                                      
      rtems_set_errno_and_return_minus_one( EBUSY );
                 
4000f4a4:	40 00 00 0d 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
4000f4a8:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
4000f4ac:	82 10 20 10 	mov  0x10, %g1
                                <== NOT EXECUTED
4000f4b0:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
4000f4b4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000f4b8:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40004d04 <fcntl>: int fcntl( int fd, int cmd, ... ) {
40004d04:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  int            ret;
                                                
  va_list        ap;
                                                 
  va_start( ap, cmd );
                                               
40004d08:	86 07 a0 4c 	add  %fp, 0x4c, %g3
                           
40004d0c:	f4 27 a0 4c 	st  %i2, [ %fp + 0x4c ]
                       
  LIBIO_GET_IOP( fd, iop );
                                          
40004d10:	09 10 00 41 	sethi  %hi(0x40010400), %g4
                   
  va_start( ap, cmd );
                                               
40004d14:	f6 27 a0 50 	st  %i3, [ %fp + 0x50 ]
                       
40004d18:	f8 27 a0 54 	st  %i4, [ %fp + 0x54 ]
                       
40004d1c:	fa 27 a0 58 	st  %i5, [ %fp + 0x58 ]
                       
  LIBIO_GET_IOP( fd, iop );
                                          
40004d20:	c2 01 22 10 	ld  [ %g4 + 0x210 ], %g1
                      
40004d24:	80 a6 00 01 	cmp  %i0, %g1
                                 
40004d28:	1a 80 00 df 	bcc  400050a4 <fcntl+0x3a0>
                   <== NEVER TAKEN
40004d2c:	c6 27 bf fc 	st  %g3, [ %fp + -4 ]
                         <== NOT EXECUTED
40004d30:	83 2e 20 01 	sll  %i0, 1, %g1
                              <== NOT EXECUTED
40004d34:	39 10 00 4d 	sethi  %hi(0x40013400), %i4
                   <== NOT EXECUTED
40004d38:	a0 00 40 18 	add  %g1, %i0, %l0
                            <== NOT EXECUTED
40004d3c:	b8 17 20 c0 	or  %i4, 0xc0, %i4
                            <== NOT EXECUTED
40004d40:	b7 2c 20 04 	sll  %l0, 4, %i3
                              <== NOT EXECUTED
40004d44:	ba 07 00 1b 	add  %i4, %i3, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004d48:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  val = *obj;
                                                        
40004d4c:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
40004d50:	b4 20 b0 00 	sub  %g2, -4096, %i2
                          <== NOT EXECUTED
40004d54:	f4 27 60 08 	st  %i2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004d58:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004d5c:	01 00 00 00 	nop 
                                          
40004d60:	80 88 a1 00 	btst  0x100, %g2
                              
40004d64:	02 80 00 d6 	be  400050bc <fcntl+0x3b8>
                    
40004d68:	80 a6 60 14 	cmp  %i1, 0x14
                                
  switch ( cmd ) {
                                                   
40004d6c:	18 80 00 b7 	bgu  40005048 <fcntl+0x344>
                   <== NEVER TAKEN
40004d70:	85 2e 60 02 	sll  %i1, 2, %g2
                              
40004d74:	03 10 00 13 	sethi  %hi(0x40004c00), %g1
                   
40004d78:	82 10 60 b0 	or  %g1, 0xb0, %g1	! 40004cb0 <_Console_simple_Read+0x40>

40004d7c:	c2 00 40 02 	ld  [ %g1 + %g2 ], %g1
                        
40004d80:	81 c0 40 00 	jmp  %g1
                                      
40004d84:	01 00 00 00 	nop 
                                          
      errno = ENOTSUP;
                                               
40004d88:	40 00 29 17 	call  4000f1e4 <__errno>
                      <== NOT EXECUTED
40004d8c:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  <== NOT EXECUTED
40004d90:	82 10 20 86 	mov  0x86, %g1
                                <== NOT EXECUTED
40004d94:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004d98:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
40004d9c:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40004da0:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
40004da4:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004da8:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004dac:	01 00 00 00 	nop 
                                          
  ret = vfcntl(fd,cmd,ap);
                                           
  va_end(ap);
                                                        
  return ret;
                                                        
}
                                                                    
40004db0:	81 c7 e0 08 	ret 
                                          
40004db4:	81 e8 00 00 	restore 
                                      
      flags = rtems_libio_fcntl_flags( va_arg( ap, int ) );
          
40004db8:	40 00 01 50 	call  400052f8 <rtems_libio_fcntl_flags>
      
40004dbc:	d0 00 c0 00 	ld  [ %g3 ], %o0
                              
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004dc0:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val & arg;
                                                  
40004dc4:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40004dc8:	84 08 bd fe 	and  %g2, -514, %g2
                           <== NOT EXECUTED
40004dcc:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004dd0:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004dd4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004dd8:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val | arg;
                                                  
40004ddc:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
      rtems_libio_iop_flags_set( iop, flags & mask );
                
40004de0:	90 0a 22 01 	and  %o0, 0x201, %o0
                          <== NOT EXECUTED
40004de4:	90 10 80 08 	or  %g2, %o0, %o0
                             <== NOT EXECUTED
40004de8:	d0 27 60 08 	st  %o0, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004dec:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004df0:	01 00 00 00 	nop 
                                          
  int            ret = 0;
                                            
40004df4:	b0 10 20 00 	clr  %i0	! 0 <PROM_START>
                     
    int err = (*iop->pathinfo.handlers->fcntl_h)( iop, cmd );
        
40004df8:	83 2c 20 04 	sll  %l0, 4, %g1
                              
40004dfc:	b8 07 00 01 	add  %i4, %g1, %i4
                            
40004e00:	c2 07 20 1c 	ld  [ %i4 + 0x1c ], %g1
                       
40004e04:	c2 00 60 28 	ld  [ %g1 + 0x28 ], %g1
                       
40004e08:	92 10 00 19 	mov  %i1, %o1
                                 
40004e0c:	9f c0 40 00 	call  %g1
                                     
40004e10:	90 10 00 1d 	mov  %i5, %o0
                                 
    if (err) {
                                                       
40004e14:	b8 92 20 00 	orcc  %o0, 0, %i4
                             
40004e18:	02 bf ff e0 	be  40004d98 <fcntl+0x94>
                     <== ALWAYS TAKEN
40004e1c:	01 00 00 00 	nop 
                                          
      errno = err;
                                                   
40004e20:	40 00 28 f1 	call  4000f1e4 <__errno>
                      <== NOT EXECUTED
40004e24:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  <== NOT EXECUTED
40004e28:	f8 22 00 00 	st  %i4, [ %o0 ]
                              <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004e2c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
40004e30:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40004e34:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
40004e38:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004e3c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004e40:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
}
                                                                    
40004e44:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40004e48:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
      fd2 = va_arg( ap, int );
                                       
40004e4c:	e6 00 c0 00 	ld  [ %g3 ], %l3
                              <== NOT EXECUTED
  if ( (uint32_t) fd2 >= rtems_libio_number_iops ) {
                 
40004e50:	c2 01 22 10 	ld  [ %g4 + 0x210 ], %g1
                      <== NOT EXECUTED
40004e54:	80 a4 c0 01 	cmp  %l3, %g1
                                 <== NOT EXECUTED
40004e58:	1a 80 00 a5 	bcc  400050ec <fcntl+0x3e8>
                   <== NOT EXECUTED
40004e5c:	b5 2c e0 01 	sll  %l3, 1, %i2
                              <== NOT EXECUTED
40004e60:	b4 06 80 13 	add  %i2, %l3, %i2
                            <== NOT EXECUTED
40004e64:	a3 2e a0 04 	sll  %i2, 4, %l1
                              <== NOT EXECUTED
40004e68:	a4 07 00 11 	add  %i4, %l1, %l2
                            <== NOT EXECUTED
  if (iop != iop2)
                                                   
40004e6c:	80 a7 40 12 	cmp  %i5, %l2
                                 <== NOT EXECUTED
40004e70:	02 bf ff e2 	be  40004df8 <fcntl+0xf4>
                     <== NOT EXECUTED
40004e74:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
40004e78:	c2 04 a0 08 	ld  [ %l2 + 8 ], %g1
                          <== NOT EXECUTED
    if ((rtems_libio_iop_flags( iop2 ) & LIBIO_FLAGS_OPEN) != 0) {
   
40004e7c:	80 88 61 00 	btst  0x100, %g1
                              <== NOT EXECUTED
40004e80:	22 80 00 0a 	be,a   40004ea8 <fcntl+0x1a4>
                 <== NOT EXECUTED
40004e84:	d0 07 60 08 	ld  [ %i5 + 8 ], %o0
                          <== NOT EXECUTED
      rv = (*iop2->pathinfo.handlers->close_h)( iop2 );
              
40004e88:	c2 04 a0 1c 	ld  [ %l2 + 0x1c ], %g1
                       <== NOT EXECUTED
40004e8c:	c2 00 60 04 	ld  [ %g1 + 4 ], %g1
                          <== NOT EXECUTED
40004e90:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004e94:	90 10 00 12 	mov  %l2, %o0
                                 <== NOT EXECUTED
    if (rv == 0) {
                                                   
40004e98:	b0 92 20 00 	orcc  %o0, 0, %i0
                             <== NOT EXECUTED
40004e9c:	12 80 00 5d 	bne  40005010 <fcntl+0x30c>
                   <== NOT EXECUTED
40004ea0:	80 a6 20 00 	cmp  %i0, 0
                                   <== NOT EXECUTED
40004ea4:	d0 07 60 08 	ld  [ %i5 + 8 ], %o0
                          <== NOT EXECUTED
      oflag = rtems_libio_to_fcntl_flags( rtems_libio_iop_flags( iop ) );

40004ea8:	40 00 01 21 	call  4000532c <rtems_libio_to_fcntl_flags>
   <== NOT EXECUTED
40004eac:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
      rtems_libio_iop_flags_set( iop2, rtems_libio_fcntl_flags( oflag ) );

40004eb0:	40 00 01 12 	call  400052f8 <rtems_libio_fcntl_flags>
      <== NOT EXECUTED
40004eb4:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004eb8:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val | arg;
                                                  
40004ebc:	c4 04 a0 08 	ld  [ %l2 + 8 ], %g2
                          <== NOT EXECUTED
40004ec0:	90 10 80 08 	or  %g2, %o0, %o0
                             <== NOT EXECUTED
40004ec4:	d0 24 a0 08 	st  %o0, [ %l2 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004ec8:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004ecc:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40004ed0:	d0 07 60 20 	ld  [ %i5 + 0x20 ], %o0
                       <== NOT EXECUTED
  (*mt_entry->ops->lock_h)( mt_entry );
                              
40004ed4:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        <== NOT EXECUTED
40004ed8:	c2 00 40 00 	ld  [ %g1 ], %g1
                              <== NOT EXECUTED
40004edc:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004ee0:	b5 2e a0 04 	sll  %i2, 4, %i2
                              <== NOT EXECUTED
      rtems_filesystem_location_clone( &iop2->pathinfo, &iop->pathinfo );

40004ee4:	92 06 e0 0c 	add  %i3, 0xc, %o1
                            <== NOT EXECUTED
40004ee8:	90 04 60 0c 	add  %l1, 0xc, %o0
                            <== NOT EXECUTED
40004eec:	92 07 00 09 	add  %i4, %o1, %o1
                            <== NOT EXECUTED
40004ef0:	40 00 23 94 	call  4000dd40 <rtems_filesystem_location_clone>
<== NOT EXECUTED
40004ef4:	90 07 00 08 	add  %i4, %o0, %o0
                            <== NOT EXECUTED
40004ef8:	d0 07 60 20 	ld  [ %i5 + 0x20 ], %o0
                       <== NOT EXECUTED
  (*mt_entry->ops->unlock_h)( mt_entry );
                            
40004efc:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        <== NOT EXECUTED
40004f00:	c2 00 60 04 	ld  [ %g1 + 4 ], %g1
                          <== NOT EXECUTED
40004f04:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004f08:	b4 07 00 1a 	add  %i4, %i2, %i2
                            <== NOT EXECUTED
      rv = (*iop2->pathinfo.handlers->open_h)( iop2, NULL, oflag, 0 );

40004f0c:	c2 06 a0 1c 	ld  [ %i2 + 0x1c ], %g1
                       <== NOT EXECUTED
40004f10:	c2 00 40 00 	ld  [ %g1 ], %g1
                              <== NOT EXECUTED
40004f14:	94 10 00 18 	mov  %i0, %o2
                                 <== NOT EXECUTED
40004f18:	96 10 20 00 	clr  %o3
                                      <== NOT EXECUTED
40004f1c:	92 10 20 00 	clr  %o1
                                      <== NOT EXECUTED
40004f20:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004f24:	90 10 00 12 	mov  %l2, %o0
                                 <== NOT EXECUTED
      if ( rv == 0 ) {
                                               
40004f28:	b0 92 20 00 	orcc  %o0, 0, %i0
                             <== NOT EXECUTED
40004f2c:	22 80 00 38 	be,a   4000500c <fcntl+0x308>
                 <== NOT EXECUTED
40004f30:	b0 10 00 13 	mov  %l3, %i0
                                 <== NOT EXECUTED
  if (ret >= 0) {
                                                    
40004f34:	10 80 00 37 	b  40005010 <fcntl+0x30c>
                     <== NOT EXECUTED
40004f38:	80 a6 20 00 	cmp  %i0, 0
                                   <== NOT EXECUTED
40004f3c:	d0 07 60 08 	ld  [ %i5 + 8 ], %o0
                          <== NOT EXECUTED
  oflag = rtems_libio_to_fcntl_flags( rtems_libio_iop_flags( iop ) );

40004f40:	40 00 00 fb 	call  4000532c <rtems_libio_to_fcntl_flags>
   <== NOT EXECUTED
40004f44:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  diop = rtems_libio_allocate();
                                     
40004f48:	40 00 01 0c 	call  40005378 <rtems_libio_allocate>
         <== NOT EXECUTED
40004f4c:	a2 10 00 08 	mov  %o0, %l1
                                 <== NOT EXECUTED
  if (diop != NULL) {
                                                
40004f50:	b4 92 20 00 	orcc  %o0, 0, %i2
                             <== NOT EXECUTED
40004f54:	02 bf ff 91 	be  40004d98 <fcntl+0x94>
                     <== NOT EXECUTED
40004f58:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
40004f5c:	d0 07 60 20 	ld  [ %i5 + 0x20 ], %o0
                       <== NOT EXECUTED
  (*mt_entry->ops->lock_h)( mt_entry );
                              
40004f60:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        <== NOT EXECUTED
40004f64:	c2 00 40 00 	ld  [ %g1 ], %g1
                              <== NOT EXECUTED
40004f68:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004f6c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    rtems_filesystem_location_clone( &diop->pathinfo, &iop->pathinfo );

40004f70:	90 06 a0 0c 	add  %i2, 0xc, %o0
                            <== NOT EXECUTED
40004f74:	92 06 e0 0c 	add  %i3, 0xc, %o1
                            <== NOT EXECUTED
40004f78:	40 00 23 72 	call  4000dd40 <rtems_filesystem_location_clone>
<== NOT EXECUTED
40004f7c:	92 07 00 09 	add  %i4, %o1, %o1
                            <== NOT EXECUTED
40004f80:	d0 07 60 20 	ld  [ %i5 + 0x20 ], %o0
                       <== NOT EXECUTED
  (*mt_entry->ops->unlock_h)( mt_entry );
                            
40004f84:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        <== NOT EXECUTED
40004f88:	c2 00 60 04 	ld  [ %g1 + 4 ], %g1
                          <== NOT EXECUTED
40004f8c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004f90:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    rv = (*diop->pathinfo.handlers->open_h)( diop, NULL, oflag, 0 );
 
40004f94:	c2 06 a0 1c 	ld  [ %i2 + 0x1c ], %g1
                       <== NOT EXECUTED
40004f98:	c2 00 40 00 	ld  [ %g1 ], %g1
                              <== NOT EXECUTED
40004f9c:	96 10 20 00 	clr  %o3
                                      <== NOT EXECUTED
40004fa0:	94 10 00 11 	mov  %l1, %o2
                                 <== NOT EXECUTED
40004fa4:	92 10 20 00 	clr  %o1
                                      <== NOT EXECUTED
40004fa8:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004fac:	90 10 00 1a 	mov  %i2, %o0
                                 <== NOT EXECUTED
    if ( rv == 0 ) {
                                                 
40004fb0:	b0 92 20 00 	orcc  %o0, 0, %i0
                             <== NOT EXECUTED
40004fb4:	02 80 00 32 	be  4000507c <fcntl+0x378>
                    <== NOT EXECUTED
40004fb8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
      rtems_libio_free( diop );
                                      
40004fbc:	40 00 01 04 	call  400053cc <rtems_libio_free>
             <== NOT EXECUTED
40004fc0:	90 10 00 1a 	mov  %i2, %o0
                                 <== NOT EXECUTED
  if (ret >= 0) {
                                                    
40004fc4:	10 80 00 13 	b  40005010 <fcntl+0x30c>
                     <== NOT EXECUTED
40004fc8:	80 a6 20 00 	cmp  %i0, 0
                                   <== NOT EXECUTED
      if ( va_arg( ap, int ) )
                                       
40004fcc:	f0 00 c0 00 	ld  [ %g3 ], %i0
                              <== NOT EXECUTED
40004fd0:	80 a6 20 00 	cmp  %i0, 0
                                   <== NOT EXECUTED
40004fd4:	02 80 00 22 	be  4000505c <fcntl+0x358>
                    <== NOT EXECUTED
40004fd8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40004fdc:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
40004fe0:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40004fe4:	84 10 a8 00 	or  %g2, 0x800, %g2
                           <== NOT EXECUTED
40004fe8:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40004fec:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40004ff0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  int            ret = 0;
                                            
40004ff4:	10 bf ff 81 	b  40004df8 <fcntl+0xf4>
                      <== NOT EXECUTED
40004ff8:	b0 10 20 00 	clr  %i0	! 0 <PROM_START>
                     <== NOT EXECUTED
40004ffc:	d0 07 60 08 	ld  [ %i5 + 8 ], %o0
                          <== NOT EXECUTED
      ret = rtems_libio_to_fcntl_flags( rtems_libio_iop_flags( iop ) );

40005000:	40 00 00 cb 	call  4000532c <rtems_libio_to_fcntl_flags>
   <== NOT EXECUTED
40005004:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40005008:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
  if (ret >= 0) {
                                                    
4000500c:	80 a6 20 00 	cmp  %i0, 0
                                   <== NOT EXECUTED
40005010:	16 bf ff 7b 	bge  40004dfc <fcntl+0xf8>
                    <== NOT EXECUTED
40005014:	83 2c 20 04 	sll  %l0, 4, %g1
                              <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40005018:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
4000501c:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40005020:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
40005024:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40005028:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000502c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
}
                                                                    
40005030:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40005034:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
40005038:	f0 07 60 08 	ld  [ %i5 + 8 ], %i0
                          <== NOT EXECUTED
      ret = ((rtems_libio_iop_flags(iop) & LIBIO_FLAGS_CLOSE_ON_EXEC) != 0);

4000503c:	b1 36 20 0b 	srl  %i0, 0xb, %i0
                            <== NOT EXECUTED
40005040:	10 bf ff 6e 	b  40004df8 <fcntl+0xf4>
                      <== NOT EXECUTED
40005044:	b0 0e 20 01 	and  %i0, 1, %i0
                              <== NOT EXECUTED
      errno = EINVAL;
                                                
40005048:	40 00 28 67 	call  4000f1e4 <__errno>
                      <== NOT EXECUTED
4000504c:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
40005050:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
40005054:	10 bf ff 51 	b  40004d98 <fcntl+0x94>
                      <== NOT EXECUTED
40005058:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000505c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val & arg;
                                                  
40005060:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40005064:	84 08 b7 ff 	and  %g2, -2049, %g2
                          <== NOT EXECUTED
40005068:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000506c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40005070:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    int err = (*iop->pathinfo.handlers->fcntl_h)( iop, cmd );
        
40005074:	10 bf ff 62 	b  40004dfc <fcntl+0xf8>
                      <== NOT EXECUTED
40005078:	83 2c 20 04 	sll  %l0, 4, %g1
                              <== NOT EXECUTED
        rtems_libio_fcntl_flags( oflag )
                             
4000507c:	40 00 00 9f 	call  400052f8 <rtems_libio_fcntl_flags>
      <== NOT EXECUTED
40005080:	90 10 00 11 	mov  %l1, %o0
                                 <== NOT EXECUTED
      rv = rtems_libio_iop_to_descriptor( diop );
                    
40005084:	b0 26 80 1c 	sub  %i2, %i4, %i0
                            <== NOT EXECUTED
  _Atomic_Store_uint(
                                                
40005088:	90 12 21 00 	or  %o0, 0x100, %o0
                           <== NOT EXECUTED
4000508c:	83 3e 20 04 	sra  %i0, 4, %g1
                              <== NOT EXECUTED
  *obj = desired;
                                                    
40005090:	d0 26 a0 08 	st  %o0, [ %i2 + 8 ]
                          <== NOT EXECUTED
40005094:	31 2a aa aa 	sethi  %hi(0xaaaaa800), %i0
                   <== NOT EXECUTED
40005098:	b0 16 22 ab 	or  %i0, 0x2ab, %i0	! aaaaaaab <RAM_END+0x6a6aaaab>
<== NOT EXECUTED
4000509c:	10 bf ff dc 	b  4000500c <fcntl+0x308>
                     <== NOT EXECUTED
400050a0:	b0 58 40 18 	smul  %g1, %i0, %i0
                           <== NOT EXECUTED
  LIBIO_GET_IOP( fd, iop );
                                          
400050a4:	40 00 28 50 	call  4000f1e4 <__errno>
                      <== NOT EXECUTED
400050a8:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
400050ac:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
400050b0:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
400050b4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400050b8:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

400050bc:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
400050c0:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
400050c4:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
400050c8:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

400050cc:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
400050d0:	01 00 00 00 	nop 
                                          
400050d4:	40 00 28 44 	call  4000f1e4 <__errno>
                      
400050d8:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  
400050dc:	82 10 20 09 	mov  9, %g1
                                   
400050e0:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
400050e4:	81 c7 e0 08 	ret 
                                          
400050e8:	81 e8 00 00 	restore 
                                      
    rtems_set_errno_and_return_minus_one( EBADF );
                   
400050ec:	40 00 28 3e 	call  4000f1e4 <__errno>
                      <== NOT EXECUTED
400050f0:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
400050f4:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
400050f8:	10 bf ff 28 	b  40004d98 <fcntl+0x94>
                      <== NOT EXECUTED
400050fc:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED

                                                                     

40004b48 <free>: #include <stdlib.h> void free( void *ptr ) {
40004b48:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  if ( !ptr )
                                                        
40004b4c:	ba 96 20 00 	orcc  %i0, 0, %i5
                             
40004b50:	02 80 00 0d 	be  40004b84 <free+0x3c>
                      
40004b54:	01 00 00 00 	nop 
                                          
    return;
                                                          

                                                                     
  /*
                                                                 
   *  Do not attempt to free memory if in a critical section or ISR.
 
   */
                                                                
  if ( _Malloc_System_state() != MALLOC_SYSTEM_STATE_NORMAL ) {
      
40004b58:	40 00 00 7a 	call  40004d40 <_Malloc_System_state>
         
40004b5c:	01 00 00 00 	nop 
                                          
40004b60:	80 a2 20 00 	cmp  %o0, 0
                                   
40004b64:	12 80 00 0a 	bne  40004b8c <free+0x44>
                     <== NEVER TAKEN
40004b68:	03 10 00 4b 	sethi  %hi(0x40012c00), %g1
                   
      _Malloc_Deferred_free(ptr);
                                    
      return;
                                                        
  }
                                                                  

                                                                     
  if ( !_Protected_heap_Free( RTEMS_Malloc_Heap, ptr ) ) {
           
40004b6c:	d0 00 63 64 	ld  [ %g1 + 0x364 ], %o0	! 40012f64 <RTEMS_Malloc_Heap>

40004b70:	40 00 14 12 	call  40009bb8 <_Protected_heap_Free>
         
40004b74:	92 10 00 1d 	mov  %i5, %o1
                                 
40004b78:	80 a2 20 00 	cmp  %o0, 0
                                   
40004b7c:	02 80 00 06 	be  40004b94 <free+0x4c>
                      
40004b80:	92 10 00 1d 	mov  %i5, %o1
                                 
    rtems_fatal( RTEMS_FATAL_SOURCE_INVALID_HEAP_FREE, (rtems_fatal_code) ptr );

  }
                                                                  
}
                                                                    
40004b84:	81 c7 e0 08 	ret 
                                          
40004b88:	81 e8 00 00 	restore 
                                      
      _Malloc_Deferred_free(ptr);
                                    
40004b8c:	40 00 00 cf 	call  40004ec8 <_Malloc_Deferred_free>
        <== NOT EXECUTED
40004b90:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
40004b94:	40 00 0c 84 	call  40007da4 <_Terminate>
                   
40004b98:	90 10 20 0c 	mov  0xc, %o0
                                 
40004b9c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

4001c1f4 <fstat>: int fstat( int fd, struct stat *sbuf ) {
4001c1f4:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  int            rv;
                                                 

                                                                     
  /*
                                                                 
   *  Check to see if we were passed a valid pointer.
                
   */
                                                                
  if ( !sbuf )
                                                       
4001c1f8:	80 a6 60 00 	cmp  %i1, 0
                                   
4001c1fc:	02 80 00 32 	be  4001c2c4 <fstat+0xd0>
                     <== NEVER TAKEN
4001c200:	03 10 00 73 	sethi  %hi(0x4001cc00), %g1
                   
    rtems_set_errno_and_return_minus_one( EFAULT );
                  

                                                                     
  /*
                                                                 
   *  Now process the stat() request.
                                
   */
                                                                
  LIBIO_GET_IOP( fd, iop );
                                          
4001c204:	c2 00 62 90 	ld  [ %g1 + 0x290 ], %g1	! 4001ce90 <rtems_libio_number_iops>

4001c208:	80 a6 00 01 	cmp  %i0, %g1
                                 
4001c20c:	1a 80 00 28 	bcc  4001c2ac <fstat+0xb8>
                    <== NEVER TAKEN
4001c210:	91 2e 20 01 	sll  %i0, 1, %o0
                              <== NOT EXECUTED
4001c214:	39 10 00 84 	sethi  %hi(0x40021000), %i4
                   <== NOT EXECUTED
4001c218:	b0 02 00 18 	add  %o0, %i0, %i0
                            <== NOT EXECUTED
4001c21c:	b8 17 23 c0 	or  %i4, 0x3c0, %i4
                           <== NOT EXECUTED
4001c220:	b1 2e 20 04 	sll  %i0, 4, %i0
                              <== NOT EXECUTED
4001c224:	ba 06 00 1c 	add  %i0, %i4, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c228:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  val = *obj;
                                                        
4001c22c:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
4001c230:	86 20 b0 00 	sub  %g2, -4096, %g3
                          <== NOT EXECUTED
4001c234:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c238:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c23c:	01 00 00 00 	nop 
                                          
4001c240:	80 88 a1 00 	btst  0x100, %g2
                              
4001c244:	02 80 00 14 	be  4001c294 <fstat+0xa0>
                     
4001c248:	94 10 20 60 	mov  0x60, %o2
                                

                                                                     
  /*
                                                                 
   *  Zero out the stat structure so the various support
             
   *  versions of stat don't have to.
                                
   */
                                                                
  memset( sbuf, 0, sizeof(struct stat) );
                            
4001c24c:	92 10 20 00 	clr  %o1
                                      
4001c250:	7f ff dc 31 	call  40013314 <memset>
                       
4001c254:	90 10 00 19 	mov  %i1, %o0
                                 

                                                                     
  rv = (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );
   
4001c258:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       
4001c25c:	c2 00 60 18 	ld  [ %g1 + 0x18 ], %g1
                       
4001c260:	90 06 20 0c 	add  %i0, 0xc, %o0
                            
4001c264:	92 10 00 19 	mov  %i1, %o1
                                 
4001c268:	9f c0 40 00 	call  %g1
                                     
4001c26c:	90 07 00 08 	add  %i4, %o0, %o0
                            
4001c270:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c274:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
4001c278:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4001c27c:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
4001c280:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c284:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c288:	01 00 00 00 	nop 
                                          
  rtems_libio_iop_drop( iop );
                                       
  return rv;
                                                         
}
                                                                    
4001c28c:	81 c7 e0 08 	ret 
                                          
4001c290:	81 e8 00 00 	restore 
                                      
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c294:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
4001c298:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4001c29c:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
4001c2a0:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c2a4:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c2a8:	01 00 00 00 	nop 
                                          
  LIBIO_GET_IOP( fd, iop );
                                          
4001c2ac:	7f ff da 0e 	call  40012ae4 <__errno>
                      
4001c2b0:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  
4001c2b4:	82 10 20 09 	mov  9, %g1
                                   
4001c2b8:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
4001c2bc:	81 c7 e0 08 	ret 
                                          
4001c2c0:	81 e8 00 00 	restore 
                                      
    rtems_set_errno_and_return_minus_one( EFAULT );
                  
4001c2c4:	7f ff da 08 	call  40012ae4 <__errno>
                      <== NOT EXECUTED
4001c2c8:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
4001c2cc:	82 10 20 0e 	mov  0xe, %g1
                                 <== NOT EXECUTED
4001c2d0:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
4001c2d4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4001c2d8:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

400050e0 <fsync>: * POSIX 1003.1b 6.6.1 - Synchronize the State of a File */ int fsync( int fd ) {
400050e0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_libio_t *iop;
                                                
  int            rv;
                                                 

                                                                     
  LIBIO_GET_IOP( fd, iop );
                                          
400050e4:	03 10 00 68 	sethi  %hi(0x4001a000), %g1
                   
400050e8:	c2 00 63 b0 	ld  [ %g1 + 0x3b0 ], %g1	! 4001a3b0 <rtems_libio_number_iops>

400050ec:	80 a6 00 01 	cmp  %i0, %g1
                                 
400050f0:	1a 80 00 23 	bcc  4000517c <fsync+0x9c>
                    <== NEVER TAKEN
400050f4:	bb 2e 20 01 	sll  %i0, 1, %i5
                              <== NOT EXECUTED
  return &rtems_libio_iops[ fd ];
                                    
400050f8:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
400050fc:	31 10 00 79 	sethi  %hi(0x4001e400), %i0
                   <== NOT EXECUTED
40005100:	bb 2f 60 04 	sll  %i5, 4, %i5
                              <== NOT EXECUTED
40005104:	b0 16 22 58 	or  %i0, 0x258, %i0
                           <== NOT EXECUTED
40005108:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000510c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  unsigned int val;
                                                  
  ISR_Level level;
                                                   

                                                                     
  (void) order;
                                                      
  _ISR_Local_disable( level );
                                       
  val = *obj;
                                                        
40005110:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
40005114:	86 20 b0 00 	sub  %g2, -4096, %g3
                          <== NOT EXECUTED
40005118:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000511c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40005120:	01 00 00 00 	nop 
                                          
40005124:	80 88 a1 00 	btst  0x100, %g2
                              
40005128:	02 80 00 0f 	be  40005164 <fsync+0x84>
                     <== NEVER TAKEN
4000512c:	01 00 00 00 	nop 
                                          

                                                                     
  /*
                                                                 
   *  Now process the fsync().
                                       
   */
                                                                

                                                                     
  rv = (*iop->pathinfo.handlers->fsync_h)( iop );
                    
40005130:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       
40005134:	c2 00 60 20 	ld  [ %g1 + 0x20 ], %g1
                       
40005138:	9f c0 40 00 	call  %g1
                                     
4000513c:	90 10 00 1d 	mov  %i5, %o0
                                 
40005140:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40005144:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  ISR_Level level;
                                                   

                                                                     
  (void) order;
                                                      
  _ISR_Local_disable( level );
                                       
  val = *obj;
                                                        
  *obj = val - arg;
                                                  
40005148:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4000514c:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
40005150:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40005154:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40005158:	01 00 00 00 	nop 
                                          
  rtems_libio_iop_drop( iop );
                                       
  return rv;
                                                         
}
                                                                    
4000515c:	81 c7 e0 08 	ret 
                                          
40005160:	81 e8 00 00 	restore 
                                      
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40005164:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
40005168:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4000516c:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
40005170:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40005174:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40005178:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  LIBIO_GET_IOP( fd, iop );
                                          
4000517c:	40 00 2c 03 	call  40010188 <__errno>
                      <== NOT EXECUTED
40005180:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  <== NOT EXECUTED
40005184:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
40005188:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
4000518c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40005190:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

4000e0bc <ftruncate>: #include <unistd.h> #include <rtems/libio_.h> int ftruncate( int fd, off_t length ) {
4000e0bc:	9d e3 bf a0 	save  %sp, -96, %sp
                           <== NOT EXECUTED
  int rv = 0;
                                                        

                                                                     
  if ( length >= 0 ) {
                                               
4000e0c0:	80 a6 60 00 	cmp  %i1, 0
                                   <== NOT EXECUTED
4000e0c4:	06 80 00 39 	bl  4000e1a8 <ftruncate+0xec>
                 <== NOT EXECUTED
4000e0c8:	03 10 00 43 	sethi  %hi(0x40010c00), %g1
                   <== NOT EXECUTED
    rtems_libio_t *iop;
                                              

                                                                     
    LIBIO_GET_IOP_WITH_ACCESS( fd, iop, LIBIO_FLAGS_WRITE, EINVAL );
 
4000e0cc:	c2 00 62 00 	ld  [ %g1 + 0x200 ], %g1	! 40010e00 <rtems_libio_number_iops>
<== NOT EXECUTED
4000e0d0:	80 a6 00 01 	cmp  %i0, %g1
                                 <== NOT EXECUTED
4000e0d4:	1a 80 00 1f 	bcc  4000e150 <ftruncate+0x94>
                <== NOT EXECUTED
4000e0d8:	bb 2e 20 01 	sll  %i0, 1, %i5
                              <== NOT EXECUTED
  return &rtems_libio_iops[ fd ];
                                    
4000e0dc:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
4000e0e0:	31 10 00 51 	sethi  %hi(0x40014400), %i0
                   <== NOT EXECUTED
4000e0e4:	bb 2f 60 04 	sll  %i5, 4, %i5
                              <== NOT EXECUTED
4000e0e8:	b0 16 20 48 	or  %i0, 0x48, %i0
                            <== NOT EXECUTED
4000e0ec:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000e0f0:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  val = *obj;
                                                        
4000e0f4:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
4000e0f8:	86 20 b0 00 	sub  %g2, -4096, %g3
                          <== NOT EXECUTED
4000e0fc:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000e100:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000e104:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000e108:	82 08 a1 04 	and  %g2, 0x104, %g1
                          <== NOT EXECUTED
4000e10c:	80 a0 61 04 	cmp  %g1, 0x104
                               <== NOT EXECUTED
4000e110:	12 80 00 16 	bne  4000e168 <ftruncate+0xac>
                <== NOT EXECUTED
4000e114:	92 10 00 19 	mov  %i1, %o1
                                 <== NOT EXECUTED

                                                                     
    rv = (*iop->pathinfo.handlers->ftruncate_h)( iop, length );
      
4000e118:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       <== NOT EXECUTED
4000e11c:	c2 00 60 1c 	ld  [ %g1 + 0x1c ], %g1
                       <== NOT EXECUTED
4000e120:	94 10 00 1a 	mov  %i2, %o2
                                 <== NOT EXECUTED
4000e124:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
4000e128:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
4000e12c:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000e130:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
4000e134:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4000e138:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
4000e13c:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000e140:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000e144:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000e148:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e14c:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    LIBIO_GET_IOP_WITH_ACCESS( fd, iop, LIBIO_FLAGS_WRITE, EINVAL );
 
4000e150:	40 00 04 e2 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
4000e154:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
4000e158:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
4000e15c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
4000e160:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e164:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000e168:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
4000e16c:	c6 07 60 08 	ld  [ %i5 + 8 ], %g3
                          <== NOT EXECUTED
4000e170:	86 00 f0 00 	add  %g3, -4096, %g3
                          <== NOT EXECUTED
4000e174:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000e178:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000e17c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000e180:	84 08 a1 00 	and  %g2, 0x100, %g2
                          <== NOT EXECUTED
4000e184:	80 a0 00 02 	cmp  %g0, %g2
                                 <== NOT EXECUTED
4000e188:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
4000e18c:	40 00 04 d3 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
4000e190:	ba 60 20 00 	subx  %g0, 0, %i5
                             <== NOT EXECUTED
4000e194:	ba 0f 60 0d 	and  %i5, 0xd, %i5
                            <== NOT EXECUTED
4000e198:	ba 07 60 09 	add  %i5, 9, %i5
                              <== NOT EXECUTED
4000e19c:	fa 22 00 00 	st  %i5, [ %o0 ]
                              <== NOT EXECUTED
4000e1a0:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e1a4:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    rtems_libio_iop_drop( iop );
                                     
  } else {
                                                           
    errno = EINVAL;
                                                  
4000e1a8:	40 00 04 cc 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
4000e1ac:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
4000e1b0:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
4000e1b4:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
    rv = -1;
                                                         
  }
                                                                  

                                                                     
  return rv;
                                                         
}
                                                                    
4000e1b8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e1bc:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40004c00 <gettimeofday>: */ int gettimeofday( struct timeval *__restrict tp, void *__restrict __tz RTEMS_UNUSED ) {
40004c00:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  /* struct timezone* tzp = (struct timezone*) __tz; */
              
  if ( !tp )
                                                         
40004c04:	80 a6 20 00 	cmp  %i0, 0
                                   
40004c08:	02 80 00 06 	be  40004c20 <gettimeofday+0x20>
              <== NEVER TAKEN
40004c0c:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
RTEMS_INLINE_ROUTINE void _TOD_Get_timeval(
                          
  struct timeval *time
                                               
)
                                                                    
{
                                                                    
  _Timecounter_Microtime( time );
                                    
40004c10:	40 00 10 f4 	call  40008fe0 <_Timecounter_Microtime>
       
40004c14:	b0 10 20 00 	clr  %i0
                                      
   *  with Eric Norum, this is how GNU/Linux, Solaris, and MacOS X
   
   *  do it.  This puts us in good company.
                          
   */
                                                                

                                                                     
  return 0;
                                                          
}
                                                                    
40004c18:	81 c7 e0 08 	ret 
                                          
40004c1c:	81 e8 00 00 	restore 
                                      
    rtems_set_errno_and_return_minus_one( EFAULT );
                  
40004c20:	40 00 2a 2e 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
40004c24:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
40004c28:	82 10 20 0e 	mov  0xe, %g1
                                 <== NOT EXECUTED
40004c2c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
40004c30:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40004c34:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40012c10 <ioctl>: int ioctl( int fd, ioctl_command_t command, ... ) {
40012c10:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  rtems_libio_t     *iop;
                                            
  void              *buffer;
                                         

                                                                     
  LIBIO_GET_IOP( fd, iop );
                                          

                                                                     
  va_start(ap, command);
                                             
40012c14:	f4 27 a0 4c 	st  %i2, [ %fp + 0x4c ]
                       
  LIBIO_GET_IOP( fd, iop );
                                          
40012c18:	03 10 00 76 	sethi  %hi(0x4001d800), %g1
                   
  va_start(ap, command);
                                             
40012c1c:	f6 27 a0 50 	st  %i3, [ %fp + 0x50 ]
                       
40012c20:	f8 27 a0 54 	st  %i4, [ %fp + 0x54 ]
                       
  LIBIO_GET_IOP( fd, iop );
                                          
40012c24:	c2 00 61 38 	ld  [ %g1 + 0x138 ], %g1
                      
40012c28:	80 a6 00 01 	cmp  %i0, %g1
                                 
40012c2c:	1a 80 00 27 	bcc  40012cc8 <ioctl+0xb8>
                    <== NEVER TAKEN
40012c30:	fa 27 a0 58 	st  %i5, [ %fp + 0x58 ]
                       <== NOT EXECUTED
40012c34:	bb 2e 20 01 	sll  %i0, 1, %i5
                              <== NOT EXECUTED
40012c38:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
40012c3c:	31 10 00 86 	sethi  %hi(0x40021800), %i0
                   <== NOT EXECUTED
40012c40:	bb 2f 60 04 	sll  %i5, 4, %i5
                              <== NOT EXECUTED
40012c44:	b0 16 20 68 	or  %i0, 0x68, %i0
                            <== NOT EXECUTED
40012c48:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40012c4c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  val = *obj;
                                                        
40012c50:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
40012c54:	86 20 b0 00 	sub  %g2, -4096, %g3
                          <== NOT EXECUTED
40012c58:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40012c5c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40012c60:	01 00 00 00 	nop 
                                          
40012c64:	80 88 a1 00 	btst  0x100, %g2
                              
40012c68:	02 80 00 12 	be  40012cb0 <ioctl+0xa0>
                     <== NEVER TAKEN
40012c6c:	84 07 a0 4c 	add  %fp, 0x4c, %g2
                           
  buffer = va_arg(ap, void *);
                                       

                                                                     
  /*
                                                                 
   *  Now process the ioctl().
                                       
   */
                                                                
  rc = (*iop->pathinfo.handlers->ioctl_h)( iop, command, buffer );
   
40012c70:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       
40012c74:	c2 00 60 10 	ld  [ %g1 + 0x10 ], %g1
                       
40012c78:	d4 07 a0 4c 	ld  [ %fp + 0x4c ], %o2
                       
40012c7c:	92 10 00 19 	mov  %i1, %o1
                                 
  va_start(ap, command);
                                             
40012c80:	c4 27 bf fc 	st  %g2, [ %fp + -4 ]
                         
  rc = (*iop->pathinfo.handlers->ioctl_h)( iop, command, buffer );
   
40012c84:	9f c0 40 00 	call  %g1
                                     
40012c88:	90 10 00 1d 	mov  %i5, %o0
                                 
40012c8c:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40012c90:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
40012c94:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40012c98:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
40012c9c:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40012ca0:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40012ca4:	01 00 00 00 	nop 
                                          

                                                                     
  va_end( ap );
                                                      
  rtems_libio_iop_drop( iop );
                                       
  return rc;
                                                         
}
                                                                    
40012ca8:	81 c7 e0 08 	ret 
                                          
40012cac:	81 e8 00 00 	restore 
                                      
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40012cb0:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
40012cb4:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
40012cb8:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
40012cbc:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40012cc0:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40012cc4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  LIBIO_GET_IOP( fd, iop );
                                          
40012cc8:	40 00 02 1c 	call  40013538 <__errno>
                      <== NOT EXECUTED
40012ccc:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  <== NOT EXECUTED
40012cd0:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
40012cd4:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
40012cd8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40012cdc:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

4001c300 <lseek>: #include <unistd.h> #include <rtems/libio_.h> off_t lseek( int fd, off_t offset, int whence ) {
4001c300:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_libio_t *iop;
                                                
  off_t          rv;
                                                 

                                                                     
  LIBIO_GET_IOP( fd, iop );
                                          
4001c304:	03 10 00 73 	sethi  %hi(0x4001cc00), %g1
                   
4001c308:	c2 00 62 90 	ld  [ %g1 + 0x290 ], %g1	! 4001ce90 <rtems_libio_number_iops>

4001c30c:	80 a6 00 01 	cmp  %i0, %g1
                                 
4001c310:	1a 80 00 26 	bcc  4001c3a8 <lseek+0xa8>
                    <== NEVER TAKEN
4001c314:	bb 2e 20 01 	sll  %i0, 1, %i5
                              <== NOT EXECUTED
4001c318:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
4001c31c:	31 10 00 84 	sethi  %hi(0x40021000), %i0
                   <== NOT EXECUTED
4001c320:	bb 2f 60 04 	sll  %i5, 4, %i5
                              <== NOT EXECUTED
4001c324:	b0 16 23 c0 	or  %i0, 0x3c0, %i0
                           <== NOT EXECUTED
4001c328:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c32c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  val = *obj;
                                                        
4001c330:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
4001c334:	86 20 b0 00 	sub  %g2, -4096, %g3
                          <== NOT EXECUTED
4001c338:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c33c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c340:	01 00 00 00 	nop 
                                          
4001c344:	80 88 a1 00 	btst  0x100, %g2
                              
4001c348:	02 80 00 12 	be  4001c390 <lseek+0x90>
                     <== NEVER TAKEN
4001c34c:	96 10 00 1b 	mov  %i3, %o3
                                 

                                                                     
  rv = (*iop->pathinfo.handlers->lseek_h)( iop, offset, whence );
    
4001c350:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       
4001c354:	c2 00 60 14 	ld  [ %g1 + 0x14 ], %g1
                       
4001c358:	92 10 00 19 	mov  %i1, %o1
                                 
4001c35c:	94 10 00 1a 	mov  %i2, %o2
                                 
4001c360:	9f c0 40 00 	call  %g1
                                     
4001c364:	90 10 00 1d 	mov  %i5, %o0
                                 
4001c368:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
4001c36c:	b2 10 00 09 	mov  %o1, %i1
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c370:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
4001c374:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4001c378:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
4001c37c:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c380:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c384:	01 00 00 00 	nop 
                                          
  rtems_libio_iop_drop( iop );
                                       
  return rv;
                                                         
}
                                                                    
4001c388:	81 c7 e0 08 	ret 
                                          
4001c38c:	81 e8 00 00 	restore 
                                      
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c390:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
4001c394:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4001c398:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
4001c39c:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c3a0:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c3a4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  LIBIO_GET_IOP( fd, iop );
                                          
4001c3a8:	7f ff d9 cf 	call  40012ae4 <__errno>
                      <== NOT EXECUTED
4001c3ac:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  <== NOT EXECUTED
4001c3b0:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
4001c3b4:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
4001c3b8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4001c3bc:	93 e8 3f ff 	restore  %g0, -1, %o1
                         <== NOT EXECUTED

                                                                     

40004f84 <malloc>: #include "malloc_p.h" void *malloc( size_t size ) {
40004f84:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  void        *return_this;
                                          

                                                                     
  /*
                                                                 
   * Validate the parameters
                                         
   */
                                                                
  if ( !size )
                                                       
40004f88:	80 a6 20 00 	cmp  %i0, 0
                                   
40004f8c:	02 80 00 0a 	be  40004fb4 <malloc+0x30>
                    <== NEVER TAKEN
40004f90:	90 10 00 18 	mov  %i0, %o0
                                 
    return (void *) 0;
                                               

                                                                     
  return_this = rtems_heap_allocate_aligned_with_boundary( size, 0, 0 );

40004f94:	94 10 20 00 	clr  %o2
                                      
40004f98:	7f ff ff 92 	call  40004de0 <rtems_heap_allocate_aligned_with_boundary>

40004f9c:	92 10 20 00 	clr  %o1
                                      
  if ( !return_this ) {
                                              
40004fa0:	b0 92 20 00 	orcc  %o0, 0, %i0
                             
40004fa4:	02 80 00 06 	be  40004fbc <malloc+0x38>
                    
40004fa8:	01 00 00 00 	nop 
                                          
    errno = ENOMEM;
                                                  
    return (void *) 0;
                                               
  }
                                                                  

                                                                     
  return return_this;
                                                
}
                                                                    
40004fac:	81 c7 e0 08 	ret 
                                          
40004fb0:	81 e8 00 00 	restore 
                                      
40004fb4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40004fb8:	91 e8 20 00 	restore  %g0, 0, %o0
                          <== NOT EXECUTED
    errno = ENOMEM;
                                                  
40004fbc:	40 00 29 47 	call  4000f4d8 <__errno>
                      
40004fc0:	01 00 00 00 	nop 
                                          
40004fc4:	82 10 20 0c 	mov  0xc, %g1	! c <_TLS_Alignment+0xb>
        
40004fc8:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
    return (void *) 0;
                                               
40004fcc:	81 c7 e0 08 	ret 
                                          
40004fd0:	81 e8 00 00 	restore 
                                      

                                                                     

400050f4 <mount>: const char *target, const char *filesystemtype, rtems_filesystem_options_t options, const void *data ) {
400050f4:	9d e3 bf 50 	save  %sp, -176, %sp
                          
  int rv = 0;
                                                        

                                                                     
  if (
                                                               
400050f8:	80 a6 e0 01 	cmp  %i3, 1
                                   
400050fc:	18 80 00 b2 	bgu  400053c4 <mount+0x2d0>
                   
40005100:	01 00 00 00 	nop 
                                          
    options == RTEMS_FILESYSTEM_READ_ONLY
                            
      || options == RTEMS_FILESYSTEM_READ_WRITE
                      
  ) {
                                                                
    rtems_filesystem_fsmount_me_t fsmount_me_h =
                     
40005104:	40 00 24 a2 	call  4000e38c <rtems_filesystem_get_mount_handler>

40005108:	90 10 00 1a 	mov  %i2, %o0
                                 
      rtems_filesystem_get_mount_handler( filesystemtype );
          

                                                                     
    if ( fsmount_me_h != NULL ) {
                                    
4000510c:	a2 92 20 00 	orcc  %o0, 0, %l1
                             
40005110:	02 80 00 ad 	be  400053c4 <mount+0x2d0>
                    <== NEVER TAKEN
40005114:	80 a6 60 00 	cmp  %i1, 0
                                   
  const char *target = target_or_null != NULL ? target_or_null : "/";

40005118:	02 80 00 78 	be  400052f8 <mount+0x204>
                    <== ALWAYS TAKEN
4000511c:	90 10 00 19 	mov  %i1, %o0
                                 
40005120:	40 00 2a 9d 	call  4000fb94 <strlen>
                       <== NOT EXECUTED
40005124:	a6 10 00 19 	mov  %i1, %l3
                                 <== NOT EXECUTED
40005128:	a4 02 20 01 	add  %o0, 1, %l2
                              <== NOT EXECUTED
  size_t filesystemtype_size = strlen( filesystemtype ) + 1;
         
4000512c:	40 00 2a 9a 	call  4000fb94 <strlen>
                       
40005130:	90 10 00 1a 	mov  %i2, %o0
                                 
    strlen( source_or_null ) + 1 : 0;
                                
40005134:	80 a6 20 00 	cmp  %i0, 0
                                   
  size_t filesystemtype_size = strlen( filesystemtype ) + 1;
         
40005138:	a8 02 20 01 	add  %o0, 1, %l4
                              
    strlen( source_or_null ) + 1 : 0;
                                
4000513c:	02 80 00 61 	be  400052c0 <mount+0x1cc>
                    <== ALWAYS TAKEN
40005140:	ba 02 20 65 	add  %o0, 0x65, %i5
                           
40005144:	40 00 2a 94 	call  4000fb94 <strlen>
                       <== NOT EXECUTED
40005148:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
  size_t size = sizeof( rtems_filesystem_mount_table_entry_t )
       
4000514c:	92 07 40 12 	add  %i5, %l2, %o1
                            <== NOT EXECUTED
    strlen( source_or_null ) + 1 : 0;
                                
40005150:	a0 02 20 01 	add  %o0, 1, %l0
                              <== NOT EXECUTED
  rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size );

40005154:	90 10 20 01 	mov  1, %o0
                                   <== NOT EXECUTED
40005158:	7f ff fe 31 	call  40004a1c <calloc>
                       <== NOT EXECUTED
4000515c:	92 02 40 10 	add  %o1, %l0, %o1
                            <== NOT EXECUTED
  if ( mt_entry != NULL ) {
                                          
40005160:	ba 92 20 00 	orcc  %o0, 0, %i5
                             <== NOT EXECUTED
40005164:	12 80 00 08 	bne  40005184 <mount+0x90>
                    <== NOT EXECUTED
40005168:	84 07 60 64 	add  %i5, 0x64, %g2
                           <== NOT EXECUTED

                                                                     
        if ( rv != 0 ) {
                                             
          free( mt_entry );
                                          
        }
                                                            
      } else {
                                                       
        errno = ENOMEM;
                                              
4000516c:	40 00 28 db 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
40005170:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
40005174:	82 10 20 0c 	mov  0xc, %g1
                                 <== NOT EXECUTED
40005178:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
4000517c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40005180:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    memcpy( str, filesystemtype, filesystemtype_size );
              
40005184:	92 10 00 1a 	mov  %i2, %o1
                                 <== NOT EXECUTED
40005188:	94 10 00 14 	mov  %l4, %o2
                                 <== NOT EXECUTED
4000518c:	40 00 29 60 	call  4000f70c <memcpy>
                       <== NOT EXECUTED
40005190:	90 10 00 02 	mov  %g2, %o0
                                 <== NOT EXECUTED
    mt_entry->type = str;
                                            
40005194:	d0 27 60 34 	st  %o0, [ %i5 + 0x34 ]
                       <== NOT EXECUTED
    str += filesystemtype_size;
                                      
40005198:	84 02 00 14 	add  %o0, %l4, %g2
                            <== NOT EXECUTED
      memcpy( str, source_or_null, source_size );
                    
4000519c:	94 10 00 10 	mov  %l0, %o2
                                 <== NOT EXECUTED
400051a0:	92 10 00 18 	mov  %i0, %o1
                                 <== NOT EXECUTED
400051a4:	40 00 29 5a 	call  4000f70c <memcpy>
                       <== NOT EXECUTED
400051a8:	90 10 00 02 	mov  %g2, %o0
                                 <== NOT EXECUTED
      mt_entry->dev = str;
                                           
400051ac:	d0 27 60 38 	st  %o0, [ %i5 + 0x38 ]
                       <== NOT EXECUTED
    rtems_filesystem_global_location_t *mt_fs_root =
                 
400051b0:	b4 07 60 40 	add  %i5, 0x40, %i2
                           <== NOT EXECUTED
      str += source_size;
                                            
400051b4:	a0 02 00 10 	add  %o0, %l0, %l0
                            <== NOT EXECUTED
    memcpy( str, target, target_size );
                              
400051b8:	94 10 00 12 	mov  %l2, %o2
                                 
400051bc:	92 10 00 13 	mov  %l3, %o1
                                 
400051c0:	40 00 29 53 	call  4000f70c <memcpy>
                       
400051c4:	90 10 00 10 	mov  %l0, %o0
                                 
    mt_entry->mounted = true;
                                        
400051c8:	82 10 20 01 	mov  1, %g1
                                   
400051cc:	c2 2f 60 28 	stb  %g1, [ %i5 + 0x28 ]
                      
    mt_entry->pathconf_limits_and_options = &rtems_filesystem_default_pathconf;

400051d0:	03 10 00 44 	sethi  %hi(0x40011000), %g1
                   
400051d4:	82 10 62 30 	or  %g1, 0x230, %g1	! 40011230 <rtems_filesystem_default_pathconf>

    mt_entry->target = str;
                                          
400051d8:	e0 27 60 30 	st  %l0, [ %i5 + 0x30 ]
                       
  void                *starting_address,
                             
  size_t               number_nodes,
                                 
  size_t               node_size
                                     
)
                                                                    
{
                                                                    
  _Chain_Initialize(
                                                 
400051dc:	96 10 20 24 	mov  0x24, %o3
                                
    mt_entry->pathconf_limits_and_options = &rtems_filesystem_default_pathconf;

400051e0:	c2 27 60 2c 	st  %g1, [ %i5 + 0x2c ]
                       
    mt_fs_root->reference_count = 1;
                                 
400051e4:	82 10 20 01 	mov  1, %g1
                                   
    mt_entry->mt_fs_root = mt_fs_root;
                               
400051e8:	f4 27 60 24 	st  %i2, [ %i5 + 0x24 ]
                       
400051ec:	94 10 20 01 	mov  1, %o2
                                   
    mt_fs_root->reference_count = 1;
                                 
400051f0:	c2 27 60 58 	st  %g1, [ %i5 + 0x58 ]
                       
400051f4:	92 10 00 1a 	mov  %i2, %o1
                                 
    mt_fs_root->location.mt_entry = mt_entry;
                        
400051f8:	fa 27 60 54 	st  %i5, [ %i5 + 0x54 ]
                       
400051fc:	90 07 60 14 	add  %i5, 0x14, %o0
                           
40005200:	40 00 08 d7 	call  4000755c <_Chain_Initialize>
            
40005204:	b6 0e e0 01 	and  %i3, 1, %i3
                              
        mt_entry->writeable = options == RTEMS_FILESYSTEM_READ_WRITE;

40005208:	f6 2f 60 29 	stb  %i3, [ %i5 + 0x29 ]
                      
        rv = (*fsmount_me_h)( mt_entry, data );
                      
4000520c:	92 10 00 1c 	mov  %i4, %o1
                                 
40005210:	9f c4 40 00 	call  %l1
                                     
40005214:	90 10 00 1d 	mov  %i5, %o0
                                 
        if ( rv == 0 ) {
                                             
40005218:	b0 92 20 00 	orcc  %o0, 0, %i0
                             
4000521c:	12 80 00 25 	bne  400052b0 <mount+0x1bc>
                   <== NEVER TAKEN
40005220:	80 a6 60 00 	cmp  %i1, 0
                                   
          if ( target != NULL ) {
                                    
40005224:	02 80 00 48 	be  40005344 <mount+0x250>
                    <== ALWAYS TAKEN
40005228:	94 10 20 1f 	mov  0x1f, %o2
                                
  rtems_filesystem_location_info_t *currentloc =
                     
4000522c:	92 10 00 19 	mov  %i1, %o1
                                 <== NOT EXECUTED
40005230:	40 00 03 02 	call  40005e38 <rtems_filesystem_eval_path_start>
<== NOT EXECUTED
40005234:	90 07 bf c8 	add  %fp, -56, %o0
                            <== NOT EXECUTED
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;

40005238:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       <== NOT EXECUTED
  return (*mt_entry->ops->are_nodes_equal_h)(
                        
4000523c:	c4 00 60 0c 	ld  [ %g1 + 0xc ], %g2
                        <== NOT EXECUTED
40005240:	c4 00 a0 10 	ld  [ %g2 + 0x10 ], %g2
                       <== NOT EXECUTED
40005244:	9f c0 80 00 	call  %g2
                                     <== NOT EXECUTED
40005248:	d2 00 60 24 	ld  [ %g1 + 0x24 ], %o1
                       <== NOT EXECUTED
  if ( !rtems_filesystem_location_is_instance_root( currentloc ) ) {
 
4000524c:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
40005250:	12 80 00 63 	bne  400053dc <mount+0x2e8>
                   <== NOT EXECUTED
40005254:	92 07 bf e0 	add  %fp, -32, %o1
                            <== NOT EXECUTED
  rtems_filesystem_location_copy_and_detach(
                         
40005258:	40 00 04 4e 	call  40006390 <rtems_filesystem_location_copy_and_detach>
<== NOT EXECUTED
4000525c:	90 07 bf b0 	add  %fp, -80, %o0
                            <== NOT EXECUTED
    mt_point_node = rtems_filesystem_location_transform_to_global( &targetloc );

40005260:	40 00 04 77 	call  4000643c <rtems_filesystem_location_transform_to_global>
<== NOT EXECUTED
40005264:	90 07 bf b0 	add  %fp, -80, %o0
                            <== NOT EXECUTED
    rv = (*mt_point_node->location.mt_entry->ops->mount_h)( mt_entry );

40005268:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       <== NOT EXECUTED
4000526c:	c2 00 60 0c 	ld  [ %g1 + 0xc ], %g1
                        <== NOT EXECUTED
    mt_entry->mt_point_node = mt_point_node;
                         
40005270:	d0 27 60 20 	st  %o0, [ %i5 + 0x20 ]
                       <== NOT EXECUTED
    mt_point_node = rtems_filesystem_location_transform_to_global( &targetloc );

40005274:	b8 10 00 08 	mov  %o0, %i4
                                 <== NOT EXECUTED
    rv = (*mt_point_node->location.mt_entry->ops->mount_h)( mt_entry );

40005278:	c2 00 60 2c 	ld  [ %g1 + 0x2c ], %g1
                       <== NOT EXECUTED
4000527c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40005280:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
    if ( rv == 0 ) {
                                                 
40005284:	b0 92 20 00 	orcc  %o0, 0, %i0
                             <== NOT EXECUTED
40005288:	02 80 00 20 	be  40005308 <mount+0x214>
                    <== NOT EXECUTED
4000528c:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
      rtems_filesystem_global_location_release( mt_point_node, true );

40005290:	40 00 03 fb 	call  4000627c <rtems_filesystem_global_location_release>
<== NOT EXECUTED
40005294:	92 10 20 01 	mov  1, %o1
                                   <== NOT EXECUTED
  rtems_filesystem_eval_path_cleanup( &ctx );
                        
40005298:	40 00 02 f4 	call  40005e68 <rtems_filesystem_eval_path_cleanup>
<== NOT EXECUTED
4000529c:	90 07 bf c8 	add  %fp, -56, %o0
                            <== NOT EXECUTED
            (*mt_entry->ops->fsunmount_me_h)( mt_entry );
            
400052a0:	c2 07 60 0c 	ld  [ %i5 + 0xc ], %g1
                        <== NOT EXECUTED
400052a4:	c2 00 60 34 	ld  [ %g1 + 0x34 ], %g1
                       <== NOT EXECUTED
400052a8:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400052ac:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
          free( mt_entry );
                                          
400052b0:	7f ff fe 26 	call  40004b48 <free>
                         <== NOT EXECUTED
400052b4:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
    errno = EINVAL;
                                                  
    rv = -1;
                                                         
  }
                                                                  

                                                                     
  return rv;
                                                         
}
                                                                    
400052b8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400052bc:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size );

400052c0:	92 07 40 12 	add  %i5, %l2, %o1
                            
400052c4:	7f ff fd d6 	call  40004a1c <calloc>
                       
400052c8:	90 10 20 01 	mov  1, %o0
                                   
  if ( mt_entry != NULL ) {
                                          
400052cc:	ba 92 20 00 	orcc  %o0, 0, %i5
                             
400052d0:	02 bf ff a7 	be  4000516c <mount+0x78>
                     <== NEVER TAKEN
400052d4:	84 07 60 64 	add  %i5, 0x64, %g2
                           
    memcpy( str, filesystemtype, filesystemtype_size );
              
400052d8:	92 10 00 1a 	mov  %i2, %o1
                                 
400052dc:	94 10 00 14 	mov  %l4, %o2
                                 
400052e0:	90 10 00 02 	mov  %g2, %o0
                                 
400052e4:	40 00 29 0a 	call  4000f70c <memcpy>
                       
400052e8:	b4 07 60 40 	add  %i5, 0x40, %i2
                           
    str += filesystemtype_size;
                                      
400052ec:	a0 02 00 14 	add  %o0, %l4, %l0
                            
    mt_entry->type = str;
                                            
400052f0:	10 bf ff b2 	b  400051b8 <mount+0xc4>
                      
400052f4:	d0 27 60 34 	st  %o0, [ %i5 + 0x34 ]
                       
  const char *target = target_or_null != NULL ? target_or_null : "/";

400052f8:	27 10 00 43 	sethi  %hi(0x40010c00), %l3
                   
400052fc:	a4 10 20 02 	mov  2, %l2
                                   
40005300:	10 bf ff 8b 	b  4000512c <mount+0x38>
                      
40005304:	a6 14 e1 70 	or  %l3, 0x170, %l3
                           
  rtems_libio_lock();
                                                
40005308:	7f ff fe 84 	call  40004d18 <rtems_libio_lock>
             <== NOT EXECUTED
4000530c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  old_last = tail->previous;
                                         
40005310:	03 10 00 4b 	sethi  %hi(0x40012c00), %g1
                   <== NOT EXECUTED
40005314:	82 10 63 9c 	or  %g1, 0x39c, %g1	! 40012f9c <rtems_filesystem_mount_table>
<== NOT EXECUTED
40005318:	c4 00 60 08 	ld  [ %g1 + 8 ], %g2
                          <== NOT EXECUTED
  the_node->next = tail;
                                             
4000531c:	86 00 60 04 	add  %g1, 4, %g3
                              <== NOT EXECUTED
  tail->previous = the_node;
                                         
40005320:	fa 20 60 08 	st  %i5, [ %g1 + 8 ]
                          <== NOT EXECUTED
  the_node->next = tail;
                                             
40005324:	c6 27 40 00 	st  %g3, [ %i5 ]
                              <== NOT EXECUTED
  old_last->next = the_node;
                                         
40005328:	fa 20 80 00 	st  %i5, [ %g2 ]
                              <== NOT EXECUTED
  rtems_libio_unlock();
                                              
4000532c:	7f ff fe 80 	call  40004d2c <rtems_libio_unlock>
           <== NOT EXECUTED
40005330:	c4 27 60 04 	st  %g2, [ %i5 + 4 ]
                          <== NOT EXECUTED
  rtems_filesystem_eval_path_cleanup( &ctx );
                        
40005334:	40 00 02 cd 	call  40005e68 <rtems_filesystem_eval_path_cleanup>
<== NOT EXECUTED
40005338:	90 07 bf c8 	add  %fp, -56, %o0
                            <== NOT EXECUTED
4000533c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40005340:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  rtems_libio_lock();
                                                
40005344:	7f ff fe 75 	call  40004d18 <rtems_libio_lock>
             
40005348:	01 00 00 00 	nop 
                                          
  return _Chain_Immutable_head( the_chain )->next;
                   
4000534c:	03 10 00 4b 	sethi  %hi(0x40012c00), %g1
                   
  if ( rtems_chain_is_empty( &rtems_filesystem_mount_table ) ) {
     
40005350:	c4 00 63 9c 	ld  [ %g1 + 0x39c ], %g2	! 40012f9c <rtems_filesystem_mount_table>

40005354:	82 10 63 9c 	or  %g1, 0x39c, %g1
                           
40005358:	86 00 60 04 	add  %g1, 4, %g3
                              
4000535c:	80 a0 80 03 	cmp  %g2, %g3
                                 
40005360:	12 80 00 27 	bne  400053fc <mount+0x308>
                   <== NEVER TAKEN
40005364:	01 00 00 00 	nop 
                                          
  old_last = tail->previous;
                                         
40005368:	c6 00 60 08 	ld  [ %g1 + 8 ], %g3
                          
  the_node->next = tail;
                                             
4000536c:	c4 27 40 00 	st  %g2, [ %i5 ]
                              
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );

40005370:	b8 07 60 24 	add  %i5, 0x24, %i4
                           
  tail->previous = the_node;
                                         
40005374:	fa 20 60 08 	st  %i5, [ %g1 + 8 ]
                          
  old_last->next = the_node;
                                         
40005378:	fa 20 c0 00 	st  %i5, [ %g3 ]
                              
  rtems_libio_unlock();
                                              
4000537c:	7f ff fe 6c 	call  40004d2c <rtems_libio_unlock>
           
40005380:	c6 27 60 04 	st  %g3, [ %i5 + 4 ]
                          
    rtems_filesystem_global_location_t *new_fs_root =
                
40005384:	40 00 03 84 	call  40006194 <rtems_filesystem_global_location_obtain>

40005388:	90 10 00 1c 	mov  %i4, %o0
                                 
4000538c:	b6 10 00 08 	mov  %o0, %i3
                                 
    rtems_filesystem_global_location_t *new_fs_current =
             
40005390:	40 00 03 81 	call  40006194 <rtems_filesystem_global_location_obtain>

40005394:	90 10 00 1c 	mov  %i4, %o0
                                 
      &rtems_filesystem_root,
                                        
40005398:	40 00 00 fa 	call  40005780 <rtems_current_user_env_get>
   
4000539c:	ba 10 00 08 	mov  %o0, %i5
                                 
    rtems_filesystem_global_location_assign(
                         
400053a0:	92 10 00 1b 	mov  %i3, %o1
                                 
400053a4:	40 00 03 d0 	call  400062e4 <rtems_filesystem_global_location_assign>

400053a8:	90 02 20 04 	add  %o0, 4, %o0
                              
      &rtems_filesystem_current,
                                     
400053ac:	40 00 00 f5 	call  40005780 <rtems_current_user_env_get>
   
400053b0:	01 00 00 00 	nop 
                                          
    rtems_filesystem_global_location_assign(
                         
400053b4:	40 00 03 cc 	call  400062e4 <rtems_filesystem_global_location_assign>

400053b8:	92 10 00 1d 	mov  %i5, %o1
                                 
400053bc:	81 c7 e0 08 	ret 
                                          
400053c0:	81 e8 00 00 	restore 
                                      
    errno = EINVAL;
                                                  
400053c4:	40 00 28 45 	call  4000f4d8 <__errno>
                      
400053c8:	b0 10 3f ff 	mov  -1, %i0
                                  
400053cc:	82 10 20 16 	mov  0x16, %g1
                                
400053d0:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
  return rv;
                                                         
400053d4:	81 c7 e0 08 	ret 
                                          
400053d8:	81 e8 00 00 	restore 
                                      
    rtems_filesystem_eval_path_error( &ctx, EBUSY );
                 
400053dc:	90 07 bf c8 	add  %fp, -56, %o0
                            <== NOT EXECUTED
400053e0:	40 00 01 db 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
400053e4:	92 10 20 10 	mov  0x10, %o1
                                <== NOT EXECUTED
    rv = -1;
                                                         
400053e8:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
  rtems_filesystem_eval_path_cleanup( &ctx );
                        
400053ec:	40 00 02 9f 	call  40005e68 <rtems_filesystem_eval_path_cleanup>
<== NOT EXECUTED
400053f0:	90 07 bf c8 	add  %fp, -56, %o0
                            <== NOT EXECUTED
            (*mt_entry->ops->fsunmount_me_h)( mt_entry );
            
400053f4:	10 bf ff ac 	b  400052a4 <mount+0x1b0>
                     <== NOT EXECUTED
400053f8:	c2 07 60 0c 	ld  [ %i5 + 0xc ], %g1
                        <== NOT EXECUTED
    errno = EINVAL;
                                                  
400053fc:	40 00 28 37 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
40005400:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
40005404:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
40005408:	7f ff fe 49 	call  40004d2c <rtems_libio_unlock>
           <== NOT EXECUTED
4000540c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
            (*mt_entry->ops->fsunmount_me_h)( mt_entry );
            
40005410:	10 bf ff a5 	b  400052a4 <mount+0x1b0>
                     <== NOT EXECUTED
40005414:	c2 07 60 0c 	ld  [ %i5 + 0xc ], %g1
                        <== NOT EXECUTED

                                                                     

40004a2c <mount_and_make_target_path>: const char *target, const char *filesystemtype, rtems_filesystem_options_t options, const void *data ) {
40004a2c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  int rv = -1;
                                                       

                                                                     
  if (target != NULL) {
                                              
40004a30:	90 96 60 00 	orcc  %i1, 0, %o0
                             
40004a34:	02 80 00 0b 	be  40004a60 <mount_and_make_target_path+0x34>

40004a38:	01 00 00 00 	nop 
                                          
    rv = rtems_mkdir(target, S_IRWXU | S_IRWXG | S_IRWXO);
           
40004a3c:	40 00 01 de 	call  400051b4 <rtems_mkdir>
                  
40004a40:	92 10 21 ff 	mov  0x1ff, %o1	! 1ff <SPARC_THREAD_CONTROL_FP_CONTEXT_OFFSET+0xaf>

    if (rv == 0) {
                                                   
40004a44:	80 a2 20 00 	cmp  %o0, 0
                                   
40004a48:	02 80 00 04 	be  40004a58 <mount_and_make_target_path+0x2c>
<== ALWAYS TAKEN
40004a4c:	01 00 00 00 	nop 
                                          
  } else {
                                                           
    errno = EINVAL;
                                                  
  }
                                                                  

                                                                     
  return rv;
                                                         
}
                                                                    
40004a50:	81 c7 e0 08 	ret 
                                          
40004a54:	91 e8 00 08 	restore  %g0, %o0, %o0
                        
      rv = mount(
                                                    
40004a58:	40 00 00 08 	call  40004a78 <mount>
                        <== NOT EXECUTED
40004a5c:	81 e8 00 00 	restore 
                                      
    errno = EINVAL;
                                                  
40004a60:	40 00 24 48 	call  4000db80 <__errno>
                      
40004a64:	01 00 00 00 	nop 
                                          
40004a68:	82 10 20 16 	mov  0x16, %g1	! 16 <_TLS_Alignment+0x15>
     
40004a6c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
  return rv;
                                                         
40004a70:	10 bf ff f8 	b  40004a50 <mount_and_make_target_path+0x24>
 
40004a74:	90 10 3f ff 	mov  -1, %o0
                                  

                                                                     

40005514 <open>: /** * POSIX 1003.1 5.3.1 - Open a File */ int open( const char *path, int oflag, ... ) {
40005514:	9d e3 bf 00 	save  %sp, -256, %sp
                          
  mode_t mode = 0;
                                                   
  rtems_libio_t *iop = NULL;
                                         

                                                                     
  va_start( ap, oflag );
                                             

                                                                     
  mode = va_arg( ap, mode_t );
                                       
40005518:	82 07 a0 50 	add  %fp, 0x50, %g1
                           
  va_start( ap, oflag );
                                             
4000551c:	fa 27 a0 58 	st  %i5, [ %fp + 0x58 ]
                       
40005520:	f4 27 a0 4c 	st  %i2, [ %fp + 0x4c ]
                       
40005524:	f6 27 a0 50 	st  %i3, [ %fp + 0x50 ]
                       
40005528:	f8 27 a0 54 	st  %i4, [ %fp + 0x54 ]
                       

                                                                     
  iop = rtems_libio_allocate();
                                      
4000552c:	40 00 23 3a 	call  4000e214 <rtems_libio_allocate>
         
40005530:	c2 27 bf 64 	st  %g1, [ %fp + -156 ]
                       
  if ( iop != NULL ) {
                                               
40005534:	ba 92 20 00 	orcc  %o0, 0, %i5
                             
40005538:	02 80 00 76 	be  40005710 <open+0x1fc>
                     
4000553c:	82 06 60 01 	add  %i1, 1, %g1
                              
  bool make = (oflag & O_CREAT) == O_CREAT;
                          
40005540:	86 0e 62 00 	and  %i1, 0x200, %g3
                          
  bool read_access = (rwflag & _FREAD) == _FREAD;
                    
40005544:	94 08 60 01 	and  %g1, 1, %o2
                              
  bool exclusive = (oflag & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL);

40005548:	84 0e 6a 00 	and  %i1, 0xa00, %g2
                          
    | (read_access ? RTEMS_FS_PERMS_READ : 0)
                        
4000554c:	94 02 bf ff 	add  %o2, -1, %o2
                             
    | (write_access ? RTEMS_FS_PERMS_WRITE : 0)
                      
40005550:	b8 88 60 02 	andcc  %g1, 2, %i4
                            
    | (read_access ? RTEMS_FS_PERMS_READ : 0)
                        
40005554:	94 0a bf fc 	and  %o2, -4, %o2
                             
    | (write_access ? RTEMS_FS_PERMS_WRITE : 0)
                      
40005558:	02 80 00 03 	be  40005564 <open+0x50>
                      
4000555c:	94 02 a0 1c 	add  %o2, 0x1c, %o2
                           
40005560:	94 12 a0 02 	or  %o2, 2, %o2
                               
    | (make ? RTEMS_FS_MAKE : 0)
                                     
40005564:	80 a0 e0 00 	cmp  %g3, 0
                                   
40005568:	32 80 00 02 	bne,a   40005570 <open+0x5c>
                  
4000556c:	94 12 a0 20 	or  %o2, 0x20, %o2
                            
    | (exclusive ?  RTEMS_FS_EXCLUSIVE : 0);
                         
40005570:	80 a0 aa 00 	cmp  %g2, 0xa00
                               
40005574:	22 80 00 02 	be,a   4000557c <open+0x68>
                   <== NEVER TAKEN
40005578:	94 12 a0 40 	or  %o2, 0x40, %o2
                            <== NOT EXECUTED
  rtems_filesystem_eval_path_start( &ctx, path, eval_flags );
        
4000557c:	92 10 00 18 	mov  %i0, %o1
                                 
40005580:	40 00 02 2e 	call  40005e38 <rtems_filesystem_eval_path_start>

40005584:	90 07 bf 68 	add  %fp, -152, %o0
                           
40005588:	f6 07 bf 74 	ld  [ %fp + -140 ], %i3
                       
  if ( rtems_filesystem_eval_path_has_token( &ctx ) ) {
              
4000558c:	80 a6 e0 00 	cmp  %i3, 0
                                   
40005590:	12 80 00 45 	bne  400056a4 <open+0x190>
                    
40005594:	80 a7 20 00 	cmp  %i4, 0
                                   
  if ( write_access ) {
                                              
40005598:	02 80 00 0e 	be  400055d0 <open+0xbc>
                      
4000559c:	c2 07 bf 90 	ld  [ %fp + -112 ], %g1
                       
  const rtems_filesystem_location_info_t *loc
                        
)
                                                                    
{
                                                                    
  struct stat st;
                                                    

                                                                     
  st.st_mode = 0;
                                                    
400055a0:	c0 27 bf ac 	clr  [ %fp + -84 ]
                            
  (void) ( *loc->handlers->fstat_h )( loc, &st );
                    
400055a4:	92 07 bf a0 	add  %fp, -96, %o1
                            
400055a8:	c2 00 60 18 	ld  [ %g1 + 0x18 ], %g1
                       
400055ac:	9f c0 40 00 	call  %g1
                                     
400055b0:	90 07 bf 80 	add  %fp, -128, %o0
                           
    if ( S_ISDIR( type ) ) {
                                         
400055b4:	05 00 00 3c 	sethi  %hi(0xf000), %g2
                       
400055b8:	c2 07 bf ac 	ld  [ %fp + -84 ], %g1
                        
400055bc:	82 08 40 02 	and  %g1, %g2, %g1
                            
400055c0:	05 00 00 10 	sethi  %hi(0x4000), %g2
                       
400055c4:	80 a0 40 02 	cmp  %g1, %g2
                                 
400055c8:	02 80 00 4e 	be  40005700 <open+0x1ec>
                     <== NEVER TAKEN
400055cc:	92 10 20 15 	mov  0x15, %o1
                                
  rtems_filesystem_location_copy_and_detach(
                         
400055d0:	92 07 bf 80 	add  %fp, -128, %o1
                           
400055d4:	40 00 03 6f 	call  40006390 <rtems_filesystem_location_copy_and_detach>

400055d8:	90 07 60 0c 	add  %i5, 0xc, %o0
                            
  rtems_filesystem_eval_path_cleanup( &ctx );
                        
400055dc:	40 00 02 23 	call  40005e68 <rtems_filesystem_eval_path_cleanup>

400055e0:	90 07 bf 68 	add  %fp, -152, %o0
                           
  _Atomic_Store_uint(
                                                
400055e4:	40 00 22 ff 	call  4000e1e0 <rtems_libio_fcntl_flags>
      
400055e8:	90 10 00 19 	mov  %i1, %o0
                                 
  rv = (*iop->pathinfo.handlers->open_h)( iop, path, oflag, mode );
  
400055ec:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       
#elif defined(_RTEMS_SCORE_CPUSTDATOMIC_USE_STDATOMIC)
               
  atomic_store_explicit( obj, desired, order );
                      
#else
                                                                
  (void) order;
                                                      
  RTEMS_COMPILER_MEMORY_BARRIER();
                                   
  *obj = desired;
                                                    
400055f0:	d0 27 60 08 	st  %o0, [ %i5 + 8 ]
                          
400055f4:	92 10 00 18 	mov  %i0, %o1
                                 
400055f8:	c2 00 40 00 	ld  [ %g1 ], %g1
                              
400055fc:	96 10 00 1a 	mov  %i2, %o3
                                 
40005600:	94 10 00 19 	mov  %i1, %o2
                                 
40005604:	9f c0 40 00 	call  %g1
                                     
40005608:	90 10 00 1d 	mov  %i5, %o0
                                 
  if ( rv == 0 ) {
                                                   
4000560c:	b0 92 20 00 	orcc  %o0, 0, %i0
                             
40005610:	12 80 00 13 	bne  4000565c <open+0x148>
                    
40005614:	80 a6 20 00 	cmp  %i0, 0
                                   
  int fd = rtems_libio_iop_to_descriptor( iop );
                     
40005618:	31 10 00 51 	sethi  %hi(0x40014400), %i0
                   
4000561c:	03 2a aa aa 	sethi  %hi(0xaaaaa800), %g1
                   
40005620:	b0 16 20 48 	or  %i0, 0x48, %i0
                            <== NOT EXECUTED
40005624:	82 10 62 ab 	or  %g1, 0x2ab, %g1
                           <== NOT EXECUTED
40005628:	b0 27 40 18 	sub  %i5, %i0, %i0
                            <== NOT EXECUTED
4000562c:	b1 3e 20 04 	sra  %i0, 4, %i0
                              <== NOT EXECUTED
40005630:	b0 5e 00 01 	smul  %i0, %g1, %i0
                           <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40005634:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  ISR_Level level;
                                                   

                                                                     
  (void) order;
                                                      
  _ISR_Local_disable( level );
                                       
  val = *obj;
                                                        
  *obj = val | arg;
                                                  
40005638:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4000563c:	84 10 a1 00 	or  %g2, 0x100, %g2
                           <== NOT EXECUTED
40005640:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40005644:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40005648:	01 00 00 00 	nop 
                                          
    if ( truncate ) {
                                                
4000564c:	80 8e 64 00 	btst  0x400, %i1
                              
40005650:	12 80 00 07 	bne  4000566c <open+0x158>
                    <== NEVER TAKEN
40005654:	92 10 20 00 	clr  %o1
                                      
  if ( rv < 0 ) {
                                                    
40005658:	80 a6 20 00 	cmp  %i0, 0
                                   
4000565c:	06 80 00 0e 	bl  40005694 <open+0x180>
                     
40005660:	01 00 00 00 	nop 
                                          
  }
                                                                  

                                                                     
  va_end( ap );
                                                      

                                                                     
  return rv;
                                                         
}
                                                                    
40005664:	81 c7 e0 08 	ret 
                                          
40005668:	81 e8 00 00 	restore 
                                      
      rv = ftruncate( fd, 0 );
                                       
4000566c:	94 10 20 00 	clr  %o2
                                      <== NOT EXECUTED
40005670:	40 00 22 93 	call  4000e0bc <ftruncate>
                    <== NOT EXECUTED
40005674:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
      if ( rv != 0 ) {
                                               
40005678:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
4000567c:	02 bf ff f7 	be  40005658 <open+0x144>
                     <== NOT EXECUTED
40005680:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
        (*iop->pathinfo.handlers->close_h)( iop );
                   
40005684:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       <== NOT EXECUTED
40005688:	c2 00 60 04 	ld  [ %g1 + 4 ], %g1
                          <== NOT EXECUTED
4000568c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40005690:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
    rtems_libio_free( iop );
                                         
40005694:	40 00 22 f5 	call  4000e268 <rtems_libio_free>
             
40005698:	90 10 00 1d 	mov  %i5, %o0
                                 
4000569c:	81 c7 e0 08 	ret 
                                          
400056a0:	81 e8 00 00 	restore 
                                      
400056a4:	e0 07 bf 70 	ld  [ %fp + -144 ], %l0
                       
  rv = rtems_filesystem_mknod(
                                       
400056a8:	98 10 20 00 	clr  %o4
                                      
400056ac:	9a 10 20 00 	clr  %o5
                                      
400056b0:	17 00 00 20 	sethi  %hi(0x8000), %o3
                       
400056b4:	94 10 00 1b 	mov  %i3, %o2
                                 
400056b8:	96 16 80 0b 	or  %i2, %o3, %o3
                             
400056bc:	92 10 00 10 	mov  %l0, %o1
                                 
400056c0:	7f ff fe 4c 	call  40004ff0 <rtems_filesystem_mknod>
       
400056c4:	90 07 bf 80 	add  %fp, -128, %o0
                           
  if ( rv == 0 ) {
                                                   
400056c8:	80 a2 20 00 	cmp  %o0, 0
                                   
400056cc:	02 80 00 06 	be  400056e4 <open+0x1d0>
                     <== ALWAYS TAKEN
400056d0:	92 10 20 00 	clr  %o1
                                      
    rtems_filesystem_eval_path_error( ctx, 0 );
                      
400056d4:	40 00 01 1e 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
400056d8:	90 07 bf 68 	add  %fp, -152, %o0
                           <== NOT EXECUTED
  if ( write_access ) {
                                              
400056dc:	10 bf ff af 	b  40005598 <open+0x84>
                       <== NOT EXECUTED
400056e0:	80 a7 20 00 	cmp  %i4, 0
                                   <== NOT EXECUTED
  ctx->flags = flags;
                                                
400056e4:	c0 27 bf 78 	clr  [ %fp + -136 ]
                           
    rtems_filesystem_eval_path_continue( ctx );
                      
400056e8:	90 07 bf 68 	add  %fp, -152, %o0
                           
  ctx->path = path;
                                                  
400056ec:	e0 27 bf 68 	st  %l0, [ %fp + -152 ]
                       
400056f0:	40 00 01 5f 	call  40005c6c <rtems_filesystem_eval_path_continue>

400056f4:	f6 27 bf 6c 	st  %i3, [ %fp + -148 ]
                       
  if ( write_access ) {
                                              
400056f8:	10 bf ff a8 	b  40005598 <open+0x84>
                       
400056fc:	80 a7 20 00 	cmp  %i4, 0
                                   
      rtems_filesystem_eval_path_error( &ctx, EISDIR );
              
40005700:	40 00 01 13 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005704:	90 07 bf 68 	add  %fp, -152, %o0
                           <== NOT EXECUTED
  rtems_filesystem_location_copy_and_detach(
                         
40005708:	10 bf ff b3 	b  400055d4 <open+0xc0>
                       <== NOT EXECUTED
4000570c:	92 07 bf 80 	add  %fp, -128, %o1
                           <== NOT EXECUTED
    errno = ENFILE;
                                                  
40005710:	40 00 27 72 	call  4000f4d8 <__errno>
                      
40005714:	b0 10 3f ff 	mov  -1, %i0
                                  
40005718:	82 10 20 17 	mov  0x17, %g1
                                
4000571c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
}
                                                                    
40005720:	81 c7 e0 08 	ret 
                                          
40005724:	81 e8 00 00 	restore 
                                      

                                                                     

4001c3f0 <read>: ssize_t read( int fd, void *buffer, size_t count ) {
4001c3f0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_libio_t *iop;
                                                
  ssize_t        n;
                                                  

                                                                     
  rtems_libio_check_buffer( buffer );
                                
4001c3f4:	80 a6 60 00 	cmp  %i1, 0
                                   
4001c3f8:	02 80 00 32 	be  4001c4c0 <read+0xd0>
                      <== NEVER TAKEN
4001c3fc:	80 a6 a0 00 	cmp  %i2, 0
                                   
  rtems_libio_check_count( count );
                                  
4001c400:	02 80 00 22 	be  4001c488 <read+0x98>
                      <== NEVER TAKEN
4001c404:	84 10 20 00 	clr  %g2
                                      

                                                                     
  LIBIO_GET_IOP_WITH_ACCESS( fd, iop, LIBIO_FLAGS_READ, EBADF );
     
4001c408:	03 10 00 73 	sethi  %hi(0x4001cc00), %g1
                   
4001c40c:	c2 00 62 90 	ld  [ %g1 + 0x290 ], %g1	! 4001ce90 <rtems_libio_number_iops>

4001c410:	80 a6 00 01 	cmp  %i0, %g1
                                 
4001c414:	1a 80 00 25 	bcc  4001c4a8 <read+0xb8>
                     <== NEVER TAKEN
4001c418:	bb 2e 20 01 	sll  %i0, 1, %i5
                              <== NOT EXECUTED
4001c41c:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
4001c420:	31 10 00 84 	sethi  %hi(0x40021000), %i0
                   <== NOT EXECUTED
4001c424:	bb 2f 60 04 	sll  %i5, 4, %i5
                              <== NOT EXECUTED
4001c428:	b0 16 23 c0 	or  %i0, 0x3c0, %i0
                           <== NOT EXECUTED
4001c42c:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c430:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  val = *obj;
                                                        
4001c434:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
4001c438:	86 20 b0 00 	sub  %g2, -4096, %g3
                          <== NOT EXECUTED
4001c43c:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c440:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c444:	01 00 00 00 	nop 
                                          
4001c448:	84 08 a1 02 	and  %g2, 0x102, %g2
                          
4001c44c:	80 a0 a1 02 	cmp  %g2, 0x102
                               
4001c450:	12 80 00 10 	bne  4001c490 <read+0xa0>
                     <== NEVER TAKEN
4001c454:	94 10 00 1a 	mov  %i2, %o2
                                 

                                                                     
  /*
                                                                 
   *  Now process the read().
                                        
   */
                                                                
  n = (*iop->pathinfo.handlers->read_h)( iop, buffer, count );
       
4001c458:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       
4001c45c:	c2 00 60 08 	ld  [ %g1 + 8 ], %g1
                          
4001c460:	92 10 00 19 	mov  %i1, %o1
                                 
4001c464:	9f c0 40 00 	call  %g1
                                     
4001c468:	90 10 00 1d 	mov  %i5, %o0
                                 
4001c46c:	84 10 00 08 	mov  %o0, %g2
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c470:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
4001c474:	c6 07 60 08 	ld  [ %i5 + 8 ], %g3
                          <== NOT EXECUTED
4001c478:	86 00 f0 00 	add  %g3, -4096, %g3
                          <== NOT EXECUTED
4001c47c:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c480:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c484:	01 00 00 00 	nop 
                                          
  rtems_libio_iop_drop( iop );
                                       
  return n;
                                                          
}
                                                                    
4001c488:	81 c7 e0 08 	ret 
                                          
4001c48c:	91 e8 00 02 	restore  %g0, %g2, %o0
                        
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c490:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
4001c494:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4001c498:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
4001c49c:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c4a0:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c4a4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  LIBIO_GET_IOP_WITH_ACCESS( fd, iop, LIBIO_FLAGS_READ, EBADF );
     
4001c4a8:	7f ff d9 8f 	call  40012ae4 <__errno>
                      <== NOT EXECUTED
4001c4ac:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4001c4b0:	82 10 20 09 	mov  9, %g1	! 9 <_TLS_Alignment+0x8>
          <== NOT EXECUTED
4001c4b4:	84 10 3f ff 	mov  -1, %g2
                                  <== NOT EXECUTED
4001c4b8:	10 bf ff f4 	b  4001c488 <read+0x98>
                       <== NOT EXECUTED
4001c4bc:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
  rtems_libio_check_buffer( buffer );
                                
4001c4c0:	7f ff d9 89 	call  40012ae4 <__errno>
                      <== NOT EXECUTED
4001c4c4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4001c4c8:	82 10 20 16 	mov  0x16, %g1	! 16 <_TLS_Alignment+0x15>
     <== NOT EXECUTED
4001c4cc:	84 10 3f ff 	mov  -1, %g2
                                  <== NOT EXECUTED
4001c4d0:	10 bf ff ee 	b  4001c488 <read+0x98>
                       <== NOT EXECUTED
4001c4d4:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED

                                                                     

4001c524 <realloc>: return new_ptr; } void *realloc( void *ptr, size_t size ) {
4001c524:	9d e3 bf 98 	save  %sp, -104, %sp
                          <== NOT EXECUTED
  Heap_Control       *heap;
                                          
  Heap_Resize_status  status;
                                        
  uintptr_t           old_size;
                                      
  uintptr_t           avail_size;
                                    

                                                                     
  if ( size == 0 ) {
                                                 
4001c528:	80 a6 60 00 	cmp  %i1, 0
                                   <== NOT EXECUTED
4001c52c:	02 80 00 40 	be  4001c62c <realloc+0x108>
                  <== NOT EXECUTED
4001c530:	80 a6 20 00 	cmp  %i0, 0
                                   <== NOT EXECUTED
    free( ptr );
                                                     
    return NULL;
                                                     
  }
                                                                  

                                                                     
  if ( ptr == NULL ) {
                                               
4001c534:	02 80 00 34 	be  4001c604 <realloc+0xe0>
                   <== NOT EXECUTED
4001c538:	03 10 00 7f 	sethi  %hi(0x4001fc00), %g1
                   <== NOT EXECUTED
    return malloc( size );
                                           
  }
                                                                  

                                                                     
  heap = RTEMS_Malloc_Heap;
                                          

                                                                     
  switch ( _Malloc_System_state() ) {
                                
4001c53c:	7f ff ae 76 	call  40007f14 <_Malloc_System_state>
         <== NOT EXECUTED
4001c540:	fa 00 62 24 	ld  [ %g1 + 0x224 ], %i5	! 4001fe24 <RTEMS_Malloc_Heap>
<== NOT EXECUTED
4001c544:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
4001c548:	02 80 00 21 	be  4001c5cc <realloc+0xa8>
                   <== NOT EXECUTED
4001c54c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4001c550:	80 a2 20 01 	cmp  %o0, 1
                                   <== NOT EXECUTED
4001c554:	32 80 00 2e 	bne,a   4001c60c <realloc+0xe8>
               <== NOT EXECUTED
4001c558:	ba 10 20 00 	clr  %i5
                                      <== NOT EXECUTED
      _Malloc_Process_deferred_frees();
                              
      status = _Heap_Resize_block( heap, ptr, size, &old_size, &avail_size );

      _RTEMS_Unlock_allocator();
                                     
      break;
                                                         
    case MALLOC_SYSTEM_STATE_NO_PROTECTION:
                          
      status = _Heap_Resize_block( heap, ptr, size, &old_size, &avail_size );

4001c55c:	98 07 bf fc 	add  %fp, -4, %o4
                             <== NOT EXECUTED
4001c560:	96 07 bf f8 	add  %fp, -8, %o3
                             <== NOT EXECUTED
4001c564:	94 10 00 19 	mov  %i1, %o2
                                 <== NOT EXECUTED
4001c568:	92 10 00 18 	mov  %i0, %o1
                                 <== NOT EXECUTED
4001c56c:	40 00 00 6e 	call  4001c724 <_Heap_Resize_block>
           <== NOT EXECUTED
4001c570:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
4001c574:	b8 10 00 08 	mov  %o0, %i4
                                 <== NOT EXECUTED
      break;
                                                         
    default:
                                                         
      return NULL;
                                                   
  }
                                                                  

                                                                     
  switch ( status ) {
                                                
4001c578:	80 a7 20 00 	cmp  %i4, 0
                                   <== NOT EXECUTED
4001c57c:	02 80 00 12 	be  4001c5c4 <realloc+0xa0>
                   <== NOT EXECUTED
4001c580:	ba 10 00 18 	mov  %i0, %i5
                                 <== NOT EXECUTED
4001c584:	80 a7 20 01 	cmp  %i4, 1
                                   <== NOT EXECUTED
4001c588:	12 80 00 23 	bne  4001c614 <realloc+0xf0>
                  <== NOT EXECUTED
4001c58c:	f8 07 bf f8 	ld  [ %fp + -8 ], %i4
                         <== NOT EXECUTED
  new_ptr = malloc( new_size );
                                      
4001c590:	7f ff ae f2 	call  40008158 <malloc>
                       <== NOT EXECUTED
4001c594:	90 10 00 19 	mov  %i1, %o0
                                 <== NOT EXECUTED
  if ( new_ptr == NULL ) {
                                           
4001c598:	ba 92 20 00 	orcc  %o0, 0, %i5
                             <== NOT EXECUTED
4001c59c:	02 80 00 0a 	be  4001c5c4 <realloc+0xa0>
                   <== NOT EXECUTED
4001c5a0:	80 a7 00 19 	cmp  %i4, %i1
                                 <== NOT EXECUTED
  memcpy( new_ptr, old_ptr, ( new_size < old_size ) ? new_size : old_size );

4001c5a4:	08 80 00 03 	bleu  4001c5b0 <realloc+0x8c>
                 <== NOT EXECUTED
4001c5a8:	94 10 00 1c 	mov  %i4, %o2
                                 <== NOT EXECUTED
4001c5ac:	94 10 00 19 	mov  %i1, %o2
                                 <== NOT EXECUTED
4001c5b0:	92 10 00 18 	mov  %i0, %o1
                                 <== NOT EXECUTED
4001c5b4:	7f ff db 1c 	call  40013224 <memcpy>
                       <== NOT EXECUTED
4001c5b8:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
  free( old_ptr );
                                                   
4001c5bc:	7f ff ad d8 	call  40007d1c <free>
                         <== NOT EXECUTED
4001c5c0:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
      return new_alloc( ptr, size, old_size );
                       
    default:
                                                         
      errno = EINVAL;
                                                
      return NULL;
                                                   
  }
                                                                  
}
                                                                    
4001c5c4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4001c5c8:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED
      _RTEMS_Lock_allocator();
                                       
4001c5cc:	7f ff b8 90 	call  4000a80c <_RTEMS_Lock_allocator>
        <== NOT EXECUTED
4001c5d0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
      _Malloc_Process_deferred_frees();
                              
4001c5d4:	7f ff ae 5f 	call  40007f50 <_Malloc_Process_deferred_frees>
<== NOT EXECUTED
4001c5d8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
      status = _Heap_Resize_block( heap, ptr, size, &old_size, &avail_size );

4001c5dc:	98 07 bf fc 	add  %fp, -4, %o4
                             <== NOT EXECUTED
4001c5e0:	96 07 bf f8 	add  %fp, -8, %o3
                             <== NOT EXECUTED
4001c5e4:	94 10 00 19 	mov  %i1, %o2
                                 <== NOT EXECUTED
4001c5e8:	92 10 00 18 	mov  %i0, %o1
                                 <== NOT EXECUTED
4001c5ec:	40 00 00 4e 	call  4001c724 <_Heap_Resize_block>
           <== NOT EXECUTED
4001c5f0:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
      _RTEMS_Unlock_allocator();
                                     
4001c5f4:	7f ff b8 8b 	call  4000a820 <_RTEMS_Unlock_allocator>
      <== NOT EXECUTED
4001c5f8:	b8 10 00 08 	mov  %o0, %i4
                                 <== NOT EXECUTED
      break;
                                                         
4001c5fc:	10 bf ff e0 	b  4001c57c <realloc+0x58>
                    <== NOT EXECUTED
4001c600:	80 a7 20 00 	cmp  %i4, 0
                                   <== NOT EXECUTED
    return malloc( size );
                                           
4001c604:	7f ff ae d5 	call  40008158 <malloc>
                       <== NOT EXECUTED
4001c608:	91 e8 00 19 	restore  %g0, %i1, %o0
                        <== NOT EXECUTED
}
                                                                    
4001c60c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4001c610:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED
      errno = EINVAL;
                                                
4001c614:	7f ff d9 34 	call  40012ae4 <__errno>
                      <== NOT EXECUTED
4001c618:	ba 10 20 00 	clr  %i5
                                      <== NOT EXECUTED
4001c61c:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
4001c620:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
}
                                                                    
4001c624:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4001c628:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED
    free( ptr );
                                                     
4001c62c:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
4001c630:	7f ff ad bb 	call  40007d1c <free>
                         <== NOT EXECUTED
4001c634:	ba 10 20 00 	clr  %i5
                                      <== NOT EXECUTED
    return NULL;
                                                     
4001c638:	30 bf ff e3 	b,a   4001c5c4 <realloc+0xa0>
                 <== NOT EXECUTED

                                                                     

40005a50 <rmdir>: /** * POSIX 1003.1b - 5.2.2 - Remove a Directory */ int rmdir( const char *path ) {
40005a50:	9d e3 be f0 	save  %sp, -272, %sp
                          
  int eval_flags = RTEMS_FS_REJECT_TERMINAL_DOT;
                     
  rtems_filesystem_location_info_t parentloc;
                        
  int parent_eval_flags = RTEMS_FS_PERMS_WRITE
                       
    | RTEMS_FS_PERMS_EXEC
                                            
    | RTEMS_FS_FOLLOW_LINK;
                                          
  const rtems_filesystem_location_info_t *currentloc =
               
40005a54:	98 10 20 1b 	mov  0x1b, %o4
                                
40005a58:	94 10 21 00 	mov  0x100, %o2
                               
40005a5c:	92 10 00 18 	mov  %i0, %o1
                                 
40005a60:	96 07 bf 50 	add  %fp, -176, %o3
                           
40005a64:	40 00 01 d3 	call  400061b0 <rtems_filesystem_eval_path_start_with_parent>

40005a68:	90 07 bf 68 	add  %fp, -152, %o0
                           
      path,
                                                          
      eval_flags,
                                                    
      &parentloc,
                                                    
      parent_eval_flags
                                              
    );
                                                               
  const rtems_filesystem_operations_table *ops = currentloc->mt_entry->ops;

40005a6c:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       
40005a70:	f8 00 60 0c 	ld  [ %g1 + 0xc ], %i4
                        
  (void) ( *loc->handlers->fstat_h )( loc, &st );
                    
40005a74:	c2 02 20 10 	ld  [ %o0 + 0x10 ], %g1
                       
  st.st_mode = 0;
                                                    
40005a78:	c0 27 bf ac 	clr  [ %fp + -84 ]
                            
  const rtems_filesystem_location_info_t *currentloc =
               
40005a7c:	ba 10 00 08 	mov  %o0, %i5
                                 
  (void) ( *loc->handlers->fstat_h )( loc, &st );
                    
40005a80:	c2 00 60 18 	ld  [ %g1 + 0x18 ], %g1
                       
40005a84:	9f c0 40 00 	call  %g1
                                     
40005a88:	92 07 bf a0 	add  %fp, -96, %o1
                            
  mode_t type = rtems_filesystem_location_type( currentloc );
        

                                                                     
  if ( S_ISDIR( type ) ) {
                                           
40005a8c:	05 00 00 3c 	sethi  %hi(0xf000), %g2
                       
40005a90:	c2 07 bf ac 	ld  [ %fp + -84 ], %g1
                        
40005a94:	82 08 40 02 	and  %g1, %g2, %g1
                            
40005a98:	05 00 00 10 	sethi  %hi(0x4000), %g2
                       
40005a9c:	80 a0 40 02 	cmp  %g1, %g2
                                 
40005aa0:	12 80 00 15 	bne  40005af4 <rmdir+0xa4>
                    <== NEVER TAKEN
40005aa4:	92 10 20 14 	mov  0x14, %o1
                                
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;

40005aa8:	c2 07 60 14 	ld  [ %i5 + 0x14 ], %g1
                       
  return (*mt_entry->ops->are_nodes_equal_h)(
                        
40005aac:	c4 00 60 0c 	ld  [ %g1 + 0xc ], %g2
                        
40005ab0:	c4 00 a0 10 	ld  [ %g2 + 0x10 ], %g2
                       
40005ab4:	d2 00 60 24 	ld  [ %g1 + 0x24 ], %o1
                       
40005ab8:	9f c0 80 00 	call  %g2
                                     
40005abc:	90 10 00 1d 	mov  %i5, %o0
                                 
    if ( !rtems_filesystem_location_is_instance_root( currentloc ) ) {

40005ac0:	80 a2 20 00 	cmp  %o0, 0
                                   
40005ac4:	12 80 00 11 	bne  40005b08 <rmdir+0xb8>
                    <== NEVER TAKEN
40005ac8:	92 10 20 10 	mov  0x10, %o1
                                
      rv = (*ops->rmnod_h)( &parentloc, currentloc );
                
40005acc:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       
40005ad0:	92 10 00 1d 	mov  %i5, %o1
                                 
40005ad4:	9f c0 40 00 	call  %g1
                                     
40005ad8:	90 07 bf 50 	add  %fp, -176, %o0
                           
40005adc:	b0 10 00 08 	mov  %o0, %i0
                                 
  } else {
                                                           
    rtems_filesystem_eval_path_error( &ctx, ENOTDIR );
               
    rv = -1;
                                                         
  }
                                                                  

                                                                     
  rtems_filesystem_eval_path_cleanup_with_parent( &ctx, &parentloc );

40005ae0:	92 07 bf 50 	add  %fp, -176, %o1
                           
40005ae4:	40 00 02 00 	call  400062e4 <rtems_filesystem_eval_path_cleanup_with_parent>

40005ae8:	90 07 bf 68 	add  %fp, -152, %o0
                           

                                                                     
  return rv;
                                                         
}
                                                                    
40005aec:	81 c7 e0 08 	ret 
                                          
40005af0:	81 e8 00 00 	restore 
                                      
    rtems_filesystem_eval_path_error( &ctx, ENOTDIR );
               
40005af4:	90 07 bf 68 	add  %fp, -152, %o0
                           <== NOT EXECUTED
40005af8:	40 00 00 e7 	call  40005e94 <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005afc:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
  rtems_filesystem_eval_path_cleanup_with_parent( &ctx, &parentloc );

40005b00:	10 bf ff f9 	b  40005ae4 <rmdir+0x94>
                      <== NOT EXECUTED
40005b04:	92 07 bf 50 	add  %fp, -176, %o1
                           <== NOT EXECUTED
      rtems_filesystem_eval_path_error( &ctx, EBUSY );
               
40005b08:	90 07 bf 68 	add  %fp, -152, %o0
                           <== NOT EXECUTED
40005b0c:	40 00 00 e2 	call  40005e94 <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005b10:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
  rtems_filesystem_eval_path_cleanup_with_parent( &ctx, &parentloc );

40005b14:	10 bf ff f4 	b  40005ae4 <rmdir+0x94>
                      <== NOT EXECUTED
40005b18:	92 07 bf 50 	add  %fp, -176, %o1
                           <== NOT EXECUTED

                                                                     

40004c3c <rtems_assoc_32_to_string>: const rtems_assoc_32_pair *pairs, size_t pair_count, const char *separator, const char *fallback ) {
40004c3c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
40004c40:	a2 10 00 19 	mov  %i1, %l1
                                 
  size_t len;
                                                        
  size_t i;
                                                          

                                                                     
  len = 0;
                                                           

                                                                     
  for ( i = 0; i < pair_count ; ++i ) {
                              
40004c44:	80 a7 20 00 	cmp  %i4, 0
                                   
40004c48:	02 80 00 25 	be  40004cdc <rtems_assoc_32_to_string+0xa0>
  <== NEVER TAKEN
40004c4c:	f2 07 a0 5c 	ld  [ %fp + 0x5c ], %i1
                       
40004c50:	b9 2f 20 03 	sll  %i4, 3, %i4
                              
  len = 0;
                                                           
40004c54:	a0 10 20 00 	clr  %l0
                                      
40004c58:	b8 06 c0 1c 	add  %i3, %i4, %i4
                            
    const rtems_assoc_32_pair *p;
                                    

                                                                     
    p = &pairs[ i ];
                                                 

                                                                     
    if ( ( value & p->bits ) != 0 ) {
                                
40004c5c:	c2 06 c0 00 	ld  [ %i3 ], %g1
                              
40004c60:	80 8e 00 01 	btst  %i0, %g1
                                
40004c64:	22 80 00 16 	be,a   40004cbc <rtems_assoc_32_to_string+0x80>

40004c68:	b6 06 e0 08 	add  %i3, 8, %i3
                              
      if ( len > 0 ) {
                                               
40004c6c:	80 a4 20 00 	cmp  %l0, 0
                                   
40004c70:	02 80 00 0b 	be  40004c9c <rtems_assoc_32_to_string+0x60>
  
40004c74:	90 10 00 11 	mov  %l1, %o0
                                 
  if ( len < buffer_size ) {
                                         
40004c78:	80 a6 80 10 	cmp  %i2, %l0
                                 
        len += strlcpy( &buffer[ len ], separator, space( buffer_size, len ) );

40004c7c:	90 04 40 10 	add  %l1, %l0, %o0
                            
  if ( len < buffer_size ) {
                                         
40004c80:	08 80 00 03 	bleu  40004c8c <rtems_assoc_32_to_string+0x50>

40004c84:	94 10 20 00 	clr  %o2
                                      
    return buffer_size - len;
                                        
40004c88:	94 26 80 10 	sub  %i2, %l0, %o2
                            
        len += strlcpy( &buffer[ len ], separator, space( buffer_size, len ) );

40004c8c:	40 00 29 63 	call  4000f218 <strlcpy>
                      
40004c90:	92 10 00 1d 	mov  %i5, %o1
                                 
40004c94:	a0 04 00 08 	add  %l0, %o0, %l0
                            
40004c98:	90 04 40 10 	add  %l1, %l0, %o0
                            
      }
                                                              

                                                                     
      len += strlcpy( &buffer[ len ], p->name, space( buffer_size, len ) );

40004c9c:	d2 06 e0 04 	ld  [ %i3 + 4 ], %o1
                          
  if ( len < buffer_size ) {
                                         
40004ca0:	80 a4 00 1a 	cmp  %l0, %i2
                                 
40004ca4:	1a 80 00 03 	bcc  40004cb0 <rtems_assoc_32_to_string+0x74>
 
40004ca8:	94 10 20 00 	clr  %o2
                                      
    return buffer_size - len;
                                        
40004cac:	94 26 80 10 	sub  %i2, %l0, %o2
                            
      len += strlcpy( &buffer[ len ], p->name, space( buffer_size, len ) );

40004cb0:	40 00 29 5a 	call  4000f218 <strlcpy>
                      
40004cb4:	b6 06 e0 08 	add  %i3, 8, %i3
                              
40004cb8:	a0 04 00 08 	add  %l0, %o0, %l0
                            
  for ( i = 0; i < pair_count ; ++i ) {
                              
40004cbc:	80 a7 00 1b 	cmp  %i4, %i3
                                 
40004cc0:	32 bf ff e8 	bne,a   40004c60 <rtems_assoc_32_to_string+0x24>

40004cc4:	c2 06 c0 00 	ld  [ %i3 ], %g1
                              
    }
                                                                
  }
                                                                  

                                                                     
  if ( len == 0 ) {
                                                  
40004cc8:	80 a4 20 00 	cmp  %l0, 0
                                   
40004ccc:	02 80 00 04 	be  40004cdc <rtems_assoc_32_to_string+0xa0>
  
40004cd0:	b0 10 00 10 	mov  %l0, %i0
                                 
    len += strlcpy( buffer, fallback, buffer_size );
                 
  }
                                                                  

                                                                     
  return len;
                                                        
}
                                                                    
40004cd4:	81 c7 e0 08 	ret 
                                          
40004cd8:	81 e8 00 00 	restore 
                                      
    len += strlcpy( buffer, fallback, buffer_size );
                 
40004cdc:	40 00 29 4f 	call  4000f218 <strlcpy>
                      
40004ce0:	91 e8 00 11 	restore  %g0, %l1, %o0
                        

                                                                     

4000f2e4 <rtems_assoc_local_by_remote_bitfield>: uint32_t rtems_assoc_local_by_remote_bitfield( const rtems_assoc_t *ap, uint32_t remote_value ) {
4000f2e4:	9d e3 bf a0 	save  %sp, -96, %sp
                           
4000f2e8:	b8 10 20 20 	mov  0x20, %i4
                                
  uint32_t   b;
                                                      
  uint32_t   local_value = 0;
                                        
4000f2ec:	b6 10 20 00 	clr  %i3
                                      

                                                                     
  for (b = 1; b; b <<= 1) {
                                          
4000f2f0:	10 80 00 04 	b  4000f300 <rtems_assoc_local_by_remote_bitfield+0x1c>

4000f2f4:	ba 10 20 01 	mov  1, %i5
                                   
4000f2f8:	02 80 00 0c 	be  4000f328 <rtems_assoc_local_by_remote_bitfield+0x44>

4000f2fc:	bb 2f 60 01 	sll  %i5, 1, %i5
                              
    if (b & remote_value)
                                            
4000f300:	80 8e 40 1d 	btst  %i1, %i5
                                
4000f304:	22 bf ff fd 	be,a   4000f2f8 <rtems_assoc_local_by_remote_bitfield+0x14>

4000f308:	b8 87 3f ff 	addcc  %i4, -1, %i4
                           
      local_value |= rtems_assoc_local_by_remote(ap, b);
             
4000f30c:	92 10 00 1d 	mov  %i5, %o1
                                 
4000f310:	40 00 00 08 	call  4000f330 <rtems_assoc_local_by_remote>
  
4000f314:	90 10 00 18 	mov  %i0, %o0
                                 
  for (b = 1; b; b <<= 1) {
                                          
4000f318:	bb 2f 60 01 	sll  %i5, 1, %i5
                              
4000f31c:	b8 87 3f ff 	addcc  %i4, -1, %i4
                           
4000f320:	12 bf ff f8 	bne  4000f300 <rtems_assoc_local_by_remote_bitfield+0x1c>
<== ALWAYS TAKEN
4000f324:	b6 16 c0 08 	or  %i3, %o0, %i3
                             
  }
                                                                  

                                                                     
  return local_value;
                                                
}
                                                                    
4000f328:	81 c7 e0 08 	ret 
                                          
4000f32c:	91 e8 00 1b 	restore  %g0, %i3, %o0
                        

                                                                     

4000f120 <rtems_assoc_ptr_by_local>: const rtems_assoc_t *rtems_assoc_ptr_by_local( const rtems_assoc_t *ap, uint32_t local_value ) {
4000f120:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  const rtems_assoc_t *default_ap = 0;
                               

                                                                     
  if (rtems_assoc_is_default(ap))
                                    
4000f124:	d0 06 00 00 	ld  [ %i0 ], %o0
                              
{
                                                                    
4000f128:	ba 10 00 18 	mov  %i0, %i5
                                 
  if (rtems_assoc_is_default(ap))
                                    
4000f12c:	80 a2 20 00 	cmp  %o0, 0
                                   
4000f130:	02 80 00 16 	be  4000f188 <rtems_assoc_ptr_by_local+0x68>
  
4000f134:	b0 10 20 00 	clr  %i0
                                      
4000f138:	13 10 00 4e 	sethi  %hi(0x40013800), %o1
                   
4000f13c:	40 00 06 82 	call  40010b44 <strcmp>
                       
4000f140:	92 12 63 08 	or  %o1, 0x308, %o1	! 40013b08 <IMFS_LIMITS_AND_OPTIONS+0x34>

4000f144:	80 a2 20 00 	cmp  %o0, 0
                                   
4000f148:	22 80 00 12 	be,a   4000f190 <rtems_assoc_ptr_by_local+0x70>

4000f14c:	c4 07 60 0c 	ld  [ %i5 + 0xc ], %g2
                        
    default_ap = ap++;
                                               

                                                                     
  for ( ; ap->name; ap++)
                                            
    if (ap->local_value == local_value)
                              
4000f150:	c2 07 60 04 	ld  [ %i5 + 4 ], %g1
                          
4000f154:	80 a6 40 01 	cmp  %i1, %g1
                                 
4000f158:	32 80 00 08 	bne,a   4000f178 <rtems_assoc_ptr_by_local+0x58>

4000f15c:	ba 07 60 0c 	add  %i5, 0xc, %i5
                            
  for ( ; ap->name; ap++)
                                            
4000f160:	81 c7 e0 08 	ret 
                                          
4000f164:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        
    if (ap->local_value == local_value)
                              
4000f168:	80 a0 40 19 	cmp  %g1, %i1
                                 
4000f16c:	22 80 00 07 	be,a   4000f188 <rtems_assoc_ptr_by_local+0x68>

4000f170:	b0 10 00 1d 	mov  %i5, %i0
                                 
  for ( ; ap->name; ap++)
                                            
4000f174:	ba 07 60 0c 	add  %i5, 0xc, %i5
                            
4000f178:	c2 07 40 00 	ld  [ %i5 ], %g1
                              
4000f17c:	80 a0 60 00 	cmp  %g1, 0
                                   
4000f180:	32 bf ff fa 	bne,a   4000f168 <rtems_assoc_ptr_by_local+0x48>

4000f184:	c2 07 60 04 	ld  [ %i5 + 4 ], %g1
                          
4000f188:	81 c7 e0 08 	ret 
                                          
4000f18c:	81 e8 00 00 	restore 
                                      
    default_ap = ap++;
                                               
4000f190:	82 07 60 0c 	add  %i5, 0xc, %g1
                            
  for ( ; ap->name; ap++)
                                            
4000f194:	b0 10 00 1d 	mov  %i5, %i0
                                 
4000f198:	80 a0 a0 00 	cmp  %g2, 0
                                   
4000f19c:	12 bf ff ed 	bne  4000f150 <rtems_assoc_ptr_by_local+0x30>
 <== ALWAYS TAKEN
4000f1a0:	ba 10 00 01 	mov  %g1, %i5
                                 
4000f1a4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000f1a8:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40004f5c <rtems_assoc_ptr_by_name>: const rtems_assoc_t *rtems_assoc_ptr_by_name( const rtems_assoc_t *ap, const char *name ) {
40004f5c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  const rtems_assoc_t *default_ap = 0;
                               

                                                                     
  if (rtems_assoc_is_default(ap))
                                    
40004f60:	fa 06 00 00 	ld  [ %i0 ], %i5
                              
40004f64:	80 a7 60 00 	cmp  %i5, 0
                                   
40004f68:	02 80 00 16 	be  40004fc0 <rtems_assoc_ptr_by_name+0x64>
   
40004f6c:	b8 10 20 00 	clr  %i4
                                      
40004f70:	90 10 00 1d 	mov  %i5, %o0
                                 
40004f74:	13 10 00 42 	sethi  %hi(0x40010800), %o1
                   
40004f78:	40 00 28 4d 	call  4000f0ac <strcmp>
                       
40004f7c:	92 12 60 c8 	or  %o1, 0xc8, %o1	! 400108c8 <_rodata_start+0x818>

40004f80:	80 a2 20 00 	cmp  %o0, 0
                                   
40004f84:	22 80 00 11 	be,a   40004fc8 <rtems_assoc_ptr_by_name+0x6c>

40004f88:	fa 06 20 0c 	ld  [ %i0 + 0xc ], %i5
                        
40004f8c:	b8 10 00 18 	mov  %i0, %i4
                                 
  const rtems_assoc_t *default_ap = 0;
                               
40004f90:	10 80 00 06 	b  40004fa8 <rtems_assoc_ptr_by_name+0x4c>
    
40004f94:	b0 10 20 00 	clr  %i0
                                      
    default_ap = ap++;
                                               

                                                                     
  for ( ; ap->name; ap++)
                                            
40004f98:	fa 07 00 00 	ld  [ %i4 ], %i5
                              
40004f9c:	80 a7 60 00 	cmp  %i5, 0
                                   
40004fa0:	22 80 00 0e 	be,a   40004fd8 <rtems_assoc_ptr_by_name+0x7c>

40004fa4:	b8 10 00 18 	mov  %i0, %i4
                                 
    if (strcmp(ap->name, name) == 0)
                                 
40004fa8:	90 10 00 1d 	mov  %i5, %o0
                                 
40004fac:	40 00 28 40 	call  4000f0ac <strcmp>
                       
40004fb0:	92 10 00 19 	mov  %i1, %o1
                                 
40004fb4:	80 a2 20 00 	cmp  %o0, 0
                                   
40004fb8:	32 bf ff f8 	bne,a   40004f98 <rtems_assoc_ptr_by_name+0x3c>

40004fbc:	b8 07 20 0c 	add  %i4, 0xc, %i4
                            
	return ap;
                                                          

                                                                     
  return default_ap;
                                                 
}
                                                                    
40004fc0:	81 c7 e0 08 	ret 
                                          
40004fc4:	91 e8 00 1c 	restore  %g0, %i4, %o0
                        
  for ( ; ap->name; ap++)
                                            
40004fc8:	80 a7 60 00 	cmp  %i5, 0
                                   
40004fcc:	12 bf ff f7 	bne  40004fa8 <rtems_assoc_ptr_by_name+0x4c>
  <== ALWAYS TAKEN
40004fd0:	b8 06 20 0c 	add  %i0, 0xc, %i4
                            
40004fd4:	b8 10 00 18 	mov  %i0, %i4
                                 <== NOT EXECUTED
}
                                                                    
40004fd8:	81 c7 e0 08 	ret 
                                          
40004fdc:	91 e8 00 1c 	restore  %g0, %i4, %o0
                        

                                                                     

4000f358 <rtems_assoc_ptr_by_remote>: const rtems_assoc_t *rtems_assoc_ptr_by_remote( const rtems_assoc_t *ap, uint32_t remote_value ) {
4000f358:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  const rtems_assoc_t *default_ap = 0;
                               

                                                                     
  if (rtems_assoc_is_default(ap))
                                    
4000f35c:	d0 06 00 00 	ld  [ %i0 ], %o0
                              
{
                                                                    
4000f360:	ba 10 00 18 	mov  %i0, %i5
                                 
  if (rtems_assoc_is_default(ap))
                                    
4000f364:	80 a2 20 00 	cmp  %o0, 0
                                   
4000f368:	02 80 00 16 	be  4000f3c0 <rtems_assoc_ptr_by_remote+0x68>
 
4000f36c:	b0 10 20 00 	clr  %i0
                                      
4000f370:	13 10 00 46 	sethi  %hi(0x40011800), %o1
                   
4000f374:	40 00 01 ad 	call  4000fa28 <strcmp>
                       
4000f378:	92 12 62 a0 	or  %o1, 0x2a0, %o1	! 40011aa0 <CSWTCH.1+0x10>

4000f37c:	80 a2 20 00 	cmp  %o0, 0
                                   
4000f380:	22 80 00 12 	be,a   4000f3c8 <rtems_assoc_ptr_by_remote+0x70>

4000f384:	c4 07 60 0c 	ld  [ %i5 + 0xc ], %g2
                        
    default_ap = ap++;
                                               

                                                                     
  for ( ; ap->name; ap++)
                                            
    if (ap->remote_value == remote_value)
                            
4000f388:	c2 07 60 08 	ld  [ %i5 + 8 ], %g1
                          
4000f38c:	80 a6 40 01 	cmp  %i1, %g1
                                 
4000f390:	32 80 00 08 	bne,a   4000f3b0 <rtems_assoc_ptr_by_remote+0x58>

4000f394:	ba 07 60 0c 	add  %i5, 0xc, %i5
                            
  for ( ; ap->name; ap++)
                                            
4000f398:	81 c7 e0 08 	ret 
                                          
4000f39c:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        
    if (ap->remote_value == remote_value)
                            
4000f3a0:	80 a0 40 19 	cmp  %g1, %i1
                                 
4000f3a4:	22 80 00 07 	be,a   4000f3c0 <rtems_assoc_ptr_by_remote+0x68>

4000f3a8:	b0 10 00 1d 	mov  %i5, %i0
                                 
  for ( ; ap->name; ap++)
                                            
4000f3ac:	ba 07 60 0c 	add  %i5, 0xc, %i5
                            
4000f3b0:	c2 07 40 00 	ld  [ %i5 ], %g1
                              
4000f3b4:	80 a0 60 00 	cmp  %g1, 0
                                   
4000f3b8:	32 bf ff fa 	bne,a   4000f3a0 <rtems_assoc_ptr_by_remote+0x48>

4000f3bc:	c2 07 60 08 	ld  [ %i5 + 8 ], %g1
                          
4000f3c0:	81 c7 e0 08 	ret 
                                          
4000f3c4:	81 e8 00 00 	restore 
                                      
    default_ap = ap++;
                                               
4000f3c8:	82 07 60 0c 	add  %i5, 0xc, %g1
                            
  for ( ; ap->name; ap++)
                                            
4000f3cc:	b0 10 00 1d 	mov  %i5, %i0
                                 
4000f3d0:	80 a0 a0 00 	cmp  %g2, 0
                                   
4000f3d4:	12 bf ff ed 	bne  4000f388 <rtems_assoc_ptr_by_remote+0x30>
<== ALWAYS TAKEN
4000f3d8:	ba 10 00 01 	mov  %g1, %i5
                                 
4000f3dc:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000f3e0:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

4000506c <rtems_assoc_remote_by_local_bitfield>: uint32_t rtems_assoc_remote_by_local_bitfield( const rtems_assoc_t *ap, uint32_t local_value ) {
4000506c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
40005070:	b8 10 20 20 	mov  0x20, %i4
                                
  uint32_t   b;
                                                      
  uint32_t   remote_value = 0;
                                       
40005074:	b6 10 20 00 	clr  %i3
                                      

                                                                     
  for (b = 1; b; b <<= 1)
                                            
40005078:	10 80 00 04 	b  40005088 <rtems_assoc_remote_by_local_bitfield+0x1c>

4000507c:	ba 10 20 01 	mov  1, %i5
                                   
40005080:	02 80 00 0c 	be  400050b0 <rtems_assoc_remote_by_local_bitfield+0x44>

40005084:	bb 2f 60 01 	sll  %i5, 1, %i5
                              
    if (b & local_value)
                                             
40005088:	80 8e 40 1d 	btst  %i1, %i5
                                
4000508c:	22 bf ff fd 	be,a   40005080 <rtems_assoc_remote_by_local_bitfield+0x14>

40005090:	b8 87 3f ff 	addcc  %i4, -1, %i4
                           
      remote_value |= rtems_assoc_remote_by_local(ap, b);
            
40005094:	92 10 00 1d 	mov  %i5, %o1
                                 
40005098:	40 00 00 08 	call  400050b8 <rtems_assoc_remote_by_local>
  
4000509c:	90 10 00 18 	mov  %i0, %o0
                                 
  for (b = 1; b; b <<= 1)
                                            
400050a0:	bb 2f 60 01 	sll  %i5, 1, %i5
                              
400050a4:	b8 87 3f ff 	addcc  %i4, -1, %i4
                           
400050a8:	12 bf ff f8 	bne  40005088 <rtems_assoc_remote_by_local_bitfield+0x1c>
<== ALWAYS TAKEN
400050ac:	b6 16 c0 08 	or  %i3, %o0, %i3
                             

                                                                     
  return remote_value;
                                               
}
                                                                    
400050b0:	81 c7 e0 08 	ret 
                                          
400050b4:	91 e8 00 1b 	restore  %g0, %i3, %o0
                        

                                                                     

400060f4 <rtems_cache_aligned_malloc>: #include <rtems.h> #include <rtems/malloc.h> void *rtems_cache_aligned_malloc( size_t nbytes ) {
400060f4:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  size_t line_size = rtems_cache_get_maximal_line_size();
            
400060f8:	7f ff f7 f4 	call  400040c8 <rtems_cache_get_maximal_line_size>

400060fc:	01 00 00 00 	nop 
                                          

                                                                     
  if ( line_size > 0 ) {
                                             
40006100:	b2 92 20 00 	orcc  %o0, 0, %i1
                             
40006104:	02 80 00 05 	be  40006118 <rtems_cache_aligned_malloc+0x24>
<== NEVER TAKEN
40006108:	82 06 3f ff 	add  %i0, -1, %g1
                             
    /* Assume that the cache line size is a power of two */
          
    size_t m = line_size - 1;
                                        

                                                                     
    nbytes = (nbytes + m) & ~m;
                                      
4000610c:	b0 20 00 19 	neg  %i1, %i0
                                 
40006110:	82 00 40 19 	add  %g1, %i1, %g1
                            
40006114:	b0 0e 00 01 	and  %i0, %g1, %i0
                            
  }
                                                                  

                                                                     
  return rtems_heap_allocate_aligned_with_boundary( nbytes, line_size, 0 );

40006118:	40 00 01 1e 	call  40006590 <rtems_heap_allocate_aligned_with_boundary>

4000611c:	95 e8 20 00 	restore  %g0, 0, %o2
                          

                                                                     

400061bc <rtems_cache_coherent_free>: {
400061bc:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  _RTEMS_Lock_allocator();
                                           
400061c0:	40 00 08 ba 	call  400084a8 <_RTEMS_Lock_allocator>
        
400061c4:	01 00 00 00 	nop 
                                          
  heap = cache_coherent_heap;
                                        
400061c8:	03 10 00 57 	sethi  %hi(0x40015c00), %g1
                   
400061cc:	d0 00 63 20 	ld  [ %g1 + 0x320 ], %o0	! 40015f20 <cache_coherent_heap>

  if ( heap != NULL ) {
                                              
400061d0:	80 a2 20 00 	cmp  %o0, 0
                                   
400061d4:	02 80 00 0f 	be  40006210 <rtems_cache_coherent_free+0x54>
 
400061d8:	03 10 00 4e 	sethi  %hi(0x40013800), %g1
                   
    if ( _Heap_Free( heap, ptr ) ) {
                                 
400061dc:	40 00 0a 7b 	call  40008bc8 <_Heap_Free>
                   
400061e0:	92 10 00 18 	mov  %i0, %o1
                                 
      heap = RTEMS_Malloc_Heap;
                                      
400061e4:	03 10 00 4e 	sethi  %hi(0x40013800), %g1
                   
    if ( _Heap_Free( heap, ptr ) ) {
                                 
400061e8:	80 a2 20 00 	cmp  %o0, 0
                                   
400061ec:	12 80 00 07 	bne  40006208 <rtems_cache_coherent_free+0x4c>

400061f0:	d0 00 62 a4 	ld  [ %g1 + 0x2a4 ], %o0
                      
  if ( heap != NULL ) {
                                              
400061f4:	80 a2 20 00 	cmp  %o0, 0
                                   
400061f8:	02 80 00 04 	be  40006208 <rtems_cache_coherent_free+0x4c>
 <== NEVER TAKEN
400061fc:	01 00 00 00 	nop 
                                          
    _Heap_Free( heap, ptr );
                                         
40006200:	40 00 0a 72 	call  40008bc8 <_Heap_Free>
                   
40006204:	92 10 00 18 	mov  %i0, %o1
                                 
  _RTEMS_Unlock_allocator();
                                         
40006208:	40 00 08 ad 	call  400084bc <_RTEMS_Unlock_allocator>
      
4000620c:	81 e8 00 00 	restore 
                                      
    heap = RTEMS_Malloc_Heap;
                                        
40006210:	d0 00 62 a4 	ld  [ %g1 + 0x2a4 ], %o0
                      
  if ( heap != NULL ) {
                                              
40006214:	80 a2 20 00 	cmp  %o0, 0
                                   
40006218:	12 bf ff fa 	bne  40006200 <rtems_cache_coherent_free+0x44>
<== ALWAYS TAKEN
4000621c:	01 00 00 00 	nop 
                                          
40006220:	30 bf ff fa 	b,a   40006208 <rtems_cache_coherent_free+0x4c>
<== NOT EXECUTED

                                                                     

4000e4a0 <rtems_deviceio_close>: int rtems_deviceio_close( rtems_libio_t *iop, rtems_device_major_number major, rtems_device_minor_number minor ) {
4000e4a0:	9d e3 bf 90 	save  %sp, -112, %sp
                          <== NOT EXECUTED

                                                                     
  args.iop = iop;
                                                    
  args.flags = 0;
                                                    
  args.mode = 0;
                                                     

                                                                     
  status = rtems_io_close( major, minor, &args );
                    
4000e4a4:	94 07 bf f4 	add  %fp, -12, %o2
                            <== NOT EXECUTED
4000e4a8:	92 10 00 1a 	mov  %i2, %o1
                                 <== NOT EXECUTED
  args.iop = iop;
                                                    
4000e4ac:	f0 27 bf f4 	st  %i0, [ %fp + -12 ]
                        <== NOT EXECUTED
  status = rtems_io_close( major, minor, &args );
                    
4000e4b0:	90 10 00 19 	mov  %i1, %o0
                                 <== NOT EXECUTED
  args.flags = 0;
                                                    
4000e4b4:	c0 27 bf f8 	clr  [ %fp + -8 ]
                             <== NOT EXECUTED
  status = rtems_io_close( major, minor, &args );
                    
4000e4b8:	40 00 00 ae 	call  4000e770 <rtems_io_close>
               <== NOT EXECUTED
4000e4bc:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             <== NOT EXECUTED

                                                                     
  return rtems_status_code_to_errno( status );
                       
4000e4c0:	40 00 00 96 	call  4000e718 <rtems_status_code_to_errno>
   <== NOT EXECUTED
4000e4c4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
}
                                                                    
4000e4c8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e4cc:	91 e8 00 08 	restore  %g0, %o0, %o0
                        <== NOT EXECUTED

                                                                     

4000e5b0 <rtems_deviceio_control>: ioctl_command_t command, void *buffer, rtems_device_major_number major, rtems_device_minor_number minor ) {
4000e5b0:	9d e3 bf 90 	save  %sp, -112, %sp
                          <== NOT EXECUTED
  rtems_status_code status;
                                          
  rtems_libio_ioctl_args_t args;
                                     

                                                                     
  args.iop = iop;
                                                    
4000e5b4:	f0 27 bf f0 	st  %i0, [ %fp + -16 ]
                        <== NOT EXECUTED
  args.command = command;
                                            
  args.buffer = buffer;
                                              

                                                                     
  status = rtems_io_control( major, minor, &args );
                  
4000e5b8:	94 07 bf f0 	add  %fp, -16, %o2
                            <== NOT EXECUTED
  args.command = command;
                                            
4000e5bc:	f2 27 bf f4 	st  %i1, [ %fp + -12 ]
                        <== NOT EXECUTED
  status = rtems_io_control( major, minor, &args );
                  
4000e5c0:	92 10 00 1c 	mov  %i4, %o1
                                 <== NOT EXECUTED
  args.buffer = buffer;
                                              
4000e5c4:	f4 27 bf f8 	st  %i2, [ %fp + -8 ]
                         <== NOT EXECUTED
  status = rtems_io_control( major, minor, &args );
                  
4000e5c8:	40 00 00 82 	call  4000e7d0 <rtems_io_control>
             <== NOT EXECUTED
4000e5cc:	90 10 00 1b 	mov  %i3, %o0
                                 <== NOT EXECUTED
  if ( status == RTEMS_SUCCESSFUL ) {
                                
4000e5d0:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
4000e5d4:	12 80 00 05 	bne  4000e5e8 <rtems_deviceio_control+0x38>
   <== NOT EXECUTED
4000e5d8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    return args.ioctl_return;
                                        
4000e5dc:	f0 07 bf fc 	ld  [ %fp + -4 ], %i0
                         <== NOT EXECUTED
4000e5e0:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e5e4:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  } else {
                                                           
    return rtems_status_code_to_errno(status);
                       
4000e5e8:	40 00 00 4c 	call  4000e718 <rtems_status_code_to_errno>
   <== NOT EXECUTED
4000e5ec:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  }
                                                                  
}
                                                                    
4000e5f0:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e5f4:	91 e8 00 08 	restore  %g0, %o0, %o0
                        <== NOT EXECUTED

                                                                     

4000e46c <rtems_deviceio_open>: int oflag, mode_t mode, rtems_device_major_number major, rtems_device_minor_number minor ) {
4000e46c:	9d e3 bf 90 	save  %sp, -112, %sp
                          <== NOT EXECUTED
  rtems_status_code status;
                                          
  rtems_libio_open_close_args_t args;
                                

                                                                     
  args.iop = iop;
                                                    
  args.flags = iop->flags;
                                           
4000e470:	c2 06 20 08 	ld  [ %i0 + 8 ], %g1
                          <== NOT EXECUTED
  args.mode = mode;
                                                  

                                                                     
  status = rtems_io_open( major, minor, &args );
                     
4000e474:	94 07 bf f4 	add  %fp, -12, %o2
                            <== NOT EXECUTED
4000e478:	92 10 00 1d 	mov  %i5, %o1
                                 <== NOT EXECUTED
  args.iop = iop;
                                                    
4000e47c:	f0 27 bf f4 	st  %i0, [ %fp + -12 ]
                        <== NOT EXECUTED
  status = rtems_io_open( major, minor, &args );
                     
4000e480:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
  args.flags = iop->flags;
                                           
4000e484:	c2 27 bf f8 	st  %g1, [ %fp + -8 ]
                         <== NOT EXECUTED
  status = rtems_io_open( major, minor, &args );
                     
4000e488:	40 00 01 01 	call  4000e88c <rtems_io_open>
                <== NOT EXECUTED
4000e48c:	f6 27 bf fc 	st  %i3, [ %fp + -4 ]
                         <== NOT EXECUTED

                                                                     
  return rtems_status_code_to_errno( status );
                       
4000e490:	40 00 00 a2 	call  4000e718 <rtems_status_code_to_errno>
   <== NOT EXECUTED
4000e494:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
}
                                                                    
4000e498:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e49c:	91 e8 00 08 	restore  %g0, %o0, %o0
                        <== NOT EXECUTED

                                                                     

4000e4d0 <rtems_deviceio_read>: void *buf, size_t nbyte, rtems_device_major_number major, rtems_device_minor_number minor ) {
4000e4d0:	9d e3 bf 80 	save  %sp, -128, %sp
                          <== NOT EXECUTED
  rtems_status_code status;
                                          
  rtems_libio_rw_args_t args;
                                        

                                                                     
  args.iop = iop;
                                                    
  args.offset = iop->offset;
                                         
4000e4d4:	c4 1e 00 00 	ldd  [ %i0 ], %g2
                             <== NOT EXECUTED
  args.buffer = buf;
                                                 
  args.count = nbyte;
                                                
  args.flags = iop->flags;
                                           
4000e4d8:	c2 06 20 08 	ld  [ %i0 + 8 ], %g1
                          <== NOT EXECUTED
  args.iop = iop;
                                                    
4000e4dc:	f0 27 bf e0 	st  %i0, [ %fp + -32 ]
                        <== NOT EXECUTED
  args.bytes_moved = 0;
                                              

                                                                     
  status = rtems_io_read( major, minor, &args );
                     
4000e4e0:	94 07 bf e0 	add  %fp, -32, %o2
                            <== NOT EXECUTED
  args.offset = iop->offset;
                                         
4000e4e4:	c4 3f bf e8 	std  %g2, [ %fp + -24 ]
                       <== NOT EXECUTED
  status = rtems_io_read( major, minor, &args );
                     
4000e4e8:	92 10 00 1c 	mov  %i4, %o1
                                 <== NOT EXECUTED
  args.buffer = buf;
                                                 
4000e4ec:	f2 27 bf f0 	st  %i1, [ %fp + -16 ]
                        <== NOT EXECUTED
  status = rtems_io_read( major, minor, &args );
                     
4000e4f0:	90 10 00 1b 	mov  %i3, %o0
                                 <== NOT EXECUTED
  args.count = nbyte;
                                                
4000e4f4:	f4 27 bf f4 	st  %i2, [ %fp + -12 ]
                        <== NOT EXECUTED
{
                                                                    
4000e4f8:	ba 10 00 18 	mov  %i0, %i5
                                 <== NOT EXECUTED
  args.flags = iop->flags;
                                           
4000e4fc:	c2 27 bf f8 	st  %g1, [ %fp + -8 ]
                         <== NOT EXECUTED
  status = rtems_io_read( major, minor, &args );
                     
4000e500:	40 00 00 fb 	call  4000e8ec <rtems_io_read>
                <== NOT EXECUTED
4000e504:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             <== NOT EXECUTED
  if ( status == RTEMS_SUCCESSFUL ) {
                                
4000e508:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
4000e50c:	12 80 00 09 	bne  4000e530 <rtems_deviceio_read+0x60>
      <== NOT EXECUTED
4000e510:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    iop->offset += args.bytes_moved;
                                 
4000e514:	f4 1f 40 00 	ldd  [ %i5 ], %i2
                             <== NOT EXECUTED
4000e518:	f0 07 bf fc 	ld  [ %fp + -4 ], %i0
                         <== NOT EXECUTED
4000e51c:	86 86 c0 18 	addcc  %i3, %i0, %g3
                          <== NOT EXECUTED
4000e520:	84 46 a0 00 	addx  %i2, 0, %g2
                             <== NOT EXECUTED
4000e524:	c4 3f 40 00 	std  %g2, [ %i5 ]
                             <== NOT EXECUTED

                                                                     
    return (ssize_t) args.bytes_moved;
                               
4000e528:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e52c:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  } else {
                                                           
    return rtems_status_code_to_errno( status );
                     
4000e530:	40 00 00 7a 	call  4000e718 <rtems_status_code_to_errno>
   <== NOT EXECUTED
4000e534:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  }
                                                                  
}
                                                                    
4000e538:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e53c:	91 e8 00 08 	restore  %g0, %o0, %o0
                        <== NOT EXECUTED

                                                                     

4000e540 <rtems_deviceio_write>: const void *buf, size_t nbyte, rtems_device_major_number major, rtems_device_minor_number minor ) {
4000e540:	9d e3 bf 80 	save  %sp, -128, %sp
                          <== NOT EXECUTED
  rtems_status_code status;
                                          
  rtems_libio_rw_args_t args;
                                        

                                                                     
  args.iop = iop;
                                                    
  args.offset = iop->offset;
                                         
4000e544:	c4 1e 00 00 	ldd  [ %i0 ], %g2
                             <== NOT EXECUTED
  args.buffer = RTEMS_DECONST( void *, buf );
                        
  args.count = nbyte;
                                                
  args.flags = iop->flags;
                                           
4000e548:	c2 06 20 08 	ld  [ %i0 + 8 ], %g1
                          <== NOT EXECUTED
  args.iop = iop;
                                                    
4000e54c:	f0 27 bf e0 	st  %i0, [ %fp + -32 ]
                        <== NOT EXECUTED
  args.bytes_moved = 0;
                                              

                                                                     
  status = rtems_io_write( major, minor, &args );
                    
4000e550:	94 07 bf e0 	add  %fp, -32, %o2
                            <== NOT EXECUTED
  args.offset = iop->offset;
                                         
4000e554:	c4 3f bf e8 	std  %g2, [ %fp + -24 ]
                       <== NOT EXECUTED
  status = rtems_io_write( major, minor, &args );
                    
4000e558:	92 10 00 1c 	mov  %i4, %o1
                                 <== NOT EXECUTED
  args.buffer = RTEMS_DECONST( void *, buf );
                        
4000e55c:	f2 27 bf f0 	st  %i1, [ %fp + -16 ]
                        <== NOT EXECUTED
  status = rtems_io_write( major, minor, &args );
                    
4000e560:	90 10 00 1b 	mov  %i3, %o0
                                 <== NOT EXECUTED
  args.count = nbyte;
                                                
4000e564:	f4 27 bf f4 	st  %i2, [ %fp + -12 ]
                        <== NOT EXECUTED
{
                                                                    
4000e568:	ba 10 00 18 	mov  %i0, %i5
                                 <== NOT EXECUTED
  args.flags = iop->flags;
                                           
4000e56c:	c2 27 bf f8 	st  %g1, [ %fp + -8 ]
                         <== NOT EXECUTED
  status = rtems_io_write( major, minor, &args );
                    
4000e570:	40 00 00 f7 	call  4000e94c <rtems_io_write>
               <== NOT EXECUTED
4000e574:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             <== NOT EXECUTED
  if ( status == RTEMS_SUCCESSFUL ) {
                                
4000e578:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
4000e57c:	12 80 00 09 	bne  4000e5a0 <rtems_deviceio_write+0x60>
     <== NOT EXECUTED
4000e580:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    iop->offset += args.bytes_moved;
                                 
4000e584:	f4 1f 40 00 	ldd  [ %i5 ], %i2
                             <== NOT EXECUTED
4000e588:	f0 07 bf fc 	ld  [ %fp + -4 ], %i0
                         <== NOT EXECUTED
4000e58c:	86 86 c0 18 	addcc  %i3, %i0, %g3
                          <== NOT EXECUTED
4000e590:	84 46 a0 00 	addx  %i2, 0, %g2
                             <== NOT EXECUTED
4000e594:	c4 3f 40 00 	std  %g2, [ %i5 ]
                             <== NOT EXECUTED

                                                                     
    return (ssize_t) args.bytes_moved;
                               
4000e598:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e59c:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  } else {
                                                           
    return rtems_status_code_to_errno( status );
                     
4000e5a0:	40 00 00 5e 	call  4000e718 <rtems_status_code_to_errno>
   <== NOT EXECUTED
4000e5a4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  }
                                                                  
}
                                                                    
4000e5a8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e5ac:	91 e8 00 08 	restore  %g0, %o0, %o0
                        <== NOT EXECUTED

                                                                     

40004638 <rtems_error>: int rtems_error( rtems_error_code_t error_flag, const char *printf_format, ... ) {
40004638:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  va_list arglist;
                                                   
  int chars_written;
                                                 

                                                                     
  va_start(arglist, printf_format);
                                  
4000463c:	82 07 a0 4c 	add  %fp, 0x4c, %g1
                           
40004640:	f4 27 a0 4c 	st  %i2, [ %fp + 0x4c ]
                       
  chars_written = rtems_verror(error_flag, printf_format, arglist);
  
40004644:	94 10 00 01 	mov  %g1, %o2
                                 
  va_start(arglist, printf_format);
                                  
40004648:	c2 27 bf fc 	st  %g1, [ %fp + -4 ]
                         
  chars_written = rtems_verror(error_flag, printf_format, arglist);
  
4000464c:	92 10 00 19 	mov  %i1, %o1
                                 
  va_start(arglist, printf_format);
                                  
40004650:	f6 27 a0 50 	st  %i3, [ %fp + 0x50 ]
                       
  chars_written = rtems_verror(error_flag, printf_format, arglist);
  
40004654:	90 10 00 18 	mov  %i0, %o0
                                 
  va_start(arglist, printf_format);
                                  
40004658:	f8 27 a0 54 	st  %i4, [ %fp + 0x54 ]
                       
  chars_written = rtems_verror(error_flag, printf_format, arglist);
  
4000465c:	7f ff ff 87 	call  40004478 <rtems_verror>
                 
40004660:	fa 27 a0 58 	st  %i5, [ %fp + 0x58 ]
                       
  va_end(arglist);
                                                   

                                                                     
  if (error_flag & RTEMS_ERROR_PANIC) {
                              
40004664:	03 08 00 00 	sethi  %hi(0x20000000), %g1
                   
40004668:	80 8e 00 01 	btst  %i0, %g1
                                
4000466c:	12 80 00 07 	bne  40004688 <rtems_error+0x50>
              
40004670:	03 04 00 00 	sethi  %hi(0x10000000), %g1
                   
    rtems_error(0, "fatal error, exiting");
                          
    _exit(errno);
                                                    
  }
                                                                  
  if (error_flag & RTEMS_ERROR_ABORT) {
                              
40004674:	80 8e 00 01 	btst  %i0, %g1
                                
40004678:	12 80 00 0c 	bne  400046a8 <rtems_error+0x70>
              
4000467c:	b0 10 00 08 	mov  %o0, %i0
                                 
    rtems_error(0, "fatal error, aborting");
                         
    abort();
                                                         
  }
                                                                  

                                                                     
  return chars_written;
                                              
}
                                                                    
40004680:	81 c7 e0 08 	ret 
                                          
40004684:	81 e8 00 00 	restore 
                                      
    rtems_error(0, "fatal error, exiting");
                          
40004688:	13 10 00 67 	sethi  %hi(0x40019c00), %o1
                   
4000468c:	92 12 60 30 	or  %o1, 0x30, %o1	! 40019c30 <_Console_simple_Handlers+0x78>

40004690:	7f ff ff ea 	call  40004638 <rtems_error>
                  
40004694:	90 10 20 00 	clr  %o0
                                      
    _exit(errno);
                                                    
40004698:	40 00 26 f6 	call  4000e270 <__errno>
                      
4000469c:	01 00 00 00 	nop 
                                          
400046a0:	40 00 02 3d 	call  40004f94 <_exit>
                        
400046a4:	d0 02 00 00 	ld  [ %o0 ], %o0
                              
    rtems_error(0, "fatal error, aborting");
                         
400046a8:	13 10 00 67 	sethi  %hi(0x40019c00), %o1
                   
400046ac:	92 12 60 48 	or  %o1, 0x48, %o1	! 40019c48 <_Console_simple_Handlers+0x90>

400046b0:	7f ff ff e2 	call  40004638 <rtems_error>
                  
400046b4:	90 10 20 00 	clr  %o0
                                      
    abort();
                                                         
400046b8:	40 00 26 e1 	call  4000e23c <abort>
                        
400046bc:	01 00 00 00 	nop 
                                          
400046c0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

4000580c <rtems_filesystem_check_access>: int flags, mode_t object_mode, uid_t object_uid, gid_t object_gid ) {
4000580c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  const rtems_user_env_t *uenv = rtems_current_user_env_get();
       
40005810:	7f ff ff dc 	call  40005780 <rtems_current_user_env_get>
   
40005814:	b0 0e 20 07 	and  %i0, 7, %i0
                              
  mode_t access_flags = flags & RTEMS_FS_PERMS_RWX;
                  
  uid_t task_uid = uenv->euid;
                                       

                                                                     
  if (task_uid == 0 || task_uid == object_uid) {
                     
40005818:	c2 12 20 10 	lduh  [ %o0 + 0x10 ], %g1
                     
4000581c:	80 a0 60 00 	cmp  %g1, 0
                                   
40005820:	02 80 00 24 	be  400058b0 <rtems_filesystem_check_access+0xa4>
<== ALWAYS TAKEN
40005824:	80 a0 40 1a 	cmp  %g1, %i2
                                 
40005828:	22 80 00 23 	be,a   400058b4 <rtems_filesystem_check_access+0xa8>
<== NOT EXECUTED
4000582c:	b1 2e 20 06 	sll  %i0, 6, %i0
                              <== NOT EXECUTED
    access_flags <<= RTEMS_FS_USR_SHIFT;
                             
  } else {
                                                           
    gid_t task_gid = uenv->egid;
                                     

                                                                     
    if (
                                                             
      task_gid == 0
                                                  
40005830:	c2 12 20 12 	lduh  [ %o0 + 0x12 ], %g1
                     <== NOT EXECUTED
    if (
                                                             
40005834:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40005838:	02 80 00 18 	be  40005898 <rtems_filesystem_check_access+0x8c>
<== NOT EXECUTED
4000583c:	80 a0 40 1b 	cmp  %g1, %i3
                                 <== NOT EXECUTED
40005840:	22 80 00 17 	be,a   4000589c <rtems_filesystem_check_access+0x90>
<== NOT EXECUTED
40005844:	b1 2e 20 03 	sll  %i0, 3, %i0
                              <== NOT EXECUTED
  for (i = 0; i < uenv->ngroups; ++i) {
                              
40005848:	c6 02 20 24 	ld  [ %o0 + 0x24 ], %g3
                       <== NOT EXECUTED
4000584c:	80 a0 e0 00 	cmp  %g3, 0
                                   <== NOT EXECUTED
40005850:	22 80 00 14 	be,a   400058a0 <rtems_filesystem_check_access+0x94>
<== NOT EXECUTED
40005854:	b0 2e 00 19 	andn  %i0, %i1, %i0
                           <== NOT EXECUTED
    if (uenv->groups[i] == object_gid) {
                             
40005858:	c2 12 20 28 	lduh  [ %o0 + 0x28 ], %g1
                     <== NOT EXECUTED
4000585c:	80 a0 40 1b 	cmp  %g1, %i3
                                 <== NOT EXECUTED
40005860:	02 80 00 0e 	be  40005898 <rtems_filesystem_check_access+0x8c>
<== NOT EXECUTED
40005864:	90 02 20 2a 	add  %o0, 0x2a, %o0
                           <== NOT EXECUTED
  for (i = 0; i < uenv->ngroups; ++i) {
                              
40005868:	10 80 00 06 	b  40005880 <rtems_filesystem_check_access+0x74>
<== NOT EXECUTED
4000586c:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED
    if (uenv->groups[i] == object_gid) {
                             
40005870:	c4 12 3f fe 	lduh  [ %o0 + -2 ], %g2
                       <== NOT EXECUTED
40005874:	80 a0 80 1b 	cmp  %g2, %i3
                                 <== NOT EXECUTED
40005878:	22 80 00 09 	be,a   4000589c <rtems_filesystem_check_access+0x90>
<== NOT EXECUTED
4000587c:	b1 2e 20 03 	sll  %i0, 3, %i0
                              <== NOT EXECUTED
  for (i = 0; i < uenv->ngroups; ++i) {
                              
40005880:	82 00 60 01 	inc  %g1
                                      <== NOT EXECUTED
40005884:	80 a0 40 03 	cmp  %g1, %g3
                                 <== NOT EXECUTED
40005888:	12 bf ff fa 	bne  40005870 <rtems_filesystem_check_access+0x64>
<== NOT EXECUTED
4000588c:	90 02 20 02 	add  %o0, 2, %o0
                              <== NOT EXECUTED
    } else {
                                                         
      access_flags <<= RTEMS_FS_OTH_SHIFT;
                           
    }
                                                                
  }
                                                                  

                                                                     
  return (access_flags & object_mode) == access_flags;
               
40005890:	10 80 00 04 	b  400058a0 <rtems_filesystem_check_access+0x94>
<== NOT EXECUTED
40005894:	b0 2e 00 19 	andn  %i0, %i1, %i0
                           <== NOT EXECUTED
      access_flags <<= RTEMS_FS_GRP_SHIFT;
                           
40005898:	b1 2e 20 03 	sll  %i0, 3, %i0
                              <== NOT EXECUTED
  return (access_flags & object_mode) == access_flags;
               
4000589c:	b0 2e 00 19 	andn  %i0, %i1, %i0
                           <== NOT EXECUTED
}
                                                                    
400058a0:	80 a0 00 18 	cmp  %g0, %i0
                                 <== NOT EXECUTED
400058a4:	b0 60 3f ff 	subx  %g0, -1, %i0
                            <== NOT EXECUTED
400058a8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400058ac:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    access_flags <<= RTEMS_FS_USR_SHIFT;
                             
400058b0:	b1 2e 20 06 	sll  %i0, 6, %i0
                              
  return (access_flags & object_mode) == access_flags;
               
400058b4:	b0 2e 00 19 	andn  %i0, %i1, %i0
                           
}
                                                                    
400058b8:	80 a0 00 18 	cmp  %g0, %i0
                                 
400058bc:	b0 60 3f ff 	subx  %g0, -1, %i0
                            
400058c0:	81 c7 e0 08 	ret 
                                          
400058c4:	81 e8 00 00 	restore 
                                      

                                                                     

40011230 <rtems_filesystem_default_pathconf>: 40011230: 00 00 00 05 00 00 00 80 00 00 00 07 00 00 00 ff ................ 40011240: 00 00 00 ff 00 00 04 00 00 00 00 00 00 00 00 00 ................ 40011250: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 ................ 40011260: 2e 00 00 00 00 00 00 00 2e 2e 00 00 ............
40006070 <rtems_filesystem_do_unmount>: } void rtems_filesystem_do_unmount( rtems_filesystem_mount_table_entry_t *mt_entry ) {
40006070:	9d e3 bf a0 	save  %sp, -96, %sp
                           <== NOT EXECUTED
  rtems_libio_lock();
                                                
40006074:	7f ff fb 29 	call  40004d18 <rtems_libio_lock>
             <== NOT EXECUTED
40006078:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  next           = the_node->next;
                                   
4000607c:	c4 06 00 00 	ld  [ %i0 ], %g2
                              <== NOT EXECUTED
  previous       = the_node->previous;
                               
40006080:	c2 06 20 04 	ld  [ %i0 + 4 ], %g1
                          <== NOT EXECUTED
  next->previous = previous;
                                         
40006084:	c2 20 a0 04 	st  %g1, [ %g2 + 4 ]
                          <== NOT EXECUTED
  rtems_libio_unlock();
                                              
40006088:	7f ff fb 29 	call  40004d2c <rtems_libio_unlock>
           <== NOT EXECUTED
4000608c:	c4 20 40 00 	st  %g2, [ %g1 ]
                              <== NOT EXECUTED
    release_with_count(global_loc, 1);
                               
40006090:	d0 06 20 20 	ld  [ %i0 + 0x20 ], %o0
                       <== NOT EXECUTED
40006094:	40 00 00 14 	call  400060e4 <release_with_count>
           <== NOT EXECUTED
40006098:	92 10 20 01 	mov  1, %o1
                                   <== NOT EXECUTED
  rtems_filesystem_mt_lock();
                                        
  rtems_chain_extract_unprotected(&mt_entry->mt_node);
               
  rtems_filesystem_mt_unlock();
                                      
  rtems_filesystem_global_location_release(mt_entry->mt_point_node, false);

  (*mt_entry->ops->fsunmount_me_h)(mt_entry);
                        
4000609c:	c2 06 20 0c 	ld  [ %i0 + 0xc ], %g1
                        <== NOT EXECUTED
400060a0:	c2 00 60 34 	ld  [ %g1 + 0x34 ], %g1
                       <== NOT EXECUTED
400060a4:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400060a8:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED

                                                                     
  if (mt_entry->unmount_task != 0) {
                                 
400060ac:	d0 06 20 3c 	ld  [ %i0 + 0x3c ], %o0
                       <== NOT EXECUTED
400060b0:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
400060b4:	02 80 00 07 	be  400060d0 <rtems_filesystem_do_unmount+0x60>
<== NOT EXECUTED
400060b8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
 */
                                                                  
RTEMS_INLINE_ROUTINE rtems_status_code rtems_event_transient_send(
   
  rtems_id id
                                                        
)
                                                                    
{
                                                                    
  return rtems_event_system_send( id, RTEMS_EVENT_SYSTEM_TRANSIENT );

400060bc:	40 00 03 78 	call  40006e9c <rtems_event_system_send>
      <== NOT EXECUTED
400060c0:	13 20 00 00 	sethi  %hi(0x80000000), %o1
                   <== NOT EXECUTED
    rtems_status_code sc =
                                           
      rtems_event_transient_send(mt_entry->unmount_task);
            
    if (sc != RTEMS_SUCCESSFUL) {
                                    
400060c4:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
400060c8:	32 80 00 04 	bne,a   400060d8 <rtems_filesystem_do_unmount+0x68>
<== NOT EXECUTED
400060cc:	11 37 ab 6f 	sethi  %hi(0xdeadbc00), %o0
                   <== NOT EXECUTED
      rtems_fatal_error_occurred(0xdeadbeef);
                        
    }
                                                                
  }
                                                                  

                                                                     
  free(mt_entry);
                                                    
400060d0:	7f ff fa 9e 	call  40004b48 <free>
                         <== NOT EXECUTED
400060d4:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
      rtems_fatal_error_occurred(0xdeadbeef);
                        
400060d8:	40 00 04 ab 	call  40007384 <rtems_fatal_error_occurred>
   <== NOT EXECUTED
400060dc:	90 12 22 ef 	or  %o0, 0x2ef, %o0
                           <== NOT EXECUTED
400060e0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

40005c6c <rtems_filesystem_eval_path_continue>: {
40005c6c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  while (ctx->pathlen > 0) {
                                         
40005c70:	c2 06 20 04 	ld  [ %i0 + 4 ], %g1
                          
40005c74:	80 a0 60 00 	cmp  %g1, 0
                                   
40005c78:	22 80 00 0c 	be,a   40005ca8 <rtems_filesystem_eval_path_continue+0x3c>

40005c7c:	c2 06 20 0c 	ld  [ %i0 + 0xc ], %g1
                        
    (*ctx->currentloc.mt_entry->ops->eval_path_h)(ctx);
              
40005c80:	c2 06 20 2c 	ld  [ %i0 + 0x2c ], %g1
                       
40005c84:	c2 00 60 0c 	ld  [ %g1 + 0xc ], %g1
                        
40005c88:	c2 00 60 08 	ld  [ %g1 + 8 ], %g1
                          
40005c8c:	9f c0 40 00 	call  %g1
                                     
40005c90:	90 10 00 18 	mov  %i0, %o0
                                 
  while (ctx->pathlen > 0) {
                                         
40005c94:	c2 06 20 04 	ld  [ %i0 + 4 ], %g1
                          
40005c98:	80 a0 60 00 	cmp  %g1, 0
                                   
40005c9c:	32 bf ff fa 	bne,a   40005c84 <rtems_filesystem_eval_path_continue+0x18>
<== NEVER TAKEN
40005ca0:	c2 06 20 2c 	ld  [ %i0 + 0x2c ], %g1
                       <== NOT EXECUTED
  if (rtems_filesystem_eval_path_has_token(ctx)) {
                   
40005ca4:	c2 06 20 0c 	ld  [ %i0 + 0xc ], %g1
                        
40005ca8:	80 a0 60 00 	cmp  %g1, 0
                                   
40005cac:	02 80 00 07 	be  40005cc8 <rtems_filesystem_eval_path_continue+0x5c>

40005cb0:	f2 06 20 10 	ld  [ %i0 + 0x10 ], %i1
                       
    if (make) {
                                                      
40005cb4:	80 8e 60 20 	btst  0x20, %i1
                               
40005cb8:	02 80 00 08 	be  40005cd8 <rtems_filesystem_eval_path_continue+0x6c>

40005cbc:	b2 10 20 02 	mov  2, %i1
                                   
      check_access(ctx, ctx->flags);
                                 
40005cc0:	7f ff ff b9 	call  40005ba4 <check_access>
                 
40005cc4:	81 e8 00 00 	restore 
                                      
    if (!exclusive) {
                                                
40005cc8:	80 8e 60 40 	btst  0x40, %i1
                               
40005ccc:	02 bf ff fd 	be  40005cc0 <rtems_filesystem_eval_path_continue+0x54>

40005cd0:	01 00 00 00 	nop 
                                          
      rtems_filesystem_eval_path_error(ctx, EEXIST);
                 
40005cd4:	b2 10 20 11 	mov  0x11, %i1	! 11 <_TLS_Alignment+0x10>
     
40005cd8:	7f ff ff 9d 	call  40005b4c <rtems_filesystem_eval_path_error>

40005cdc:	81 e8 00 00 	restore 
                                      

                                                                     

400064e8 <rtems_filesystem_eval_path_eat_delimiter>: void rtems_filesystem_eval_path_eat_delimiter( rtems_filesystem_eval_path_context_t *ctx ) { const char *current = ctx->path;
400064e8:	c2 02 00 00 	ld  [ %o0 ], %g1
                              <== NOT EXECUTED
  const char *end = current + ctx->pathlen;
                          
400064ec:	c4 02 20 04 	ld  [ %o0 + 4 ], %g2
                          <== NOT EXECUTED
400064f0:	86 00 40 02 	add  %g1, %g2, %g3
                            <== NOT EXECUTED

                                                                     
  while (current != end && rtems_filesystem_is_delimiter(*current)) {

400064f4:	80 a0 40 03 	cmp  %g1, %g3
                                 <== NOT EXECUTED
400064f8:	22 80 00 17 	be,a   40006554 <rtems_filesystem_eval_path_eat_delimiter+0x6c>
<== NOT EXECUTED
400064fc:	84 10 20 00 	clr  %g2
                                      <== NOT EXECUTED
  return c == '/' || c == '\\';
                                      
40006500:	c8 48 40 00 	ldsb  [ %g1 ], %g4
                            <== NOT EXECUTED
40006504:	80 a1 20 2f 	cmp  %g4, 0x2f
                                <== NOT EXECUTED
40006508:	02 80 00 04 	be  40006518 <rtems_filesystem_eval_path_eat_delimiter+0x30>
<== NOT EXECUTED
4000650c:	80 a1 20 5c 	cmp  %g4, 0x5c
                                <== NOT EXECUTED
40006510:	32 80 00 11 	bne,a   40006554 <rtems_filesystem_eval_path_eat_delimiter+0x6c>
<== NOT EXECUTED
40006514:	86 10 00 01 	mov  %g1, %g3
                                 <== NOT EXECUTED
    ++current;
                                                       
40006518:	82 00 60 01 	inc  %g1
                                      <== NOT EXECUTED
  while (current != end && rtems_filesystem_is_delimiter(*current)) {

4000651c:	80 a0 c0 01 	cmp  %g3, %g1
                                 <== NOT EXECUTED
40006520:	02 80 00 0d 	be  40006554 <rtems_filesystem_eval_path_eat_delimiter+0x6c>
<== NOT EXECUTED
40006524:	84 10 20 00 	clr  %g2
                                      <== NOT EXECUTED
40006528:	c4 48 40 00 	ldsb  [ %g1 ], %g2
                            <== NOT EXECUTED
4000652c:	80 a0 a0 2f 	cmp  %g2, 0x2f
                                <== NOT EXECUTED
40006530:	02 bf ff fa 	be  40006518 <rtems_filesystem_eval_path_eat_delimiter+0x30>
<== NOT EXECUTED
40006534:	80 a0 a0 5c 	cmp  %g2, 0x5c
                                <== NOT EXECUTED
40006538:	22 bf ff f9 	be,a   4000651c <rtems_filesystem_eval_path_eat_delimiter+0x34>
<== NOT EXECUTED
4000653c:	82 00 60 01 	inc  %g1
                                      <== NOT EXECUTED
40006540:	84 20 c0 01 	sub  %g3, %g1, %g2
                            <== NOT EXECUTED
    ++current;
                                                       
40006544:	86 10 00 01 	mov  %g1, %g3
                                 <== NOT EXECUTED
  }
                                                                  

                                                                     
  ctx->path = current;
                                               
  ctx->pathlen = (size_t) (end - current);
                           
40006548:	c4 22 20 04 	st  %g2, [ %o0 + 4 ]
                          <== NOT EXECUTED
}
                                                                    
4000654c:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006550:	c6 22 00 00 	st  %g3, [ %o0 ]
                              <== NOT EXECUTED
  ctx->path = current;
                                               
40006554:	c6 22 00 00 	st  %g3, [ %o0 ]
                              <== NOT EXECUTED
}
                                                                    
40006558:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
4000655c:	c4 22 20 04 	st  %g2, [ %o0 + 4 ]
                          <== NOT EXECUTED

                                                                     

40005b4c <rtems_filesystem_eval_path_error>: {
40005b4c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  ctx->path = NULL;
                                                  
40005b50:	c0 26 00 00 	clr  [ %i0 ]
                                  
  if (!rtems_filesystem_location_is_null(&ctx->currentloc)) {
        
40005b54:	03 10 00 44 	sethi  %hi(0x40011000), %g1
                   
  ctx->pathlen = 0;
                                                  
40005b58:	c0 26 20 04 	clr  [ %i0 + 4 ]
                              
  if (!rtems_filesystem_location_is_null(&ctx->currentloc)) {
        
40005b5c:	82 10 62 b8 	or  %g1, 0x2b8, %g1
                           
  ctx->token = NULL;
                                                 
40005b60:	c0 26 20 08 	clr  [ %i0 + 8 ]
                              
  ctx->tokenlen = 0;
                                                 
40005b64:	c0 26 20 0c 	clr  [ %i0 + 0xc ]
                            
  if (!rtems_filesystem_location_is_null(&ctx->currentloc)) {
        
40005b68:	c4 06 20 28 	ld  [ %i0 + 0x28 ], %g2
                       
40005b6c:	80 a0 80 01 	cmp  %g2, %g1
                                 
40005b70:	02 80 00 0b 	be  40005b9c <rtems_filesystem_eval_path_error+0x50>

40005b74:	80 a6 60 00 	cmp  %i1, 0
                                   
    if (eno != 0) {
                                                  
40005b78:	12 80 00 04 	bne  40005b88 <rtems_filesystem_eval_path_error+0x3c>
<== ALWAYS TAKEN
40005b7c:	01 00 00 00 	nop 
                                          
    rtems_filesystem_location_detach(&ctx->currentloc);
              
40005b80:	40 00 01 23 	call  4000600c <rtems_filesystem_location_detach>
<== NOT EXECUTED
40005b84:	91 ee 20 18 	restore  %i0, 0x18, %o0
                       <== NOT EXECUTED
      errno = eno;
                                                   
40005b88:	40 00 26 54 	call  4000f4d8 <__errno>
                      
40005b8c:	b0 06 20 18 	add  %i0, 0x18, %i0
                           
40005b90:	f2 22 00 00 	st  %i1, [ %o0 ]
                              
    rtems_filesystem_location_detach(&ctx->currentloc);
              
40005b94:	40 00 01 1e 	call  4000600c <rtems_filesystem_location_detach>

40005b98:	81 e8 00 00 	restore 
                                      
}
                                                                    
40005b9c:	81 c7 e0 08 	ret 
                                          
40005ba0:	81 e8 00 00 	restore 
                                      

                                                                     

400058fc <rtems_filesystem_eval_path_generic>: void rtems_filesystem_eval_path_generic( rtems_filesystem_eval_path_context_t *ctx, void *arg, const rtems_filesystem_eval_path_generic_config *config ) {
400058fc:	9d e3 bf a0 	save  %sp, -96, %sp
                           
            } else {
                                                 
              /* This is the root file system */
                     
              status = (*config->eval_token)(ctx, arg, ".", 1);
      
            }
                                                        
          } else {
                                                   
            status = (*config->eval_token)(ctx, arg, "..", 2);
       
40005900:	21 10 00 44 	sethi  %hi(0x40011000), %l0
                   
{
                                                                    
40005904:	ba 10 00 18 	mov  %i0, %i5
                                 
  return &ctx->currentloc;
                                           
40005908:	a2 06 20 18 	add  %i0, 0x18, %l1
                           
            status = (*config->eval_token)(ctx, arg, "..", 2);
       
4000590c:	a0 14 22 68 	or  %l0, 0x268, %l0
                           
              status = (*config->eval_token)(ctx, arg, ".", 1);
      
40005910:	31 10 00 44 	sethi  %hi(0x40011000), %i0
                   
40005914:	b0 16 22 60 	or  %i0, 0x260, %i0	! 40011260 <rtems_filesystem_default_pathconf+0x30>

  rtems_filesystem_eval_path_next_token(ctx);
                        
40005918:	40 00 03 12 	call  40006560 <rtems_filesystem_eval_path_next_token>

4000591c:	90 10 00 1d 	mov  %i5, %o0
                                 
  *tokenlen = ctx->tokenlen;
                                         
40005920:	f8 07 60 0c 	ld  [ %i5 + 0xc ], %i4
                        
    if (tokenlen > 0) {
                                              
40005924:	80 a7 20 00 	cmp  %i4, 0
                                   
40005928:	02 80 00 19 	be  4000598c <rtems_filesystem_eval_path_generic+0x90>

4000592c:	f6 07 60 08 	ld  [ %i5 + 8 ], %i3
                          
      if ((*config->is_directory)(ctx, arg)) {
                       
40005930:	c2 06 80 00 	ld  [ %i2 ], %g1
                              
40005934:	92 10 00 19 	mov  %i1, %o1
                                 
40005938:	9f c0 40 00 	call  %g1
                                     
4000593c:	90 10 00 1d 	mov  %i5, %o0
                                 
40005940:	80 a2 20 00 	cmp  %o0, 0
                                   
40005944:	02 80 00 60 	be  40005ac4 <rtems_filesystem_eval_path_generic+0x1c8>
<== NEVER TAKEN
40005948:	80 a7 20 01 	cmp  %i4, 1
                                   
  return tokenlen == 1 && token [0] == '.';
                          
4000594c:	02 80 00 12 	be  40005994 <rtems_filesystem_eval_path_generic+0x98>

40005950:	80 a7 20 02 	cmp  %i4, 2
                                   
  return tokenlen == 2 && token [0] == '.' && token [1] == '.';
      
40005954:	22 80 00 33 	be,a   40005a20 <rtems_filesystem_eval_path_generic+0x124>
<== NEVER TAKEN
40005958:	c2 4e c0 00 	ldsb  [ %i3 ], %g1
                            <== NOT EXECUTED
          }
                                                          
        } else {
                                                     
          status = (*config->eval_token)(ctx, arg, token, tokenlen);
 
4000595c:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          
40005960:	96 10 00 1c 	mov  %i4, %o3
                                 
40005964:	94 10 00 1b 	mov  %i3, %o2
                                 
40005968:	92 10 00 19 	mov  %i1, %o1
                                 
4000596c:	9f c0 40 00 	call  %g1
                                     
40005970:	90 10 00 1d 	mov  %i5, %o0
                                 
        }
                                                            

                                                                     
        if (status == RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY) {
 
40005974:	80 a2 20 02 	cmp  %o0, 2
                                   
40005978:	22 80 00 19 	be,a   400059dc <rtems_filesystem_eval_path_generic+0xe0>

4000597c:	c2 07 60 04 	ld  [ %i5 + 4 ], %g1
                          
  while (status == RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE) {
    
40005980:	80 a2 20 00 	cmp  %o0, 0
                                   
40005984:	02 bf ff e5 	be  40005918 <rtems_filesystem_eval_path_generic+0x1c>

40005988:	01 00 00 00 	nop 
                                          
4000598c:	81 c7 e0 08 	ret 
                                          
40005990:	81 e8 00 00 	restore 
                                      
  return tokenlen == 1 && token [0] == '.';
                          
40005994:	c2 4e c0 00 	ldsb  [ %i3 ], %g1
                            
40005998:	80 a0 60 2e 	cmp  %g1, 0x2e
                                
4000599c:	32 bf ff f1 	bne,a   40005960 <rtems_filesystem_eval_path_generic+0x64>

400059a0:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          
          if (rtems_filesystem_eval_path_has_path(ctx)) {
            
400059a4:	c2 07 60 04 	ld  [ %i5 + 4 ], %g1
                          
400059a8:	80 a0 60 00 	cmp  %g1, 0
                                   
400059ac:	22 80 00 40 	be,a   40005aac <rtems_filesystem_eval_path_generic+0x1b0>
<== ALWAYS TAKEN
400059b0:	c2 07 60 10 	ld  [ %i5 + 0x10 ], %g1
                       
            status = (*config->eval_token)(ctx, arg, ".", 1);
        
400059b4:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          <== NOT EXECUTED
400059b8:	96 10 20 01 	mov  1, %o3
                                   
400059bc:	94 10 00 18 	mov  %i0, %o2
                                 
400059c0:	92 10 00 19 	mov  %i1, %o1
                                 
400059c4:	9f c0 40 00 	call  %g1
                                     
400059c8:	90 10 00 1d 	mov  %i5, %o0
                                 
        if (status == RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY) {
 
400059cc:	80 a2 20 02 	cmp  %o0, 2
                                   
400059d0:	12 bf ff ed 	bne  40005984 <rtems_filesystem_eval_path_generic+0x88>
<== ALWAYS TAKEN
400059d4:	80 a2 20 00 	cmp  %o0, 0
                                   
          if (rtems_filesystem_eval_path_has_path(ctx)) {
            
400059d8:	c2 07 60 04 	ld  [ %i5 + 4 ], %g1
                          <== NOT EXECUTED
400059dc:	80 a0 60 00 	cmp  %g1, 0
                                   
400059e0:	12 80 00 04 	bne  400059f0 <rtems_filesystem_eval_path_generic+0xf4>
<== NEVER TAKEN
400059e4:	01 00 00 00 	nop 
                                          
      }
                                                              
    } else {
                                                         
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;
              
    }
                                                                
  }
                                                                  
}
                                                                    
400059e8:	81 c7 e0 08 	ret 
                                          
400059ec:	81 e8 00 00 	restore 
                                      
            rtems_filesystem_eval_path_eat_delimiter(ctx);
           
400059f0:	40 00 02 be 	call  400064e8 <rtems_filesystem_eval_path_eat_delimiter>
<== NOT EXECUTED
400059f4:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0

400059f8:	c2 07 60 10 	ld  [ %i5 + 0x10 ], %g1
                       <== NOT EXECUTED
            if (
                                                     
400059fc:	80 88 60 80 	btst  0x80, %g1
                               <== NOT EXECUTED
40005a00:	02 80 00 06 	be  40005a18 <rtems_filesystem_eval_path_generic+0x11c>
<== NOT EXECUTED
40005a04:	b2 10 20 02 	mov  2, %i1
                                   <== NOT EXECUTED
                || rtems_filesystem_eval_path_has_path(ctx)
          
40005a08:	c2 07 60 04 	ld  [ %i5 + 4 ], %g1
                          <== NOT EXECUTED
40005a0c:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40005a10:	02 bf ff f6 	be  400059e8 <rtems_filesystem_eval_path_generic+0xec>
<== NOT EXECUTED
40005a14:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
              rtems_filesystem_eval_path_error(ctx, ENOENT);
         
40005a18:	40 00 00 4d 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005a1c:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED
  return tokenlen == 2 && token [0] == '.' && token [1] == '.';
      
40005a20:	80 a0 60 2e 	cmp  %g1, 0x2e
                                <== NOT EXECUTED
40005a24:	32 bf ff cf 	bne,a   40005960 <rtems_filesystem_eval_path_generic+0x64>
<== NOT EXECUTED
40005a28:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          <== NOT EXECUTED
40005a2c:	c2 4e e0 01 	ldsb  [ %i3 + 1 ], %g1
                        <== NOT EXECUTED
40005a30:	80 a0 60 2e 	cmp  %g1, 0x2e
                                <== NOT EXECUTED
40005a34:	32 bf ff cb 	bne,a   40005960 <rtems_filesystem_eval_path_generic+0x64>
<== NOT EXECUTED
40005a38:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          <== NOT EXECUTED
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;

40005a3c:	c2 07 60 2c 	ld  [ %i5 + 0x2c ], %g1
                       <== NOT EXECUTED
40005a40:	d2 07 60 30 	ld  [ %i5 + 0x30 ], %o1
                       <== NOT EXECUTED
40005a44:	c4 00 60 0c 	ld  [ %g1 + 0xc ], %g2
                        <== NOT EXECUTED
    && (*mt_entry->ops->are_nodes_equal_h)( loc, rootloc );
          
40005a48:	c6 02 60 14 	ld  [ %o1 + 0x14 ], %g3
                       <== NOT EXECUTED
40005a4c:	80 a0 40 03 	cmp  %g1, %g3
                                 <== NOT EXECUTED
40005a50:	12 80 00 0a 	bne  40005a78 <rtems_filesystem_eval_path_generic+0x17c>
<== NOT EXECUTED
40005a54:	c4 00 a0 10 	ld  [ %g2 + 0x10 ], %g2
                       <== NOT EXECUTED
40005a58:	9f c0 80 00 	call  %g2
                                     <== NOT EXECUTED
40005a5c:	90 10 00 11 	mov  %l1, %o0
                                 <== NOT EXECUTED
40005a60:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
40005a64:	32 bf ff d5 	bne,a   400059b8 <rtems_filesystem_eval_path_generic+0xbc>
<== NOT EXECUTED
40005a68:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          <== NOT EXECUTED
40005a6c:	c2 07 60 2c 	ld  [ %i5 + 0x2c ], %g1
                       <== NOT EXECUTED
40005a70:	c4 00 60 0c 	ld  [ %g1 + 0xc ], %g2
                        <== NOT EXECUTED
40005a74:	c4 00 a0 10 	ld  [ %g2 + 0x10 ], %g2
                       <== NOT EXECUTED
  return (*mt_entry->ops->are_nodes_equal_h)( loc, mt_fs_root );
     
40005a78:	d2 00 60 24 	ld  [ %g1 + 0x24 ], %o1
                       <== NOT EXECUTED
40005a7c:	9f c0 80 00 	call  %g2
                                     <== NOT EXECUTED
40005a80:	90 10 00 11 	mov  %l1, %o0
                                 <== NOT EXECUTED
          } else if (is_fs_root(currentloc)) {
                       
40005a84:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
40005a88:	12 80 00 12 	bne  40005ad0 <rtems_filesystem_eval_path_generic+0x1d4>
<== NOT EXECUTED
40005a8c:	96 10 20 02 	mov  2, %o3
                                   <== NOT EXECUTED
            status = (*config->eval_token)(ctx, arg, "..", 2);
       
40005a90:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          <== NOT EXECUTED
40005a94:	94 10 00 10 	mov  %l0, %o2
                                 <== NOT EXECUTED
40005a98:	92 10 00 19 	mov  %i1, %o1
                                 <== NOT EXECUTED
40005a9c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40005aa0:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
        if (status == RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY) {
 
40005aa4:	10 bf ff b5 	b  40005978 <rtems_filesystem_eval_path_generic+0x7c>
<== NOT EXECUTED
40005aa8:	80 a2 20 02 	cmp  %o0, 2
                                   <== NOT EXECUTED
            if ((eval_flags & RTEMS_FS_REJECT_TERMINAL_DOT) == 0) {
  
40005aac:	80 88 61 00 	btst  0x100, %g1
                              
40005ab0:	22 bf ff c2 	be,a   400059b8 <rtems_filesystem_eval_path_generic+0xbc>
<== ALWAYS TAKEN
40005ab4:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          
              rtems_filesystem_eval_path_error(ctx, EINVAL);
         
40005ab8:	b2 10 20 16 	mov  0x16, %i1
                                <== NOT EXECUTED
40005abc:	40 00 00 24 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005ac0:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED
        rtems_filesystem_eval_path_error(ctx, ENOTDIR);
              
40005ac4:	b2 10 20 14 	mov  0x14, %i1
                                <== NOT EXECUTED
40005ac8:	40 00 00 21 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005acc:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED
            if (currentloc->mt_entry->mt_point_node != NULL) {
       
40005ad0:	c2 07 60 2c 	ld  [ %i5 + 0x2c ], %g1
                       <== NOT EXECUTED
40005ad4:	c4 00 60 20 	ld  [ %g1 + 0x20 ], %g2
                       <== NOT EXECUTED
40005ad8:	80 a0 a0 00 	cmp  %g2, 0
                                   <== NOT EXECUTED
40005adc:	22 bf ff b7 	be,a   400059b8 <rtems_filesystem_eval_path_generic+0xbc>
<== NOT EXECUTED
40005ae0:	c2 06 a0 04 	ld  [ %i2 + 4 ], %g1
                          <== NOT EXECUTED
  size_t tokenlen = ctx->tokenlen;
                                   
40005ae4:	c8 07 60 0c 	ld  [ %i5 + 0xc ], %g4
                        <== NOT EXECUTED
  ctx->path -= tokenlen;
                                             
40005ae8:	c6 07 40 00 	ld  [ %i5 ], %g3
                              <== NOT EXECUTED
  ctx->pathlen += tokenlen;
                                          
40005aec:	c4 07 60 04 	ld  [ %i5 + 4 ], %g2
                          <== NOT EXECUTED
  ctx->path -= tokenlen;
                                             
40005af0:	86 20 c0 04 	sub  %g3, %g4, %g3
                            <== NOT EXECUTED
  ctx->pathlen += tokenlen;
                                          
40005af4:	84 00 80 04 	add  %g2, %g4, %g2
                            <== NOT EXECUTED
  ctx->path -= tokenlen;
                                             
40005af8:	c6 27 40 00 	st  %g3, [ %i5 ]
                              <== NOT EXECUTED
              rtems_filesystem_eval_path_restart(
                    
40005afc:	b2 00 60 20 	add  %g1, 0x20, %i1
                           <== NOT EXECUTED
  ctx->pathlen += tokenlen;
                                          
40005b00:	c4 27 60 04 	st  %g2, [ %i5 + 4 ]
                          <== NOT EXECUTED
  ctx->tokenlen = 0;
                                                 
40005b04:	c0 27 60 0c 	clr  [ %i5 + 0xc ]
                            <== NOT EXECUTED
40005b08:	40 00 00 e7 	call  40005ea4 <rtems_filesystem_eval_path_restart>
<== NOT EXECUTED
40005b0c:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED

                                                                     

40006560 <rtems_filesystem_eval_path_next_token>: const char *current = ctx->path;
40006560:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
  const char *end = current + ctx->pathlen;
                          
40006564:	c6 02 20 04 	ld  [ %o0 + 4 ], %g3
                          
40006568:	86 00 40 03 	add  %g1, %g3, %g3
                            
  while (current != end && rtems_filesystem_is_delimiter(*current)) {

4000656c:	80 a0 40 03 	cmp  %g1, %g3
                                 
40006570:	32 80 00 09 	bne,a   40006594 <rtems_filesystem_eval_path_next_token+0x34>
<== ALWAYS TAKEN
40006574:	c4 48 40 00 	ldsb  [ %g1 ], %g2
                            
40006578:	10 80 00 20 	b  400065f8 <rtems_filesystem_eval_path_next_token+0x98>
<== NOT EXECUTED
4000657c:	9a 10 20 00 	clr  %o5
                                      <== NOT EXECUTED
    ++current;
                                                       
40006580:	82 00 60 01 	inc  %g1
                                      
  while (current != end && rtems_filesystem_is_delimiter(*current)) {

40006584:	80 a0 c0 01 	cmp  %g3, %g1
                                 
40006588:	22 80 00 22 	be,a   40006610 <rtems_filesystem_eval_path_next_token+0xb0>

4000658c:	82 10 00 03 	mov  %g3, %g1
                                 
40006590:	c4 48 40 00 	ldsb  [ %g1 ], %g2
                            
40006594:	80 a0 a0 2f 	cmp  %g2, 0x2f
                                
40006598:	02 bf ff fa 	be  40006580 <rtems_filesystem_eval_path_next_token+0x20>

4000659c:	80 a0 a0 5c 	cmp  %g2, 0x5c
                                
400065a0:	22 bf ff f9 	be,a   40006584 <rtems_filesystem_eval_path_next_token+0x24>
<== NEVER TAKEN
400065a4:	82 00 60 01 	inc  %g1
                                      <== NOT EXECUTED
  ctx->path = current;
                                               
400065a8:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
  ctx->pathlen = (size_t) (end - current);
                           
400065ac:	9a 20 c0 01 	sub  %g3, %g1, %o5
                            
400065b0:	da 22 20 04 	st  %o5, [ %o0 + 4 ]
                          
400065b4:	c4 48 40 00 	ldsb  [ %g1 ], %g2
                            
{
                                                                    
  const char *begin = ctx->path;
                                     
  const char *end = begin + ctx->pathlen;
                            
  const char *current = begin;
                                       

                                                                     
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {

400065b8:	80 a0 a0 5c 	cmp  %g2, 0x5c
                                
400065bc:	02 80 00 1f 	be  40006638 <rtems_filesystem_eval_path_next_token+0xd8>
<== NEVER TAKEN
400065c0:	80 a0 a0 2f 	cmp  %g2, 0x2f
                                
400065c4:	02 80 00 1e 	be  4000663c <rtems_filesystem_eval_path_next_token+0xdc>
<== NEVER TAKEN
400065c8:	88 10 00 0d 	mov  %o5, %g4
                                 
400065cc:	10 80 00 07 	b  400065e8 <rtems_filesystem_eval_path_next_token+0x88>

400065d0:	84 10 00 01 	mov  %g1, %g2
                                 
400065d4:	80 a1 20 2f 	cmp  %g4, 0x2f
                                
400065d8:	02 80 00 10 	be  40006618 <rtems_filesystem_eval_path_next_token+0xb8>

400065dc:	80 a1 20 5c 	cmp  %g4, 0x5c
                                
400065e0:	02 80 00 0f 	be  4000661c <rtems_filesystem_eval_path_next_token+0xbc>
<== NEVER TAKEN
400065e4:	88 20 c0 02 	sub  %g3, %g2, %g4
                            
    ++current;
                                                       
400065e8:	84 00 a0 01 	inc  %g2
                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {

400065ec:	80 a0 80 03 	cmp  %g2, %g3
                                 
400065f0:	32 bf ff f9 	bne,a   400065d4 <rtems_filesystem_eval_path_next_token+0x74>

400065f4:	c8 48 80 00 	ldsb  [ %g2 ], %g4
                            
  while (current != end && rtems_filesystem_is_delimiter(*current)) {

400065f8:	88 10 20 00 	clr  %g4
                                      
  }
                                                                  

                                                                     
  ctx->path = current;
                                               
400065fc:	c6 22 00 00 	st  %g3, [ %o0 ]
                              
  ctx->pathlen = (size_t) (end - current);
                           
40006600:	c8 22 20 04 	st  %g4, [ %o0 + 4 ]
                          
  ctx->token = begin;
                                                
40006604:	c2 22 20 08 	st  %g1, [ %o0 + 8 ]
                          
  rtems_filesystem_eval_path_context_t *ctx
                          
)
                                                                    
{
                                                                    
  rtems_filesystem_eval_path_eat_delimiter(ctx);
                     
  next_token(ctx);
                                                   
}
                                                                    
40006608:	81 c3 e0 08 	retl 
                                         
4000660c:	da 22 20 0c 	st  %o5, [ %o0 + 0xc ]
                        
  while (current != end && rtems_filesystem_is_delimiter(*current)) {

40006610:	10 bf ff fa 	b  400065f8 <rtems_filesystem_eval_path_next_token+0x98>

40006614:	9a 10 20 00 	clr  %o5
                                      
40006618:	88 20 c0 02 	sub  %g3, %g2, %g4
                            
4000661c:	9a 20 80 01 	sub  %g2, %g1, %o5
                            
    ++current;
                                                       
40006620:	86 10 00 02 	mov  %g2, %g3
                                 
  ctx->pathlen = (size_t) (end - current);
                           
40006624:	c8 22 20 04 	st  %g4, [ %o0 + 4 ]
                          
  ctx->path = current;
                                               
40006628:	c6 22 00 00 	st  %g3, [ %o0 ]
                              
  ctx->token = begin;
                                                
4000662c:	c2 22 20 08 	st  %g1, [ %o0 + 8 ]
                          
}
                                                                    
40006630:	81 c3 e0 08 	retl 
                                         
40006634:	da 22 20 0c 	st  %o5, [ %o0 + 0xc ]
                        
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {

40006638:	88 10 00 0d 	mov  %o5, %g4
                                 <== NOT EXECUTED
4000663c:	86 10 00 01 	mov  %g1, %g3
                                 <== NOT EXECUTED
40006640:	10 bf ff ef 	b  400065fc <rtems_filesystem_eval_path_next_token+0x9c>
<== NOT EXECUTED
40006644:	9a 10 20 00 	clr  %o5
                                      <== NOT EXECUTED

                                                                     

40005f08 <rtems_filesystem_eval_path_recursive>: {
40005f08:	9d e3 bf a0 	save  %sp, -96, %sp
                           <== NOT EXECUTED
  if (pathlen > 0) {
                                                 
40005f0c:	80 a6 a0 00 	cmp  %i2, 0
                                   <== NOT EXECUTED
40005f10:	02 80 00 22 	be  40005f98 <rtems_filesystem_eval_path_recursive+0x90>
<== NOT EXECUTED
40005f14:	ba 10 00 18 	mov  %i0, %i5
                                 <== NOT EXECUTED
    if (ctx->recursionlevel < RTEMS_FILESYSTEM_SYMLOOP_MAX) {
        
40005f18:	c2 06 20 14 	ld  [ %i0 + 0x14 ], %g1
                       <== NOT EXECUTED
40005f1c:	80 a0 60 1f 	cmp  %g1, 0x1f
                                <== NOT EXECUTED
40005f20:	14 80 00 20 	bg  40005fa0 <rtems_filesystem_eval_path_recursive+0x98>
<== NOT EXECUTED
40005f24:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  return c == '/' || c == '\\';
                                      
40005f28:	c4 4e 40 00 	ldsb  [ %i1 ], %g2
                            <== NOT EXECUTED
      const char *saved_path = ctx->path;
                            
40005f2c:	f6 06 00 00 	ld  [ %i0 ], %i3
                              <== NOT EXECUTED
      if (rtems_filesystem_is_delimiter(path [0])) {
                 
40005f30:	80 a0 a0 2f 	cmp  %g2, 0x2f
                                <== NOT EXECUTED
40005f34:	02 80 00 1d 	be  40005fa8 <rtems_filesystem_eval_path_recursive+0xa0>
<== NOT EXECUTED
40005f38:	f8 06 20 04 	ld  [ %i0 + 4 ], %i4
                          <== NOT EXECUTED
40005f3c:	80 a0 a0 5c 	cmp  %g2, 0x5c
                                <== NOT EXECUTED
40005f40:	02 80 00 1b 	be  40005fac <rtems_filesystem_eval_path_recursive+0xa4>
<== NOT EXECUTED
40005f44:	92 07 60 30 	add  %i5, 0x30, %o1
                           <== NOT EXECUTED
      ++ctx->recursionlevel;
                                         
40005f48:	82 00 60 01 	inc  %g1
                                      <== NOT EXECUTED
      ctx->path = path;
                                              
40005f4c:	f2 27 40 00 	st  %i1, [ %i5 ]
                              <== NOT EXECUTED
      ctx->pathlen = pathlen;
                                        
40005f50:	f4 27 60 04 	st  %i2, [ %i5 + 4 ]
                          <== NOT EXECUTED
      ++ctx->recursionlevel;
                                         
40005f54:	c2 27 60 14 	st  %g1, [ %i5 + 0x14 ]
                       <== NOT EXECUTED
        (*ctx->currentloc.mt_entry->ops->eval_path_h)(ctx);
          
40005f58:	c2 07 60 2c 	ld  [ %i5 + 0x2c ], %g1
                       <== NOT EXECUTED
40005f5c:	c2 00 60 0c 	ld  [ %g1 + 0xc ], %g1
                        <== NOT EXECUTED
40005f60:	c2 00 60 08 	ld  [ %g1 + 8 ], %g1
                          <== NOT EXECUTED
40005f64:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40005f68:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
      while (ctx->pathlen > 0) {
                                     
40005f6c:	c2 07 60 04 	ld  [ %i5 + 4 ], %g1
                          <== NOT EXECUTED
40005f70:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40005f74:	32 bf ff fa 	bne,a   40005f5c <rtems_filesystem_eval_path_recursive+0x54>
<== NOT EXECUTED
40005f78:	c2 07 60 2c 	ld  [ %i5 + 0x2c ], %g1
                       <== NOT EXECUTED
      --ctx->recursionlevel;
                                         
40005f7c:	c2 07 60 14 	ld  [ %i5 + 0x14 ], %g1
                       <== NOT EXECUTED
40005f80:	82 00 7f ff 	add  %g1, -1, %g1
                             <== NOT EXECUTED
      ctx->path = saved_path;
                                        
40005f84:	f6 27 40 00 	st  %i3, [ %i5 ]
                              <== NOT EXECUTED
      --ctx->recursionlevel;
                                         
40005f88:	c2 27 60 14 	st  %g1, [ %i5 + 0x14 ]
                       <== NOT EXECUTED
      ctx->pathlen = saved_pathlen;
                                  
40005f8c:	f8 27 60 04 	st  %i4, [ %i5 + 4 ]
                          <== NOT EXECUTED
}
                                                                    
40005f90:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40005f94:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    rtems_filesystem_eval_path_error(ctx, ENOENT);
                   
40005f98:	7f ff fe ed 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005f9c:	93 e8 20 02 	restore  %g0, 2, %o1
                          <== NOT EXECUTED
      rtems_filesystem_eval_path_error(ctx, ELOOP);
                  
40005fa0:	7f ff fe eb 	call  40005b4c <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40005fa4:	93 e8 20 5c 	restore  %g0, 0x5c, %o1
                       <== NOT EXECUTED
        rtems_filesystem_eval_path_restart(ctx, &ctx->rootloc);
      
40005fa8:	92 07 60 30 	add  %i5, 0x30, %o1
                           <== NOT EXECUTED
40005fac:	7f ff ff be 	call  40005ea4 <rtems_filesystem_eval_path_restart>
<== NOT EXECUTED
40005fb0:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
40005fb4:	10 bf ff e5 	b  40005f48 <rtems_filesystem_eval_path_recursive+0x40>
<== NOT EXECUTED
40005fb8:	c2 07 60 14 	ld  [ %i5 + 0x14 ], %g1
                       <== NOT EXECUTED

                                                                     

40005ea4 <rtems_filesystem_eval_path_restart>: void rtems_filesystem_eval_path_restart( rtems_filesystem_eval_path_context_t *ctx, rtems_filesystem_global_location_t **newstartloc_ptr ) {
40005ea4:	9d e3 bf a0 	save  %sp, -96, %sp
                           <== NOT EXECUTED
40005ea8:	ba 10 00 18 	mov  %i0, %i5
                                 <== NOT EXECUTED
  free_location(&ctx->currentloc);
                                   
40005eac:	b0 06 20 18 	add  %i0, 0x18, %i0
                           <== NOT EXECUTED
40005eb0:	7f ff ff 18 	call  40005b10 <free_location>
                <== NOT EXECUTED
40005eb4:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
40005eb8:	c2 07 60 34 	ld  [ %i5 + 0x34 ], %g1
                       <== NOT EXECUTED
40005ebc:	d0 00 60 14 	ld  [ %g1 + 0x14 ], %o0
                       <== NOT EXECUTED
40005ec0:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        <== NOT EXECUTED
40005ec4:	c2 00 60 04 	ld  [ %g1 + 4 ], %g1
                          <== NOT EXECUTED
40005ec8:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40005ecc:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  rtems_filesystem_instance_unlock(&ctx->startloc->location);
        
  rtems_filesystem_global_location_assign(
                           
40005ed0:	40 00 00 b1 	call  40006194 <rtems_filesystem_global_location_obtain>
<== NOT EXECUTED
40005ed4:	90 10 00 19 	mov  %i1, %o0
                                 <== NOT EXECUTED
40005ed8:	92 10 00 08 	mov  %o0, %o1
                                 <== NOT EXECUTED
40005edc:	40 00 01 02 	call  400062e4 <rtems_filesystem_global_location_assign>
<== NOT EXECUTED
40005ee0:	90 07 60 34 	add  %i5, 0x34, %o0
                           <== NOT EXECUTED
40005ee4:	c2 07 60 34 	ld  [ %i5 + 0x34 ], %g1
                       <== NOT EXECUTED
40005ee8:	d0 00 60 14 	ld  [ %g1 + 0x14 ], %o0
                       <== NOT EXECUTED
  (*mt_entry->ops->lock_h)( mt_entry );
                              
40005eec:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        <== NOT EXECUTED
40005ef0:	c2 00 40 00 	ld  [ %g1 ], %g1
                              <== NOT EXECUTED
40005ef4:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40005ef8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    &ctx->startloc,
                                                  
    rtems_filesystem_global_location_obtain(newstartloc_ptr)
         
  );
                                                                 
  rtems_filesystem_instance_lock(&ctx->startloc->location);
          
  rtems_filesystem_location_clone(&ctx->currentloc, &ctx->startloc->location);

40005efc:	f2 07 60 34 	ld  [ %i5 + 0x34 ], %i1
                       <== NOT EXECUTED
40005f00:	40 00 20 4a 	call  4000e028 <rtems_filesystem_location_clone>
<== NOT EXECUTED
40005f04:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

400061b0 <rtems_filesystem_eval_path_start_with_parent>: {
400061b0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  size_t pathlen = strlen(path);
                                     
400061b4:	40 00 2d 91 	call  400117f8 <strlen>
                       
400061b8:	90 10 00 19 	mov  %i1, %o0
                                 
  while (pathlen > 0) {
                                              
400061bc:	a0 92 20 00 	orcc  %o0, 0, %l0
                             
400061c0:	02 80 00 32 	be  40006288 <rtems_filesystem_eval_path_start_with_parent+0xd8>
<== NEVER TAKEN
400061c4:	a2 10 00 19 	mov  %i1, %l1
                                 
    size_t i = pathlen - 1;
                                          
400061c8:	ba 04 3f ff 	add  %l0, -1, %i5
                             
  return c == '/' || c == '\\';
                                      
400061cc:	c2 4e 40 1d 	ldsb  [ %i1 + %i5 ], %g1
                      
    if (rtems_filesystem_is_delimiter(path [i])) {
                   
400061d0:	80 a0 60 2f 	cmp  %g1, 0x2f
                                
400061d4:	02 80 00 30 	be  40006294 <rtems_filesystem_eval_path_start_with_parent+0xe4>
<== NEVER TAKEN
400061d8:	80 a0 60 5c 	cmp  %g1, 0x5c
                                
400061dc:	12 80 00 0c 	bne  4000620c <rtems_filesystem_eval_path_start_with_parent+0x5c>
<== ALWAYS TAKEN
400061e0:	80 a7 60 00 	cmp  %i5, 0
                                   
400061e4:	10 80 00 2e 	b  4000629c <rtems_filesystem_eval_path_start_with_parent+0xec>
<== NOT EXECUTED
400061e8:	ba 10 00 10 	mov  %l0, %i5
                                 <== NOT EXECUTED
400061ec:	c4 4e 40 01 	ldsb  [ %i1 + %g1 ], %g2
                      
400061f0:	80 a0 a0 2f 	cmp  %g2, 0x2f
                                
400061f4:	02 80 00 21 	be  40006278 <rtems_filesystem_eval_path_start_with_parent+0xc8>

400061f8:	80 a0 a0 5c 	cmp  %g2, 0x5c
                                
400061fc:	02 80 00 20 	be  4000627c <rtems_filesystem_eval_path_start_with_parent+0xcc>
<== NEVER TAKEN
40006200:	a2 10 00 19 	mov  %i1, %l1
                                 
    size_t i = pathlen - 1;
                                          
40006204:	ba 10 00 01 	mov  %g1, %i5
                                 
  while (pathlen > 0) {
                                              
40006208:	80 a7 60 00 	cmp  %i5, 0
                                   
4000620c:	12 bf ff f8 	bne  400061ec <rtems_filesystem_eval_path_start_with_parent+0x3c>

40006210:	82 07 7f ff 	add  %i5, -1, %g1
                             
      parentpath = ".";
                                              
40006214:	23 10 00 4c 	sethi  %hi(0x40013000), %l1
                   
      parentpathlen = 1;
                                             
40006218:	ba 10 20 01 	mov  1, %i5
                                   
      parentpath = ".";
                                              
4000621c:	a2 14 63 98 	or  %l1, 0x398, %l1
                           
    &rtems_filesystem_root,
                                          
40006220:	7f ff fd bd 	call  40005914 <rtems_current_user_env_get>
   
40006224:	01 00 00 00 	nop 
                                          
    &rtems_filesystem_current
                                        
40006228:	7f ff fd bb 	call  40005914 <rtems_current_user_env_get>
   
4000622c:	a4 10 00 08 	mov  %o0, %l2
                                 
  currentloc = rtems_filesystem_eval_path_start_with_root_and_current(

40006230:	98 04 a0 04 	add  %l2, 4, %o4
                              
40006234:	9a 10 00 08 	mov  %o0, %o5
                                 
40006238:	96 10 00 1c 	mov  %i4, %o3
                                 
4000623c:	94 10 00 1d 	mov  %i5, %o2
                                 
40006240:	92 10 00 11 	mov  %l1, %o1
                                 
40006244:	7f ff ff 79 	call  40006028 <rtems_filesystem_eval_path_start_with_root_and_current>

40006248:	90 10 00 18 	mov  %i0, %o0
                                 
  rtems_filesystem_location_clone(parentloc, currentloc);
            
4000624c:	92 10 00 08 	mov  %o0, %o1
                                 
40006250:	40 00 23 45 	call  4000ef64 <rtems_filesystem_location_clone>

40006254:	90 10 00 1b 	mov  %i3, %o0
                                 
  ctx->path = name;
                                                  
40006258:	f2 26 00 00 	st  %i1, [ %i0 ]
                              
  rtems_filesystem_eval_path_continue(ctx);
                          
4000625c:	90 10 00 18 	mov  %i0, %o0
                                 
  ctx->pathlen = namelen;
                                            
40006260:	e0 26 20 04 	st  %l0, [ %i0 + 4 ]
                          
  return &ctx->currentloc;
                                           
40006264:	b0 06 20 18 	add  %i0, 0x18, %i0
                           
  rtems_filesystem_eval_path_continue(ctx);
                          
40006268:	7f ff ff 53 	call  40005fb4 <rtems_filesystem_eval_path_continue>

4000626c:	f4 26 3f f8 	st  %i2, [ %i0 + -8 ]
                         
}
                                                                    
40006270:	81 c7 e0 08 	ret 
                                          
40006274:	81 e8 00 00 	restore 
                                      
      name = path + parentpathlen;
                                   
40006278:	a2 10 00 19 	mov  %i1, %l1
                                 
4000627c:	a0 24 00 1d 	sub  %l0, %i5, %l0
                            
40006280:	10 bf ff e8 	b  40006220 <rtems_filesystem_eval_path_start_with_parent+0x70>

40006284:	b2 06 40 1d 	add  %i1, %i5, %i1
                            
  return 0;
                                                          
40006288:	ba 10 20 00 	clr  %i5
                                      <== NOT EXECUTED
  const char *name = NULL;
                                           
4000628c:	10 bf ff e5 	b  40006220 <rtems_filesystem_eval_path_start_with_parent+0x70>
<== NOT EXECUTED
40006290:	b2 10 20 00 	clr  %i1
                                      <== NOT EXECUTED
    if (rtems_filesystem_is_delimiter(path [i])) {
                   
40006294:	ba 10 00 10 	mov  %l0, %i5
                                 <== NOT EXECUTED
      name = path + parentpathlen;
                                   
40006298:	a2 10 00 19 	mov  %i1, %l1
                                 <== NOT EXECUTED
    if (rtems_filesystem_is_delimiter(path [i])) {
                   
4000629c:	a0 10 20 00 	clr  %l0
                                      <== NOT EXECUTED
      name = path + parentpathlen;
                                   
400062a0:	10 bf ff e0 	b  40006220 <rtems_filesystem_eval_path_start_with_parent+0x70>
<== NOT EXECUTED
400062a4:	b2 06 40 1d 	add  %i1, %i5, %i1
                            <== NOT EXECUTED

                                                                     

40005ce0 <rtems_filesystem_eval_path_start_with_root_and_current>: {
40005ce0:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  memset(ctx, 0, sizeof(*ctx));
                                      
40005ce4:	94 10 20 30 	mov  0x30, %o2
                                
40005ce8:	92 10 20 00 	clr  %o1
                                      
40005cec:	40 00 26 c4 	call  4000f7fc <memset>
                       
40005cf0:	90 06 20 08 	add  %i0, 8, %o0
                              
  ctx->path = path;
                                                  
40005cf4:	f2 26 00 00 	st  %i1, [ %i0 ]
                              
  if (ctx->pathlen > 0) {
                                            
40005cf8:	80 a6 a0 00 	cmp  %i2, 0
                                   
  ctx->pathlen = pathlen;
                                            
40005cfc:	f4 26 20 04 	st  %i2, [ %i0 + 4 ]
                          
  if (ctx->pathlen > 0) {
                                            
40005d00:	02 80 00 1d 	be  40005d74 <rtems_filesystem_eval_path_start_with_root_and_current+0x94>

40005d04:	f6 26 20 10 	st  %i3, [ %i0 + 0x10 ]
                       
    char c = ctx->path [0];
                                          
40005d08:	f6 0e 40 00 	ldub  [ %i1 ], %i3
                            
    ctx->rootloc = rtems_filesystem_global_location_obtain(global_root_ptr);

40005d0c:	40 00 01 22 	call  40006194 <rtems_filesystem_global_location_obtain>

40005d10:	90 10 00 1c 	mov  %i4, %o0
                                 
  return c == '/' || c == '\\';
                                      
40005d14:	83 2e e0 18 	sll  %i3, 0x18, %g1
                           
40005d18:	83 38 60 18 	sra  %g1, 0x18, %g1
                           
    if (rtems_filesystem_is_delimiter(c)) {
                          
40005d1c:	80 a0 60 2f 	cmp  %g1, 0x2f
                                
40005d20:	02 80 00 2f 	be  40005ddc <rtems_filesystem_eval_path_start_with_root_and_current+0xfc>

40005d24:	d0 26 20 30 	st  %o0, [ %i0 + 0x30 ]
                       
40005d28:	80 a0 60 5c 	cmp  %g1, 0x5c
                                
40005d2c:	22 80 00 2d 	be,a   40005de0 <rtems_filesystem_eval_path_start_with_root_and_current+0x100>
<== NEVER TAKEN
40005d30:	c4 06 00 00 	ld  [ %i0 ], %g2
                              <== NOT EXECUTED
      ctx->startloc = rtems_filesystem_global_location_obtain(
       
40005d34:	40 00 01 18 	call  40006194 <rtems_filesystem_global_location_obtain>

40005d38:	90 10 00 1d 	mov  %i5, %o0
                                 
40005d3c:	d0 26 20 34 	st  %o0, [ %i0 + 0x34 ]
                       
40005d40:	d0 02 20 14 	ld  [ %o0 + 0x14 ], %o0
                       
  (*mt_entry->ops->lock_h)( mt_entry );
                              
40005d44:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        
40005d48:	c2 00 40 00 	ld  [ %g1 ], %g1
                              
40005d4c:	9f c0 40 00 	call  %g1
                                     
40005d50:	ba 06 20 18 	add  %i0, 0x18, %i5
                           
  rtems_filesystem_location_clone(
                                   
40005d54:	d2 06 20 34 	ld  [ %i0 + 0x34 ], %o1
                       
40005d58:	40 00 20 b4 	call  4000e028 <rtems_filesystem_location_clone>

40005d5c:	90 10 00 1d 	mov  %i5, %o0
                                 
  rtems_filesystem_eval_path_continue(ctx);
                          
40005d60:	90 10 00 18 	mov  %i0, %o0
                                 
40005d64:	7f ff ff c2 	call  40005c6c <rtems_filesystem_eval_path_continue>

40005d68:	b0 10 00 1d 	mov  %i5, %i0
                                 
}
                                                                    
40005d6c:	81 c7 e0 08 	ret 
                                          
40005d70:	81 e8 00 00 	restore 
                                      
  rtems_filesystem_global_location_t *global_loc = NULL;
             
40005d74:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             
  return rtems_filesystem_global_location_obtain( &global_loc );
     
40005d78:	40 00 01 07 	call  40006194 <rtems_filesystem_global_location_obtain>

40005d7c:	90 07 bf fc 	add  %fp, -4, %o0
                             
    ctx->rootloc = rtems_filesystem_global_location_obtain_null();
   
40005d80:	d0 26 20 30 	st  %o0, [ %i0 + 0x30 ]
                       
40005d84:	90 07 bf fc 	add  %fp, -4, %o0
                             
40005d88:	40 00 01 03 	call  40006194 <rtems_filesystem_global_location_obtain>

40005d8c:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             
    ctx->startloc = rtems_filesystem_global_location_obtain_null();
  
40005d90:	d0 26 20 34 	st  %o0, [ %i0 + 0x34 ]
                       
    errno = ENOENT;
                                                  
40005d94:	40 00 25 d1 	call  4000f4d8 <__errno>
                      
40005d98:	ba 06 20 18 	add  %i0, 0x18, %i5
                           
40005d9c:	82 10 20 02 	mov  2, %g1
                                   
40005da0:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
40005da4:	d0 06 20 34 	ld  [ %i0 + 0x34 ], %o0
                       
40005da8:	d0 02 20 14 	ld  [ %o0 + 0x14 ], %o0
                       
  (*mt_entry->ops->lock_h)( mt_entry );
                              
40005dac:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        
40005db0:	c2 00 40 00 	ld  [ %g1 ], %g1
                              
40005db4:	9f c0 40 00 	call  %g1
                                     
40005db8:	01 00 00 00 	nop 
                                          
  rtems_filesystem_location_clone(
                                   
40005dbc:	d2 06 20 34 	ld  [ %i0 + 0x34 ], %o1
                       
40005dc0:	40 00 20 9a 	call  4000e028 <rtems_filesystem_location_clone>

40005dc4:	90 10 00 1d 	mov  %i5, %o0
                                 
  rtems_filesystem_eval_path_continue(ctx);
                          
40005dc8:	90 10 00 18 	mov  %i0, %o0
                                 
40005dcc:	7f ff ff a8 	call  40005c6c <rtems_filesystem_eval_path_continue>

40005dd0:	b0 10 00 1d 	mov  %i5, %i0
                                 
}
                                                                    
40005dd4:	81 c7 e0 08 	ret 
                                          
40005dd8:	81 e8 00 00 	restore 
                                      
      ++ctx->path;
                                                   
40005ddc:	c4 06 00 00 	ld  [ %i0 ], %g2
                              
      --ctx->pathlen;
                                                
40005de0:	c2 06 20 04 	ld  [ %i0 + 4 ], %g1
                          
      ++ctx->path;
                                                   
40005de4:	84 00 a0 01 	inc  %g2
                                      
      --ctx->pathlen;
                                                
40005de8:	82 00 7f ff 	add  %g1, -1, %g1
                             
      ++ctx->path;
                                                   
40005dec:	c4 26 00 00 	st  %g2, [ %i0 ]
                              
      ctx->startloc = rtems_filesystem_global_location_obtain(
       
40005df0:	90 06 20 30 	add  %i0, 0x30, %o0
                           
      --ctx->pathlen;
                                                
40005df4:	c2 26 20 04 	st  %g1, [ %i0 + 4 ]
                          
      ctx->startloc = rtems_filesystem_global_location_obtain(
       
40005df8:	40 00 00 e7 	call  40006194 <rtems_filesystem_global_location_obtain>

40005dfc:	ba 06 20 18 	add  %i0, 0x18, %i5
                           
40005e00:	d0 26 20 34 	st  %o0, [ %i0 + 0x34 ]
                       
40005e04:	d0 02 20 14 	ld  [ %o0 + 0x14 ], %o0
                       
40005e08:	c2 02 20 0c 	ld  [ %o0 + 0xc ], %g1
                        
40005e0c:	c2 00 40 00 	ld  [ %g1 ], %g1
                              
40005e10:	9f c0 40 00 	call  %g1
                                     
40005e14:	01 00 00 00 	nop 
                                          
  rtems_filesystem_location_clone(
                                   
40005e18:	d2 06 20 34 	ld  [ %i0 + 0x34 ], %o1
                       
40005e1c:	40 00 20 83 	call  4000e028 <rtems_filesystem_location_clone>

40005e20:	90 10 00 1d 	mov  %i5, %o0
                                 
  rtems_filesystem_eval_path_continue(ctx);
                          
40005e24:	90 10 00 18 	mov  %i0, %o0
                                 
40005e28:	7f ff ff 91 	call  40005c6c <rtems_filesystem_eval_path_continue>

40005e2c:	b0 10 00 1d 	mov  %i5, %i0
                                 
}
                                                                    
40005e30:	81 c7 e0 08 	ret 
                                          
40005e34:	81 e8 00 00 	restore 
                                      

                                                                     

4000e38c <rtems_filesystem_get_mount_handler>: rtems_filesystem_fsmount_me_t rtems_filesystem_get_mount_handler( const char *type ) {
4000e38c:	9d e3 bf 98 	save  %sp, -104, %sp
                          
4000e390:	82 10 00 18 	mov  %i0, %g1
                                 
  find_arg fa = {
                                                    
4000e394:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             
4000e398:	b0 10 20 00 	clr  %i0
                                      
    .type = type,
                                                    
    .mount_h = NULL
                                                  
  };
                                                                 

                                                                     
  if ( type != NULL ) {
                                              
4000e39c:	80 a0 60 00 	cmp  %g1, 0
                                   
4000e3a0:	02 80 00 07 	be  4000e3bc <rtems_filesystem_get_mount_handler+0x30>
<== NEVER TAKEN
4000e3a4:	c2 27 bf f8 	st  %g1, [ %fp + -8 ]
                         
    rtems_filesystem_iterate( find_handler, &fa );
                   
4000e3a8:	92 07 bf f8 	add  %fp, -8, %o1
                             
4000e3ac:	11 10 00 38 	sethi  %hi(0x4000e000), %o0
                   
4000e3b0:	7f ff ff cb 	call  4000e2dc <rtems_filesystem_iterate>
     
4000e3b4:	90 12 22 a8 	or  %o0, 0x2a8, %o0	! 4000e2a8 <find_handler>
 
4000e3b8:	f0 07 bf fc 	ld  [ %fp + -4 ], %i0
                         
  }
                                                                  

                                                                     
  return fa.mount_h;
                                                 
}
                                                                    
4000e3bc:	81 c7 e0 08 	ret 
                                          
4000e3c0:	81 e8 00 00 	restore 
                                      

                                                                     

400062e4 <rtems_filesystem_global_location_assign>: {
400062e4:	84 10 00 08 	mov  %o0, %g2
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

400062e8:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  lhs_global_loc = *lhs_global_loc_ptr;
                              
400062ec:	d0 02 00 00 	ld  [ %o0 ], %o0
                              <== NOT EXECUTED
  *lhs_global_loc_ptr = rhs_global_loc;
                              
400062f0:	d2 20 80 00 	st  %o1, [ %g2 ]
                              <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

400062f4:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
400062f8:	01 00 00 00 	nop 
                                          
  rtems_filesystem_global_location_release(lhs_global_loc, true);
    
400062fc:	92 10 20 01 	mov  1, %o1	! 1 <_TLS_Alignment>
              
40006300:	82 13 c0 00 	mov  %o7, %g1
                                 
40006304:	7f ff ff de 	call  4000627c <rtems_filesystem_global_location_release>

40006308:	9e 10 40 00 	mov  %g1, %o7
                                 

                                                                     

40006194 <rtems_filesystem_global_location_obtain>: {
40006194:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  if (deferred_released_global_locations != NULL) {
                  
40006198:	3b 10 00 50 	sethi  %hi(0x40014000), %i5
                   
4000619c:	c2 07 62 20 	ld  [ %i5 + 0x220 ], %g1	! 40014220 <deferred_released_global_locations>

400061a0:	80 a0 60 00 	cmp  %g1, 0
                                   
400061a4:	02 80 00 1e 	be  4000621c <rtems_filesystem_global_location_obtain+0x88>

400061a8:	01 00 00 00 	nop 
                                          
400061ac:	ba 17 62 20 	or  %i5, 0x220, %i5
                           <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

400061b0:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
    current = deferred_released_global_locations;
                    
400061b4:	d0 07 40 00 	ld  [ %i5 ], %o0
                              
    if (current != NULL) {
                                           
400061b8:	80 a2 20 00 	cmp  %o0, 0
                                   
400061bc:	02 80 00 07 	be  400061d8 <rtems_filesystem_global_location_obtain+0x44>
<== NEVER TAKEN
400061c0:	92 10 20 00 	clr  %o1
                                      
      deferred_released_global_locations = current->deferred_released_next;

400061c4:	c4 02 20 1c 	ld  [ %o0 + 0x1c ], %g2
                       <== NOT EXECUTED
      count = current->deferred_released_count;
                      
400061c8:	d2 02 20 20 	ld  [ %o0 + 0x20 ], %o1
                       <== NOT EXECUTED
      deferred_released_global_locations = current->deferred_released_next;

400061cc:	c4 27 40 00 	st  %g2, [ %i5 ]
                              <== NOT EXECUTED
      current->deferred_released_next = NULL;
                        
400061d0:	c0 22 20 1c 	clr  [ %o0 + 0x1c ]
                           <== NOT EXECUTED
      current->deferred_released_count = 0;
                          
400061d4:	c0 22 20 20 	clr  [ %o0 + 0x20 ]
                           <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

400061d8:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
400061dc:	01 00 00 00 	nop 
                                          
    if (current != NULL) {
                                           
400061e0:	80 a2 20 00 	cmp  %o0, 0
                                   
400061e4:	02 80 00 0e 	be  4000621c <rtems_filesystem_global_location_obtain+0x88>
<== NEVER TAKEN
400061e8:	01 00 00 00 	nop 
                                          
      release_with_count(current, count);
                            
400061ec:	7f ff ff be 	call  400060e4 <release_with_count>
           
400061f0:	01 00 00 00 	nop 
                                          
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

400061f4:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
    current = deferred_released_global_locations;
                    
400061f8:	d0 07 40 00 	ld  [ %i5 ], %o0
                              
    if (current != NULL) {
                                           
400061fc:	80 a2 20 00 	cmp  %o0, 0
                                   
40006200:	12 bf ff f1 	bne  400061c4 <rtems_filesystem_global_location_obtain+0x30>
<== NEVER TAKEN
40006204:	92 10 20 00 	clr  %o1
                                      <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40006208:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000620c:	01 00 00 00 	nop 
                                          
    if (current != NULL) {
                                           
40006210:	80 a2 20 00 	cmp  %o0, 0
                                   
40006214:	12 bf ff f6 	bne  400061ec <rtems_filesystem_global_location_obtain+0x58>
<== NEVER TAKEN
40006218:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000621c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  global_loc = *global_loc_ptr;
                                      
40006220:	f0 06 00 00 	ld  [ %i0 ], %i0
                              
  if (global_loc == NULL || !global_loc->location.mt_entry->mounted) {

40006224:	80 a6 20 00 	cmp  %i0, 0
                                   
40006228:	02 80 00 07 	be  40006244 <rtems_filesystem_global_location_obtain+0xb0>

4000622c:	01 00 00 00 	nop 
                                          
40006230:	c4 06 20 14 	ld  [ %i0 + 0x14 ], %g2
                       
40006234:	c4 08 a0 28 	ldub  [ %g2 + 0x28 ], %g2
                     
40006238:	80 a0 a0 00 	cmp  %g2, 0
                                   
4000623c:	32 80 00 0a 	bne,a   40006264 <rtems_filesystem_global_location_obtain+0xd0>

40006240:	c4 06 20 18 	ld  [ %i0 + 0x18 ], %g2
                       
    errno = ENXIO;
                                                   
40006244:	40 00 24 a5 	call  4000f4d8 <__errno>
                      
40006248:	c2 27 bf fc 	st  %g1, [ %fp + -4 ]
                         
4000624c:	84 10 20 06 	mov  6, %g2
                                   <== NOT EXECUTED
40006250:	c4 22 00 00 	st  %g2, [ %o0 ]
                              <== NOT EXECUTED
    global_loc = &rtems_filesystem_global_location_null;
             
40006254:	31 10 00 4b 	sethi  %hi(0x40012c00), %i0
                   <== NOT EXECUTED
40006258:	c2 07 bf fc 	ld  [ %fp + -4 ], %g1
                         <== NOT EXECUTED
4000625c:	b0 16 23 f0 	or  %i0, 0x3f0, %i0
                           <== NOT EXECUTED
  ++global_loc->reference_count;
                                     
40006260:	c4 06 20 18 	ld  [ %i0 + 0x18 ], %g2
                       <== NOT EXECUTED
40006264:	84 00 a0 01 	inc  %g2
                                      <== NOT EXECUTED
40006268:	c4 26 20 18 	st  %g2, [ %i0 + 0x18 ]
                       <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000626c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40006270:	01 00 00 00 	nop 
                                          
}
                                                                    
40006274:	81 c7 e0 08 	ret 
                                          
40006278:	81 e8 00 00 	restore 
                                      

                                                                     

4000627c <rtems_filesystem_global_location_release>: if (!deferred) {
4000627c:	80 a2 60 00 	cmp  %o1, 0
                                   
40006280:	22 80 00 16 	be,a   400062d8 <rtems_filesystem_global_location_release+0x5c>

40006284:	92 10 20 01 	mov  1, %o1
                                   
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40006288:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
    if (global_loc->deferred_released_count == 0) {
                  
4000628c:	c6 02 20 20 	ld  [ %o0 + 0x20 ], %g3
                       
40006290:	80 a0 e0 00 	cmp  %g3, 0
                                   
40006294:	22 80 00 08 	be,a   400062b4 <rtems_filesystem_global_location_release+0x38>

40006298:	07 10 00 50 	sethi  %hi(0x40014000), %g3
                   
      ++global_loc->deferred_released_count;
                         
4000629c:	86 00 e0 01 	inc  %g3
                                      
400062a0:	c6 22 20 20 	st  %g3, [ %o0 + 0x20 ]
                       <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

400062a4:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
400062a8:	01 00 00 00 	nop 
                                          
}
                                                                    
400062ac:	81 c3 e0 08 	retl 
                                         
400062b0:	01 00 00 00 	nop 
                                          
      rtems_filesystem_global_location_t *head =
                     
400062b4:	c8 00 e2 20 	ld  [ %g3 + 0x220 ], %g4
                      
      global_loc->deferred_released_next = head;
                     
400062b8:	c8 22 20 1c 	st  %g4, [ %o0 + 0x1c ]
                       <== NOT EXECUTED
      global_loc->deferred_released_count = 1;
                       
400062bc:	88 10 20 01 	mov  1, %g4
                                   <== NOT EXECUTED
      deferred_released_global_locations = global_loc;
               
400062c0:	d0 20 e2 20 	st  %o0, [ %g3 + 0x220 ]
                      <== NOT EXECUTED
      global_loc->deferred_released_count = 1;
                       
400062c4:	c8 22 20 20 	st  %g4, [ %o0 + 0x20 ]
                       <== NOT EXECUTED
400062c8:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
400062cc:	01 00 00 00 	nop 
                                          
}
                                                                    
400062d0:	81 c3 e0 08 	retl 
                                         
400062d4:	01 00 00 00 	nop 
                                          
    release_with_count(global_loc, 1);
                               
400062d8:	82 13 c0 00 	mov  %o7, %g1
                                 
400062dc:	7f ff ff 82 	call  400060e4 <release_with_count>
           
400062e0:	9e 10 40 00 	mov  %g1, %o7
                                 

                                                                     

40004a48 <rtems_filesystem_initialize>: /* * Default mode for created files. */ void rtems_filesystem_initialize( void ) {
40004a48:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  int rv = 0;
                                                        
  const rtems_filesystem_mount_configuration *root_config =
          
    &rtems_filesystem_root_configuration;
                            

                                                                     
  rv = mount(
                                                        
40004a4c:	05 10 00 43 	sethi  %hi(0x40010c00), %g2
                   
40004a50:	82 10 a1 74 	or  %g2, 0x174, %g1	! 40010d74 <rtems_filesystem_root_configuration>

40004a54:	d0 00 a1 74 	ld  [ %g2 + 0x174 ], %o0
                      
40004a58:	d8 00 60 10 	ld  [ %g1 + 0x10 ], %o4
                       
40004a5c:	d6 00 60 0c 	ld  [ %g1 + 0xc ], %o3
                        
40004a60:	d4 00 60 08 	ld  [ %g1 + 8 ], %o2
                          
40004a64:	40 00 01 a4 	call  400050f4 <mount>
                        
40004a68:	d2 00 60 04 	ld  [ %g1 + 4 ], %o1
                          
    root_config->target,
                                             
    root_config->filesystemtype,
                                     
    root_config->options,
                                            
    root_config->data
                                                
  );
                                                                 
  if ( rv != 0 )
                                                     
40004a6c:	80 a2 20 00 	cmp  %o0, 0
                                   
40004a70:	12 80 00 0a 	bne  40004a98 <rtems_filesystem_initialize+0x50>
<== NEVER TAKEN
40004a74:	92 10 21 ed 	mov  0x1ed, %o1
                               
   *  Traditionally RTEMS devices are under "/dev" so install this directory.

   *
                                                                 
   *  If the mkdir() fails, we can't print anything so just fatal error.

   */
                                                                

                                                                     
  rv = mkdir( "/dev", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH );

40004a78:	11 10 00 44 	sethi  %hi(0x40011000), %o0
                   
40004a7c:	40 00 01 56 	call  40004fd4 <mkdir>
                        
40004a80:	90 12 21 c0 	or  %o0, 0x1c0, %o0	! 400111c0 <IMFS_node_control_sym_link+0x14>

  if ( rv != 0 )
                                                     
40004a84:	80 a2 20 00 	cmp  %o0, 0
                                   
40004a88:	12 80 00 07 	bne  40004aa4 <rtems_filesystem_initialize+0x5c>
<== NEVER TAKEN
40004a8c:	11 2a f3 40 	sethi  %hi(0xabcd0000), %o0
                   
   *  it will be mounted onto is created.  Moreover, if it is going to

   *  use a device, then it is REALLY unfair to attempt this
         
   *  before device drivers are initialized.  So we return via a base

   *  filesystem image and nothing auto-mounted at this point.
       
   */
                                                                
}
                                                                    
40004a90:	81 c7 e0 08 	ret 
                                          
40004a94:	81 e8 00 00 	restore 
                                      
    rtems_fatal_error_occurred( 0xABCD0002 );
                        
40004a98:	11 2a f3 40 	sethi  %hi(0xabcd0000), %o0
                   <== NOT EXECUTED
40004a9c:	40 00 0a 3a 	call  40007384 <rtems_fatal_error_occurred>
   <== NOT EXECUTED
40004aa0:	90 12 20 02 	or  %o0, 2, %o0	! abcd0002 <RAM_END+0x6b8d0002>
<== NOT EXECUTED
    rtems_fatal_error_occurred( 0xABCD0003 );
                        
40004aa4:	40 00 0a 38 	call  40007384 <rtems_fatal_error_occurred>
   <== NOT EXECUTED
40004aa8:	90 12 20 03 	or  %o0, 3, %o0
                               <== NOT EXECUTED
40004aac:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

4000e2dc <rtems_filesystem_iterate>: {
4000e2dc:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  while ( table_entry->type && !stop ) {
                             
4000e2e0:	3b 10 00 43 	sethi  %hi(0x40010c00), %i5
                   
4000e2e4:	c2 07 61 f0 	ld  [ %i5 + 0x1f0 ], %g1	! 40010df0 <rtems_filesystem_table>

4000e2e8:	80 a0 60 00 	cmp  %g1, 0
                                   
4000e2ec:	12 80 00 06 	bne  4000e304 <rtems_filesystem_iterate+0x28>
 <== ALWAYS TAKEN
4000e2f0:	ba 17 61 f0 	or  %i5, 0x1f0, %i5
                           
4000e2f4:	30 80 00 0f 	b,a   4000e330 <rtems_filesystem_iterate+0x54>
<== NOT EXECUTED
4000e2f8:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
4000e2fc:	32 80 00 22 	bne,a   4000e384 <rtems_filesystem_iterate+0xa8>
<== NOT EXECUTED
4000e300:	b8 0f 20 ff 	and  %i4, 0xff, %i4
                           <== NOT EXECUTED
    stop = (*routine)( table_entry, routine_arg );
                   
4000e304:	90 10 00 1d 	mov  %i5, %o0
                                 
4000e308:	9f c6 00 00 	call  %i0
                                     
4000e30c:	92 10 00 19 	mov  %i1, %o1
                                 
    ++table_entry;
                                                   
4000e310:	ba 07 60 08 	add  %i5, 8, %i5
                              
  while ( table_entry->type && !stop ) {
                             
4000e314:	c2 07 40 00 	ld  [ %i5 ], %g1
                              
4000e318:	80 a0 60 00 	cmp  %g1, 0
                                   
4000e31c:	12 bf ff f7 	bne  4000e2f8 <rtems_filesystem_iterate+0x1c>
 <== NEVER TAKEN
4000e320:	b8 10 00 08 	mov  %o0, %i4
                                 
  if ( !stop ) {
                                                     
4000e324:	b8 8a 20 ff 	andcc  %o0, 0xff, %i4
                         
4000e328:	12 80 00 17 	bne  4000e384 <rtems_filesystem_iterate+0xa8>
 
4000e32c:	01 00 00 00 	nop 
                                          
    rtems_libio_lock();
                                              
4000e330:	7f ff da 7a 	call  40004d18 <rtems_libio_lock>
             
4000e334:	37 10 00 4c 	sethi  %hi(0x40013000), %i3
                   
  return _Chain_Immutable_head( the_chain )->next;
                   
4000e338:	fa 06 e1 f8 	ld  [ %i3 + 0x1f8 ], %i5	! 400131f8 <filesystem_chain>

4000e33c:	b6 16 e1 f8 	or  %i3, 0x1f8, %i3
                           
    for (
                                                            
4000e340:	b6 06 e0 04 	add  %i3, 4, %i3
                              
4000e344:	80 a7 40 1b 	cmp  %i5, %i3
                                 
4000e348:	12 80 00 06 	bne  4000e360 <rtems_filesystem_iterate+0x84>
 
4000e34c:	b8 10 20 00 	clr  %i4
                                      
4000e350:	30 80 00 0b 	b,a   4000e37c <rtems_filesystem_iterate+0xa0>

      !rtems_chain_is_tail( chain, node ) && !stop;
                  
4000e354:	80 a2 20 00 	cmp  %o0, 0
                                   
4000e358:	12 80 00 09 	bne  4000e37c <rtems_filesystem_iterate+0xa0>
 <== NEVER TAKEN
4000e35c:	01 00 00 00 	nop 
                                          
      stop = (*routine)( &fsn->entry, routine_arg );
                 
4000e360:	90 07 60 08 	add  %i5, 8, %o0
                              
4000e364:	9f c6 00 00 	call  %i0
                                     
4000e368:	92 10 00 19 	mov  %i1, %o1
                                 
4000e36c:	fa 07 40 00 	ld  [ %i5 ], %i5
                              
    for (
                                                            
4000e370:	80 a7 40 1b 	cmp  %i5, %i3
                                 
4000e374:	12 bf ff f8 	bne  4000e354 <rtems_filesystem_iterate+0x78>
 
4000e378:	b8 10 00 08 	mov  %o0, %i4
                                 
    rtems_libio_unlock();
                                            
4000e37c:	7f ff da 6c 	call  40004d2c <rtems_libio_unlock>
           
4000e380:	b8 0f 20 ff 	and  %i4, 0xff, %i4
                           
}
                                                                    
4000e384:	81 c7 e0 08 	ret 
                                          
4000e388:	91 e8 00 1c 	restore  %g0, %i4, %o0
                        

                                                                     

40005fbc <rtems_filesystem_location_copy>: rtems_filesystem_location_info_t *rtems_filesystem_location_copy( rtems_filesystem_location_info_t *dst, const rtems_filesystem_location_info_t *src ) { dst->node_access = src->node_access;
40005fbc:	da 02 60 08 	ld  [ %o1 + 8 ], %o5
                          
  dst->node_access_2 = src->node_access_2;
                           
40005fc0:	c8 02 60 0c 	ld  [ %o1 + 0xc ], %g4
                        
  dst->handlers = src->handlers;
                                     
40005fc4:	c6 02 60 10 	ld  [ %o1 + 0x10 ], %g3
                       
  dst->mt_entry = src->mt_entry;
                                     
40005fc8:	c2 02 60 14 	ld  [ %o1 + 0x14 ], %g1
                       <== NOT EXECUTED
40005fcc:	c2 22 20 14 	st  %g1, [ %o0 + 0x14 ]
                       <== NOT EXECUTED
  dst->node_access = src->node_access;
                               
40005fd0:	da 22 20 08 	st  %o5, [ %o0 + 8 ]
                          <== NOT EXECUTED
  dst->node_access_2 = src->node_access_2;
                           
40005fd4:	c8 22 20 0c 	st  %g4, [ %o0 + 0xc ]
                        <== NOT EXECUTED
  dst->handlers = src->handlers;
                                     
40005fd8:	c6 22 20 10 	st  %g3, [ %o0 + 0x10 ]
                       <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40005fdc:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
    &loc->mt_entry->location_chain,
                                  
40005fe0:	c6 02 20 14 	ld  [ %o0 + 0x14 ], %g3
                       
  old_last = tail->previous;
                                         
40005fe4:	c8 00 e0 1c 	ld  [ %g3 + 0x1c ], %g4
                       
  return &the_chain->Tail.Node;
                                      
40005fe8:	9a 00 e0 18 	add  %g3, 0x18, %o5
                           
  the_node->next = tail;
                                             
40005fec:	da 22 00 00 	st  %o5, [ %o0 ]
                              
  tail->previous = the_node;
                                         
40005ff0:	d0 20 e0 1c 	st  %o0, [ %g3 + 0x1c ]
                       <== NOT EXECUTED
  old_last->next = the_node;
                                         
40005ff4:	d0 21 00 00 	st  %o0, [ %g4 ]
                              <== NOT EXECUTED
  the_node->previous = old_last;
                                     
40005ff8:	c8 22 20 04 	st  %g4, [ %o0 + 4 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40005ffc:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40006000:	01 00 00 00 	nop 
                                          
  rtems_chain_initialize_node(&dst->mt_entry_node);
                  
  rtems_filesystem_location_add_to_mt_entry(dst);
                    

                                                                     
  return dst;
                                                        
}
                                                                    
40006004:	81 c3 e0 08 	retl 
                                         
40006008:	01 00 00 00 	nop 
                                          

                                                                     

40006390 <rtems_filesystem_location_copy_and_detach>: {
40006390:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  dst->node_access = src->node_access;
                               
40006394:	c8 06 60 08 	ld  [ %i1 + 8 ], %g4
                          
  dst->node_access_2 = src->node_access_2;
                           
40006398:	c6 06 60 0c 	ld  [ %i1 + 0xc ], %g3
                        
  dst->handlers = src->handlers;
                                     
4000639c:	c4 06 60 10 	ld  [ %i1 + 0x10 ], %g2
                       
  dst->mt_entry = src->mt_entry;
                                     
400063a0:	c2 06 60 14 	ld  [ %i1 + 0x14 ], %g1
                       
400063a4:	c2 26 20 14 	st  %g1, [ %i0 + 0x14 ]
                       
  dst->node_access = src->node_access;
                               
400063a8:	c8 26 20 08 	st  %g4, [ %i0 + 8 ]
                          
  dst->node_access_2 = src->node_access_2;
                           
400063ac:	c6 26 20 0c 	st  %g3, [ %i0 + 0xc ]
                        
  dst->handlers = src->handlers;
                                     
400063b0:	c4 26 20 10 	st  %g2, [ %i0 + 0x10 ]
                       <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

400063b4:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
    &loc->mt_entry->location_chain,
                                  
400063b8:	c4 06 20 14 	ld  [ %i0 + 0x14 ], %g2
                       
  old_last = tail->previous;
                                         
400063bc:	c6 00 a0 1c 	ld  [ %g2 + 0x1c ], %g3
                       
  return &the_chain->Tail.Node;
                                      
400063c0:	88 00 a0 18 	add  %g2, 0x18, %g4
                           
  the_node->next = tail;
                                             
400063c4:	c8 26 00 00 	st  %g4, [ %i0 ]
                              
  tail->previous = the_node;
                                         
400063c8:	f0 20 a0 1c 	st  %i0, [ %g2 + 0x1c ]
                       
  old_last->next = the_node;
                                         
400063cc:	f0 20 c0 00 	st  %i0, [ %g3 ]
                              
  the_node->previous = old_last;
                                     
400063d0:	c6 26 20 04 	st  %g3, [ %i0 + 4 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

400063d4:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
400063d8:	01 00 00 00 	nop 
                                          
  rtems_filesystem_location_remove_from_mt_entry(detach);
            
400063dc:	7f ff ff cc 	call  4000630c <rtems_filesystem_location_remove_from_mt_entry>

400063e0:	90 10 00 19 	mov  %i1, %o0
                                 
  dst->node_access = src->node_access;
                               
400063e4:	03 10 00 4b 	sethi  %hi(0x40012c00), %g1
                   
400063e8:	82 10 63 f0 	or  %g1, 0x3f0, %g1	! 40012ff0 <rtems_filesystem_global_location_null>

400063ec:	c4 00 60 08 	ld  [ %g1 + 8 ], %g2
                          
400063f0:	c4 26 60 08 	st  %g2, [ %i1 + 8 ]
                          
  dst->node_access_2 = src->node_access_2;
                           
400063f4:	c4 00 60 0c 	ld  [ %g1 + 0xc ], %g2
                        
400063f8:	c4 26 60 0c 	st  %g2, [ %i1 + 0xc ]
                        
  dst->handlers = src->handlers;
                                     
400063fc:	c4 00 60 10 	ld  [ %g1 + 0x10 ], %g2
                       
  dst->mt_entry = src->mt_entry;
                                     
40006400:	c2 00 60 14 	ld  [ %g1 + 0x14 ], %g1
                       
40006404:	c2 26 60 14 	st  %g1, [ %i1 + 0x14 ]
                       
  dst->handlers = src->handlers;
                                     
40006408:	c4 26 60 10 	st  %g2, [ %i1 + 0x10 ]
                       
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4000640c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
40006410:	c4 06 60 14 	ld  [ %i1 + 0x14 ], %g2
                       
  old_last = tail->previous;
                                         
40006414:	c6 00 a0 1c 	ld  [ %g2 + 0x1c ], %g3
                       
  return &the_chain->Tail.Node;
                                      
40006418:	88 00 a0 18 	add  %g2, 0x18, %g4
                           
  the_node->next = tail;
                                             
4000641c:	c8 26 40 00 	st  %g4, [ %i1 ]
                              
  tail->previous = the_node;
                                         
40006420:	f2 20 a0 1c 	st  %i1, [ %g2 + 0x1c ]
                       
  old_last->next = the_node;
                                         
40006424:	f2 20 c0 00 	st  %i1, [ %g3 ]
                              
  the_node->previous = old_last;
                                     
40006428:	c6 26 60 04 	st  %g3, [ %i1 + 4 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4000642c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40006430:	01 00 00 00 	nop 
                                          
}
                                                                    
40006434:	81 c7 e0 08 	ret 
                                          
40006438:	81 e8 00 00 	restore 
                                      

                                                                     

4000600c <rtems_filesystem_location_detach>: void rtems_filesystem_location_detach( rtems_filesystem_location_info_t *detach ) {
4000600c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_filesystem_location_free(detach);
                            
40006010:	40 00 20 19 	call  4000e074 <rtems_filesystem_location_free>

40006014:	90 10 00 18 	mov  %i0, %o0
                                 
  dst->node_access = src->node_access;
                               
40006018:	03 10 00 4b 	sethi  %hi(0x40012c00), %g1
                   <== NOT EXECUTED
4000601c:	82 10 63 f0 	or  %g1, 0x3f0, %g1	! 40012ff0 <rtems_filesystem_global_location_null>
<== NOT EXECUTED
40006020:	c4 00 60 08 	ld  [ %g1 + 8 ], %g2
                          <== NOT EXECUTED
40006024:	c4 26 20 08 	st  %g2, [ %i0 + 8 ]
                          <== NOT EXECUTED
  dst->node_access_2 = src->node_access_2;
                           
40006028:	c4 00 60 0c 	ld  [ %g1 + 0xc ], %g2
                        <== NOT EXECUTED
4000602c:	c4 26 20 0c 	st  %g2, [ %i0 + 0xc ]
                        <== NOT EXECUTED
  dst->handlers = src->handlers;
                                     
40006030:	c4 00 60 10 	ld  [ %g1 + 0x10 ], %g2
                       <== NOT EXECUTED
  dst->mt_entry = src->mt_entry;
                                     
40006034:	c2 00 60 14 	ld  [ %g1 + 0x14 ], %g1
                       <== NOT EXECUTED
40006038:	c2 26 20 14 	st  %g1, [ %i0 + 0x14 ]
                       <== NOT EXECUTED
  dst->handlers = src->handlers;
                                     
4000603c:	c4 26 20 10 	st  %g2, [ %i0 + 0x10 ]
                       <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40006040:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
40006044:	c4 06 20 14 	ld  [ %i0 + 0x14 ], %g2
                       <== NOT EXECUTED
  old_last = tail->previous;
                                         
40006048:	c6 00 a0 1c 	ld  [ %g2 + 0x1c ], %g3
                       <== NOT EXECUTED
  return &the_chain->Tail.Node;
                                      
4000604c:	88 00 a0 18 	add  %g2, 0x18, %g4
                           <== NOT EXECUTED
  the_node->next = tail;
                                             
40006050:	c8 26 00 00 	st  %g4, [ %i0 ]
                              <== NOT EXECUTED
  tail->previous = the_node;
                                         
40006054:	f0 20 a0 1c 	st  %i0, [ %g2 + 0x1c ]
                       <== NOT EXECUTED
  old_last->next = the_node;
                                         
40006058:	f0 20 c0 00 	st  %i0, [ %g3 ]
                              <== NOT EXECUTED
  the_node->previous = old_last;
                                     
4000605c:	c6 26 20 04 	st  %g3, [ %i0 + 4 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40006060:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40006064:	01 00 00 00 	nop 
                                          
  rtems_filesystem_location_initialize_to_null(detach);
              
}
                                                                    
40006068:	81 c7 e0 08 	ret 
                                          
4000606c:	81 e8 00 00 	restore 
                                      

                                                                     

4000630c <rtems_filesystem_location_remove_from_mt_entry>: __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));
4000630c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  previous       = the_node->previous;
                               
40006310:	c6 02 20 04 	ld  [ %o0 + 4 ], %g3
                          
  next           = the_node->next;
                                   
40006314:	c8 02 00 00 	ld  [ %o0 ], %g4
                              
  next->previous = previous;
                                         
40006318:	c6 21 20 04 	st  %g3, [ %g4 + 4 ]
                          
  do_unmount = rtems_filesystem_is_ready_for_unmount(loc->mt_entry);
 
4000631c:	c4 02 20 14 	ld  [ %o0 + 0x14 ], %g2
                       
  previous->next = next;
                                             
40006320:	c8 20 c0 00 	st  %g4, [ %g3 ]
                              
40006324:	c6 08 a0 28 	ldub  [ %g2 + 0x28 ], %g3
                     
40006328:	80 a0 e0 00 	cmp  %g3, 0
                                   
4000632c:	12 80 00 07 	bne  40006348 <rtems_filesystem_location_remove_from_mt_entry+0x3c>

40006330:	01 00 00 00 	nop 
                                          
    && rtems_chain_has_only_one_node( &mt_entry->location_chain )
    
40006334:	c8 00 a0 14 	ld  [ %g2 + 0x14 ], %g4
                       
40006338:	c6 00 a0 1c 	ld  [ %g2 + 0x1c ], %g3
                       
4000633c:	80 a1 00 03 	cmp  %g4, %g3
                                 
40006340:	22 80 00 06 	be,a   40006358 <rtems_filesystem_location_remove_from_mt_entry+0x4c>

40006344:	c6 00 a0 24 	ld  [ %g2 + 0x24 ], %g3
                       
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40006348:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000634c:	01 00 00 00 	nop 
                                          
}
                                                                    
40006350:	81 c3 e0 08 	retl 
                                         
40006354:	01 00 00 00 	nop 
                                          
    && mt_entry->mt_fs_root->reference_count == 1;
                   
40006358:	c6 00 e0 18 	ld  [ %g3 + 0x18 ], %g3
                       
4000635c:	80 a0 e0 01 	cmp  %g3, 1
                                   
40006360:	12 bf ff fa 	bne  40006348 <rtems_filesystem_location_remove_from_mt_entry+0x3c>
<== ALWAYS TAKEN
40006364:	86 00 a0 14 	add  %g2, 0x14, %g3
                           
  return &the_chain->Tail.Node;
                                      
40006368:	88 00 a0 18 	add  %g2, 0x18, %g4
                           <== NOT EXECUTED
  head->previous = NULL;
                                             
4000636c:	c0 20 a0 18 	clr  [ %g2 + 0x18 ]
                           <== NOT EXECUTED
  head->next = tail;
                                                 
40006370:	c8 20 a0 14 	st  %g4, [ %g2 + 0x14 ]
                       <== NOT EXECUTED
  tail->previous = head;
                                             
40006374:	c6 20 a0 1c 	st  %g3, [ %g2 + 0x1c ]
                       <== NOT EXECUTED
40006378:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4000637c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    rtems_filesystem_do_unmount(loc->mt_entry);
                      
40006380:	d0 02 20 14 	ld  [ %o0 + 0x14 ], %o0
                       <== NOT EXECUTED
40006384:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
40006388:	7f ff ff 3a 	call  40006070 <rtems_filesystem_do_unmount>
  <== NOT EXECUTED
4000638c:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

4000643c <rtems_filesystem_location_transform_to_global>: {
4000643c:	9d e3 bf 98 	save  %sp, -104, %sp
                          <== NOT EXECUTED
  rtems_filesystem_global_location_t *global_loc = malloc(sizeof(*global_loc));

40006440:	7f ff fa d1 	call  40004f84 <malloc>
                       <== NOT EXECUTED
40006444:	90 10 20 24 	mov  0x24, %o0
                                <== NOT EXECUTED
  if (global_loc != NULL) {
                                          
40006448:	ba 92 20 00 	orcc  %o0, 0, %i5
                             <== NOT EXECUTED
4000644c:	02 80 00 1c 	be  400064bc <rtems_filesystem_location_transform_to_global+0x80>
<== NOT EXECUTED
40006450:	b8 10 20 01 	mov  1, %i4
                                   <== NOT EXECUTED
  dst->node_access = src->node_access;
                               
40006454:	c8 06 20 08 	ld  [ %i0 + 8 ], %g4
                          <== NOT EXECUTED
  dst->node_access_2 = src->node_access_2;
                           
40006458:	c6 06 20 0c 	ld  [ %i0 + 0xc ], %g3
                        <== NOT EXECUTED
  dst->handlers = src->handlers;
                                     
4000645c:	c4 06 20 10 	ld  [ %i0 + 0x10 ], %g2
                       <== NOT EXECUTED
  dst->mt_entry = src->mt_entry;
                                     
40006460:	c2 06 20 14 	ld  [ %i0 + 0x14 ], %g1
                       <== NOT EXECUTED
    global_loc->deferred_released_next = NULL;
                       
40006464:	c0 27 60 1c 	clr  [ %i5 + 0x1c ]
                           <== NOT EXECUTED
    global_loc->reference_count = 1;
                                 
40006468:	f8 27 60 18 	st  %i4, [ %i5 + 0x18 ]
                       <== NOT EXECUTED
    global_loc->deferred_released_count = 0;
                         
4000646c:	c0 27 60 20 	clr  [ %i5 + 0x20 ]
                           <== NOT EXECUTED
  dst->node_access = src->node_access;
                               
40006470:	c8 27 60 08 	st  %g4, [ %i5 + 8 ]
                          <== NOT EXECUTED
  dst->node_access_2 = src->node_access_2;
                           
40006474:	c6 27 60 0c 	st  %g3, [ %i5 + 0xc ]
                        <== NOT EXECUTED
  dst->handlers = src->handlers;
                                     
40006478:	c4 27 60 10 	st  %g2, [ %i5 + 0x10 ]
                       <== NOT EXECUTED
  dst->mt_entry = src->mt_entry;
                                     
4000647c:	c2 27 60 14 	st  %g1, [ %i5 + 0x14 ]
                       <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

40006480:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
40006484:	c4 07 60 14 	ld  [ %i5 + 0x14 ], %g2
                       <== NOT EXECUTED
  old_last = tail->previous;
                                         
40006488:	c6 00 a0 1c 	ld  [ %g2 + 0x1c ], %g3
                       <== NOT EXECUTED
  return &the_chain->Tail.Node;
                                      
4000648c:	88 00 a0 18 	add  %g2, 0x18, %g4
                           <== NOT EXECUTED
  the_node->next = tail;
                                             
40006490:	c8 27 40 00 	st  %g4, [ %i5 ]
                              <== NOT EXECUTED
  tail->previous = the_node;
                                         
40006494:	fa 20 a0 1c 	st  %i5, [ %g2 + 0x1c ]
                       <== NOT EXECUTED
  old_last->next = the_node;
                                         
40006498:	fa 20 c0 00 	st  %i5, [ %g3 ]
                              <== NOT EXECUTED
  the_node->previous = old_last;
                                     
4000649c:	c6 27 60 04 	st  %g3, [ %i5 + 4 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

400064a0:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
400064a4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    rtems_filesystem_location_remove_from_mt_entry(loc);
             
400064a8:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
400064ac:	7f ff ff 98 	call  4000630c <rtems_filesystem_location_remove_from_mt_entry>
<== NOT EXECUTED
400064b0:	b0 10 00 1d 	mov  %i5, %i0
                                 <== NOT EXECUTED
}
                                                                    
400064b4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400064b8:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    rtems_filesystem_location_free(loc);
                             
400064bc:	40 00 1e ee 	call  4000e074 <rtems_filesystem_location_free>
<== NOT EXECUTED
400064c0:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
  return rtems_filesystem_global_location_obtain( &global_loc );
     
400064c4:	90 07 bf fc 	add  %fp, -4, %o0
                             <== NOT EXECUTED
400064c8:	7f ff ff 33 	call  40006194 <rtems_filesystem_global_location_obtain>
<== NOT EXECUTED
400064cc:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             <== NOT EXECUTED
    errno = ENOMEM;
                                                  
400064d0:	40 00 24 02 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
400064d4:	ba 10 00 08 	mov  %o0, %i5
                                 <== NOT EXECUTED
400064d8:	82 10 20 0c 	mov  0xc, %g1
                                 <== NOT EXECUTED
400064dc:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
}
                                                                    
400064e0:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400064e4:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        <== NOT EXECUTED

                                                                     

40004ff0 <rtems_filesystem_mknod>: const char *name, size_t namelen, mode_t mode, dev_t dev ) {
40004ff0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  int rv = 0;
                                                        

                                                                     
  mode &= ~rtems_filesystem_umask;
                                   
40004ff4:	40 00 01 e3 	call  40005780 <rtems_current_user_env_get>
   
40004ff8:	01 00 00 00 	nop 
                                          
40004ffc:	d6 02 20 08 	ld  [ %o0 + 8 ], %o3
                          
40005000:	96 2e c0 0b 	andn  %i3, %o3, %o3
                           

                                                                     
  switch (mode & S_IFMT) {
                                           
40005004:	03 00 00 3c 	sethi  %hi(0xf000), %g1
                       
40005008:	05 00 00 10 	sethi  %hi(0x4000), %g2
                       
4000500c:	82 0a c0 01 	and  %o3, %g1, %g1
                            
40005010:	80 a0 40 02 	cmp  %g1, %g2
                                 
40005014:	22 80 00 0c 	be,a   40005044 <rtems_filesystem_mknod+0x54>
 
40005018:	c2 06 20 14 	ld  [ %i0 + 0x14 ], %g1
                       
4000501c:	08 80 00 14 	bleu  4000506c <rtems_filesystem_mknod+0x7c>
  
40005020:	05 00 00 04 	sethi  %hi(0x1000), %g2
                       
40005024:	05 00 00 18 	sethi  %hi(0x6000), %g2
                       
40005028:	80 a0 40 02 	cmp  %g1, %g2
                                 
4000502c:	02 80 00 05 	be  40005040 <rtems_filesystem_mknod+0x50>
    <== NEVER TAKEN
40005030:	05 00 00 20 	sethi  %hi(0x8000), %g2
                       
40005034:	80 a0 40 02 	cmp  %g1, %g2
                                 
40005038:	12 80 00 13 	bne  40005084 <rtems_filesystem_mknod+0x94>
   <== NEVER TAKEN
4000503c:	01 00 00 00 	nop 
                                          
      rv = -1;
                                                       
      break;
                                                         
  }
                                                                  
  
                                                                   
  if ( rv == 0 ) {
                                                   
    const rtems_filesystem_operations_table *ops = parentloc->mt_entry->ops;

40005040:	c2 06 20 14 	ld  [ %i0 + 0x14 ], %g1
                       

                                                                     
    rv = (*ops->mknod_h)( parentloc, name, namelen, mode, dev );
     
40005044:	c2 00 60 0c 	ld  [ %g1 + 0xc ], %g1
                        
40005048:	c2 00 60 14 	ld  [ %g1 + 0x14 ], %g1
                       
4000504c:	98 10 00 1c 	mov  %i4, %o4
                                 
40005050:	9a 10 00 1d 	mov  %i5, %o5
                                 
40005054:	94 10 00 1a 	mov  %i2, %o2
                                 
40005058:	92 10 00 19 	mov  %i1, %o1
                                 
4000505c:	9f c0 40 00 	call  %g1
                                     
40005060:	90 10 00 18 	mov  %i0, %o0
                                 
40005064:	81 c7 e0 08 	ret 
                                          
40005068:	91 e8 00 08 	restore  %g0, %o0, %o0
                        
  switch (mode & S_IFMT) {
                                           
4000506c:	80 a0 40 02 	cmp  %g1, %g2
                                 
40005070:	02 bf ff f4 	be  40005040 <rtems_filesystem_mknod+0x50>
    
40005074:	05 00 00 08 	sethi  %hi(0x2000), %g2
                       
40005078:	80 a0 40 02 	cmp  %g1, %g2
                                 
4000507c:	22 bf ff f2 	be,a   40005044 <rtems_filesystem_mknod+0x54>
 <== ALWAYS TAKEN
40005080:	c2 06 20 14 	ld  [ %i0 + 0x14 ], %g1
                       
      errno = EINVAL;
                                                
40005084:	40 00 29 15 	call  4000f4d8 <__errno>
                      <== NOT EXECUTED
40005088:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
4000508c:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
40005090:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
  }
                                                                  

                                                                     
  return rv;
                                                         
}
                                                                    
40005094:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40005098:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

400112b8 <rtems_filesystem_null_handlers>: 400112b8: 40 00 66 48 40 00 da 68 40 00 dc bc 40 00 dd 54 @.fH@..h@...@..T 400112c8: 40 00 da f0 40 00 dc 74 40 00 66 50 40 00 da d4 @...@..t@.fP@... 400112d8: 40 00 da 94 40 00 da 94 40 00 da 84 40 00 dc b4 @...@...@...@... 400112e8: 40 00 db 0c 40 00 dc d8 40 00 dd 70 40 00 dc 90 @...@...@..p@...
40004974 <rtems_filesystem_unregister>: int rtems_filesystem_unregister( const char *type ) {
40004974:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_chain_control *chain = &filesystem_chain;
                    
  rtems_chain_node *node = NULL;
                                     

                                                                     
  if ( type == NULL ) {
                                              
40004978:	80 a6 20 00 	cmp  %i0, 0
                                   
4000497c:	02 80 00 27 	be  40004a18 <rtems_filesystem_unregister+0xa4>

40004980:	01 00 00 00 	nop 
                                          
    rtems_set_errno_and_return_minus_one( EINVAL );
                  
  }
                                                                  

                                                                     
  rtems_libio_lock();
                                                
40004984:	7f ff fe 88 	call  400043a4 <rtems_libio_lock>
             
40004988:	37 10 00 43 	sethi  %hi(0x40010c00), %i3
                   
  return _Chain_Immutable_head( the_chain )->next;
                   
4000498c:	fa 06 e2 84 	ld  [ %i3 + 0x284 ], %i5	! 40010e84 <filesystem_chain>

40004990:	b6 16 e2 84 	or  %i3, 0x284, %i3
                           
  for (
                                                              
40004994:	b6 06 e0 04 	add  %i3, 4, %i3
                              
40004998:	80 a7 40 1b 	cmp  %i5, %i3
                                 
4000499c:	32 80 00 07 	bne,a   400049b8 <rtems_filesystem_unregister+0x44>

400049a0:	d0 07 60 08 	ld  [ %i5 + 8 ], %o0
                          
400049a4:	30 80 00 15 	b,a   400049f8 <rtems_filesystem_unregister+0x84>

400049a8:	80 a0 40 1b 	cmp  %g1, %i3
                                 
400049ac:	02 80 00 13 	be  400049f8 <rtems_filesystem_unregister+0x84>
<== ALWAYS TAKEN
400049b0:	ba 10 00 01 	mov  %g1, %i5
                                 
    !rtems_chain_is_tail( chain, node );
                             
    node = rtems_chain_next( node )
                                  
  ) {
                                                                
    filesystem_node *fsn = (filesystem_node *) node;
                 

                                                                     
    if ( strcmp( fsn->entry.type, type ) == 0 ) {
                    
400049b4:	d0 07 60 08 	ld  [ %i5 + 8 ], %o0
                          <== NOT EXECUTED
400049b8:	40 00 25 67 	call  4000df54 <strcmp>
                       
400049bc:	92 10 00 18 	mov  %i0, %o1
                                 
400049c0:	c2 07 40 00 	ld  [ %i5 ], %g1
                              
400049c4:	80 a2 20 00 	cmp  %o0, 0
                                   
400049c8:	12 bf ff f8 	bne  400049a8 <rtems_filesystem_unregister+0x34>

400049cc:	b8 10 00 08 	mov  %o0, %i4
                                 
  previous       = the_node->previous;
                               
400049d0:	c4 07 60 04 	ld  [ %i5 + 4 ], %g2
                          
  next->previous = previous;
                                         
400049d4:	c4 20 60 04 	st  %g2, [ %g1 + 4 ]
                          
      rtems_chain_extract_unprotected( node );
                       
      free( fsn );
                                                   
400049d8:	90 10 00 1d 	mov  %i5, %o0
                                 
  previous->next = next;
                                             
400049dc:	c2 20 80 00 	st  %g1, [ %g2 ]
                              
400049e0:	7f ff fd fd 	call  400041d4 <free>
                         
400049e4:	b0 10 00 1c 	mov  %i4, %i0
                                 
      rtems_libio_unlock();
                                          
400049e8:	7f ff fe 74 	call  400043b8 <rtems_libio_unlock>
           
400049ec:	01 00 00 00 	nop 
                                          
    }
                                                                
  }
                                                                  
  rtems_libio_unlock();
                                              

                                                                     
  rtems_set_errno_and_return_minus_one( ENOENT );
                    
}
                                                                    
400049f0:	81 c7 e0 08 	ret 
                                          
400049f4:	81 e8 00 00 	restore 
                                      
  rtems_libio_unlock();
                                              
400049f8:	7f ff fe 70 	call  400043b8 <rtems_libio_unlock>
           
400049fc:	b8 10 3f ff 	mov  -1, %i4
                                  
  rtems_set_errno_and_return_minus_one( ENOENT );
                    
40004a00:	40 00 24 60 	call  4000db80 <__errno>
                      
40004a04:	01 00 00 00 	nop 
                                          
40004a08:	82 10 20 02 	mov  2, %g1	! 2 <_TLS_Alignment+0x1>
          
40004a0c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
}
                                                                    
40004a10:	81 c7 e0 08 	ret 
                                          
40004a14:	91 e8 00 1c 	restore  %g0, %i4, %o0
                        
    rtems_set_errno_and_return_minus_one( EINVAL );
                  
40004a18:	40 00 24 5a 	call  4000db80 <__errno>
                      
40004a1c:	b8 10 3f ff 	mov  -1, %i4
                                  
40004a20:	82 10 20 16 	mov  0x16, %g1
                                
40004a24:	10 bf ff fb 	b  40004a10 <rtems_filesystem_unregister+0x9c>

40004a28:	c2 22 00 00 	st  %g1, [ %o0 ]
                              

                                                                     

400046c0 <rtems_gxx_mutex_init>: /* * MUTEX support */ void rtems_gxx_mutex_init (__gthread_mutex_t *mutex) {
400046c0:	9d e3 bf a0 	save  %sp, -96, %sp
                           

                                                                     
  #ifdef DEBUG_GXX_WRAPPERS
                                          
    printk( "gxx_wrappers: mutex init =%X\n", *mutex );
              
  #endif
                                                             

                                                                     
  status = rtems_semaphore_create(
                                   
400046c4:	96 10 20 00 	clr  %o3
                                      
400046c8:	98 10 00 18 	mov  %i0, %o4
                                 
400046cc:	94 10 20 54 	mov  0x54, %o2
                                
400046d0:	92 10 20 01 	mov  1, %o1
                                   
400046d4:	11 11 d0 d0 	sethi  %hi(0x47434000), %o0
                   
400046d8:	40 00 07 48 	call  400063f8 <rtems_semaphore_create>
       
400046dc:	90 12 23 32 	or  %o0, 0x332, %o0	! 47434332 <RAM_END+0x7034332>

    RTEMS_PRIORITY|RTEMS_BINARY_SEMAPHORE|
                           
      RTEMS_INHERIT_PRIORITY|RTEMS_NO_PRIORITY_CEILING|RTEMS_LOCAL,
  
    0,
                                                               
    (rtems_id *)mutex
                                                
  );
                                                                 
  if ( status != RTEMS_SUCCESSFUL ) {
                                
400046e0:	80 a2 20 00 	cmp  %o0, 0
                                   
400046e4:	12 80 00 04 	bne  400046f4 <rtems_gxx_mutex_init+0x34>
     <== ALWAYS TAKEN
400046e8:	01 00 00 00 	nop 
                                          
    _Internal_error( INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED );
         
  }
                                                                  
  #ifdef DEBUG_GXX_WRAPPERS
                                          
    printk( "gxx_wrappers: mutex init complete =%X\n", *mutex );
     
  #endif
                                                             
}
                                                                    
400046ec:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400046f0:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    _Internal_error( INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED );
         
400046f4:	40 00 0a e7 	call  40007290 <_Internal_error>
              
400046f8:	90 10 20 16 	mov  0x16, %o0
                                
400046fc:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

400046a0 <rtems_gxx_setspecific>: #endif return p; } int rtems_gxx_setspecific(__gthread_key_t key, const void *ptr) {
400046a0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  pthread_key_t *pkey = key;
                                         
  int eno;
                                                           

                                                                     
  if ( pkey == NULL ) {
                                              
400046a4:	80 a6 20 00 	cmp  %i0, 0
                                   
400046a8:	02 80 00 0a 	be  400046d0 <rtems_gxx_setspecific+0x30>
     <== NEVER TAKEN
400046ac:	01 00 00 00 	nop 
                                          
    return EINVAL;
                                                   
  }
                                                                  

                                                                     
  eno = pthread_setspecific( *pkey, ptr );
                           
400046b0:	d0 06 00 00 	ld  [ %i0 ], %o0
                              
400046b4:	40 00 07 48 	call  400063d4 <pthread_setspecific>
          
400046b8:	92 10 00 19 	mov  %i1, %o1
                                 
      ptr,
                                                           
      rtems_task_self()
                                              
      );
                                                             
  #endif
                                                             

                                                                     
  if ( eno != 0 ) {
                                                  
400046bc:	b0 92 20 00 	orcc  %o0, 0, %i0
                             
400046c0:	12 80 00 06 	bne  400046d8 <rtems_gxx_setspecific+0x38>
    <== ALWAYS TAKEN
400046c4:	01 00 00 00 	nop 
                                          
    _Internal_error( INTERNAL_ERROR_GXX_KEY_ADD_FAILED );
            
  }
                                                                  

                                                                     
  return 0;
                                                          
}
                                                                    
400046c8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400046cc:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
400046d0:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400046d4:	91 e8 20 16 	restore  %g0, 0x16, %o0
                       <== NOT EXECUTED
    _Internal_error( INTERNAL_ERROR_GXX_KEY_ADD_FAILED );
            
400046d8:	40 00 0a cd 	call  4000720c <_Internal_error>
              
400046dc:	90 10 20 15 	mov  0x15, %o0
                                
400046e0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

40004de0 <rtems_heap_allocate_aligned_with_boundary>: void *rtems_heap_allocate_aligned_with_boundary( size_t size, uintptr_t alignment, uintptr_t boundary ) {
40004de0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
40004de4:	03 10 00 52 	sethi  %hi(0x40014800), %g1
                   
40004de8:	c2 00 60 6c 	ld  [ %g1 + 0x6c ], %g1	! 4001486c <_System_state_Current>

  Heap_Control *heap = RTEMS_Malloc_Heap;
                            
40004dec:	05 10 00 4b 	sethi  %hi(0x40012c00), %g2
                   
  if ( _System_state_Is_up( state ) ) {
                              
40004df0:	80 a0 60 02 	cmp  %g1, 2
                                   
40004df4:	02 80 00 21 	be  40004e78 <rtems_heap_allocate_aligned_with_boundary+0x98>

40004df8:	f8 00 a3 64 	ld  [ %g2 + 0x364 ], %i4
                      
  } else if ( _System_state_Is_before_multitasking( state ) ) {
      
40004dfc:	80 a0 60 01 	cmp  %g1, 1
                                   
40004e00:	02 80 00 22 	be  40004e88 <rtems_heap_allocate_aligned_with_boundary+0xa8>

40004e04:	96 10 00 1a 	mov  %i2, %o3
                                 
        boundary
                                                     
      );
                                                             
      _RTEMS_Unlock_allocator();
                                     
      break;
                                                         
    case MALLOC_SYSTEM_STATE_NO_PROTECTION:
                          
      p = _Heap_Allocate_aligned_with_boundary(
                      
40004e08:	94 10 00 19 	mov  %i1, %o2
                                 
40004e0c:	92 10 00 18 	mov  %i0, %o1
                                 
40004e10:	40 00 0a 51 	call  40007754 <_Heap_Allocate_aligned_with_boundary>

40004e14:	90 10 00 1c 	mov  %i4, %o0
                                 
40004e18:	ba 10 00 08 	mov  %o0, %i5
                                 
       *  Do not attempt to allocate memory if not in correct system state.

       */
                                                            
      return NULL;
                                                   
  }
                                                                  

                                                                     
  if ( p == NULL && alignment == 0 && boundary == 0 ) {
              
40004e1c:	80 a7 60 00 	cmp  %i5, 0
                                   
40004e20:	12 80 00 0b 	bne  40004e4c <rtems_heap_allocate_aligned_with_boundary+0x6c>

40004e24:	80 a6 60 00 	cmp  %i1, 0
                                   
40004e28:	12 80 00 09 	bne  40004e4c <rtems_heap_allocate_aligned_with_boundary+0x6c>
<== NEVER TAKEN
40004e2c:	80 a6 a0 00 	cmp  %i2, 0
                                   
40004e30:	12 80 00 23 	bne  40004ebc <rtems_heap_allocate_aligned_with_boundary+0xdc>
<== NEVER TAKEN
40004e34:	03 10 00 43 	sethi  %hi(0x40010c00), %g1
                   
    p = (*rtems_malloc_extend_handler)( heap, size );
                
40004e38:	c2 00 61 18 	ld  [ %g1 + 0x118 ], %g1	! 40010d18 <rtems_malloc_extend_handler>

40004e3c:	92 10 00 18 	mov  %i0, %o1
                                 
40004e40:	9f c0 40 00 	call  %g1
                                     
40004e44:	90 10 00 1c 	mov  %i4, %o0
                                 
40004e48:	ba 10 00 08 	mov  %o0, %i5
                                 
  }
                                                                  

                                                                     
  /*
                                                                 
   *  If the user wants us to dirty the allocated memory, then do it.

   */
                                                                
  if ( p != NULL && rtems_malloc_dirty_helper != NULL )
              
40004e4c:	80 a7 60 00 	cmp  %i5, 0
                                   
40004e50:	02 80 00 1b 	be  40004ebc <rtems_heap_allocate_aligned_with_boundary+0xdc>

40004e54:	03 10 00 4d 	sethi  %hi(0x40013400), %g1
                   
40004e58:	c2 00 61 40 	ld  [ %g1 + 0x140 ], %g1	! 40013540 <rtems_malloc_dirty_helper>

40004e5c:	80 a0 60 00 	cmp  %g1, 0
                                   
40004e60:	02 80 00 04 	be  40004e70 <rtems_heap_allocate_aligned_with_boundary+0x90>
<== ALWAYS TAKEN
40004e64:	92 10 00 18 	mov  %i0, %o1
                                 
    (*rtems_malloc_dirty_helper)( p, size );
                         
40004e68:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40004e6c:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED

                                                                     
  return p;
                                                          
}
                                                                    
40004e70:	81 c7 e0 08 	ret 
                                          
40004e74:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        
40004e78:	c2 01 a0 18 	ld  [ %g6 + 0x18 ], %g1
                       
    if ( _Thread_Dispatch_is_enabled() ) {
                           
40004e7c:	80 a0 60 00 	cmp  %g1, 0
                                   
40004e80:	32 80 00 10 	bne,a   40004ec0 <rtems_heap_allocate_aligned_with_boundary+0xe0>
<== NEVER TAKEN
40004e84:	ba 10 20 00 	clr  %i5
                                      <== NOT EXECUTED
      _RTEMS_Lock_allocator();
                                       
40004e88:	40 00 09 88 	call  400074a8 <_RTEMS_Lock_allocator>
        
40004e8c:	01 00 00 00 	nop 
                                          
      _Malloc_Process_deferred_frees();
                              
40004e90:	7f ff ff bb 	call  40004d7c <_Malloc_Process_deferred_frees>

40004e94:	01 00 00 00 	nop 
                                          
      p = _Heap_Allocate_aligned_with_boundary(
                      
40004e98:	96 10 00 1a 	mov  %i2, %o3
                                 
40004e9c:	94 10 00 19 	mov  %i1, %o2
                                 
40004ea0:	92 10 00 18 	mov  %i0, %o1
                                 
40004ea4:	40 00 0a 2c 	call  40007754 <_Heap_Allocate_aligned_with_boundary>

40004ea8:	90 10 00 1c 	mov  %i4, %o0
                                 
      _RTEMS_Unlock_allocator();
                                     
40004eac:	40 00 09 84 	call  400074bc <_RTEMS_Unlock_allocator>
      
40004eb0:	ba 10 00 08 	mov  %o0, %i5
                                 
      break;
                                                         
40004eb4:	10 bf ff db 	b  40004e20 <rtems_heap_allocate_aligned_with_boundary+0x40>

40004eb8:	80 a7 60 00 	cmp  %i5, 0
                                   
      return NULL;
                                                   
40004ebc:	ba 10 20 00 	clr  %i5
                                      
}
                                                                    
40004ec0:	81 c7 e0 08 	ret 
                                          
40004ec4:	91 e8 00 1d 	restore  %g0, %i5, %o0
                        

                                                                     

400057ac <rtems_libio_free_user_env>: if (!uses_global_env) {
400057ac:	03 10 00 4b 	sethi  %hi(0x40012c00), %g1
                   <== NOT EXECUTED
400057b0:	82 10 63 a8 	or  %g1, 0x3a8, %g1	! 40012fa8 <rtems_global_user_env>
<== NOT EXECUTED
400057b4:	80 a0 40 08 	cmp  %g1, %o0
                                 <== NOT EXECUTED
400057b8:	02 80 00 05 	be  400057cc <rtems_libio_free_user_env+0x20>
 <== NOT EXECUTED
400057bc:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
400057c0:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
400057c4:	7f ff ff e6 	call  4000575c <rtems_libio_free_user_env.part.1>
<== NOT EXECUTED
400057c8:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED
  }
                                                                  
}
                                                                    
400057cc:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
400057d0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

4000549c <rtems_libio_post_driver>: /* * This is a replaceable stub which opens the console, if present. */ void rtems_libio_post_driver(void) {
4000549c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  /*
                                                                 
   * Attempt to open /dev/console.
                                   
   */
                                                                
  if ( open( CONSOLE_DEVICE_NAME, O_RDONLY, 0 ) != STDIN_FILENO ) {
  
400054a0:	94 10 20 00 	clr  %o2
                                      
400054a4:	92 10 20 00 	clr  %o1
                                      
400054a8:	3b 10 00 44 	sethi  %hi(0x40011000), %i5
                   
400054ac:	40 00 00 1a 	call  40005514 <open>
                         
400054b0:	90 17 61 c8 	or  %i5, 0x1c8, %o0	! 400111c8 <IMFS_node_control_sym_link+0x1c>

400054b4:	80 a2 20 00 	cmp  %o0, 0
                                   
400054b8:	02 80 00 04 	be  400054c8 <rtems_libio_post_driver+0x2c>
   
400054bc:	94 10 20 00 	clr  %o2
                                      
  if ( open( CONSOLE_DEVICE_NAME, O_WRONLY, 0 ) != STDERR_FILENO ) {
 
    _Internal_error( INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED );
   
  }
                                                                  

                                                                     
  atexit(rtems_libio_exit);
                                          
}
                                                                    
400054c0:	81 c7 e0 08 	ret 
                                          
400054c4:	81 e8 00 00 	restore 
                                      
  if ( open( CONSOLE_DEVICE_NAME, O_WRONLY, 0 ) != STDOUT_FILENO ) {
 
400054c8:	92 10 20 01 	mov  1, %o1
                                   
400054cc:	40 00 00 12 	call  40005514 <open>
                         
400054d0:	90 17 61 c8 	or  %i5, 0x1c8, %o0
                           
400054d4:	80 a2 20 01 	cmp  %o0, 1
                                   
400054d8:	12 80 00 0a 	bne  40005500 <rtems_libio_post_driver+0x64>
  
400054dc:	94 10 20 00 	clr  %o2
                                      
  if ( open( CONSOLE_DEVICE_NAME, O_WRONLY, 0 ) != STDERR_FILENO ) {
 
400054e0:	92 10 20 01 	mov  1, %o1
                                   
400054e4:	40 00 00 0c 	call  40005514 <open>
                         
400054e8:	90 17 61 c8 	or  %i5, 0x1c8, %o0
                           
400054ec:	80 a2 20 02 	cmp  %o0, 2
                                   
400054f0:	12 80 00 06 	bne  40005508 <rtems_libio_post_driver+0x6c>
  
400054f4:	31 10 00 38 	sethi  %hi(0x4000e000), %i0
                   
  atexit(rtems_libio_exit);
                                          
400054f8:	40 00 27 f1 	call  4000f4bc <atexit>
                       
400054fc:	91 ee 21 c0 	restore  %i0, 0x1c0, %o0
                      
    _Internal_error( INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILED );
   
40005500:	40 00 0a 3c 	call  40007df0 <_Internal_error>
              
40005504:	90 10 20 24 	mov  0x24, %o0
                                
    _Internal_error( INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED );
   
40005508:	40 00 0a 3a 	call  40007df0 <_Internal_error>
              
4000550c:	90 10 20 25 	mov  0x25, %o0
                                
40005510:	01 00 00 00 	nop 
                                          <== NOT EXECUTED

                                                                     

4000539c <rtems_libio_set_private_env>: rtems_status_code rtems_libio_set_private_env(void) {
4000539c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  void *ptr = pthread_getspecific(rtems_current_user_env_key);
       
400053a0:	39 10 00 50 	sethi  %hi(0x40014000), %i4
                   
400053a4:	40 00 04 4e 	call  400064dc <pthread_getspecific>
          
400053a8:	d0 07 22 4c 	ld  [ %i4 + 0x24c ], %o0	! 4001424c <rtems_current_user_env_key>

  rtems_status_code sc = RTEMS_SUCCESSFUL;
                           
  rtems_user_env_t *old_env = rtems_current_user_env;
                
  bool uses_global_env = old_env == &rtems_global_user_env;
          

                                                                     
  if (uses_global_env) {
                                             
400053ac:	3b 10 00 4a 	sethi  %hi(0x40012800), %i5
                   
400053b0:	ba 17 63 a8 	or  %i5, 0x3a8, %i5	! 40012ba8 <rtems_global_user_env>

400053b4:	80 a2 00 1d 	cmp  %o0, %i5
                                 
400053b8:	02 80 00 04 	be  400053c8 <rtems_libio_set_private_env+0x2c>
<== NEVER TAKEN
400053bc:	80 a2 20 00 	cmp  %o0, 0
                                   
400053c0:	12 80 00 30 	bne  40005480 <rtems_libio_set_private_env+0xe4>
<== NEVER TAKEN
400053c4:	b0 10 20 00 	clr  %i0
                                      
    Thread_Life_state life_state =
                                   
400053c8:	40 00 1b e0 	call  4000c348 <_Thread_Set_life_protection>
  
400053cc:	90 10 20 01 	mov  1, %o0
                                   
      _Thread_Set_life_protection(THREAD_LIFE_PROTECTED);
            
    rtems_user_env_t *new_env = calloc(1, sizeof(*new_env));
         
400053d0:	92 10 20 48 	mov  0x48, %o1
                                
    Thread_Life_state life_state =
                                   
400053d4:	b4 10 00 08 	mov  %o0, %i2
                                 

                                                                     
      if (sc != RTEMS_SUCCESSFUL) {
                                  
        rtems_libio_free_user_env(new_env);
                          
      }
                                                              
    } else {
                                                         
      sc = RTEMS_NO_MEMORY;
                                          
400053d8:	b0 10 20 1a 	mov  0x1a, %i0
                                
    rtems_user_env_t *new_env = calloc(1, sizeof(*new_env));
         
400053dc:	7f ff fc 82 	call  400045e4 <calloc>
                       
400053e0:	90 10 20 01 	mov  1, %o0
                                   
    if (new_env != NULL) {
                                           
400053e4:	80 a2 20 00 	cmp  %o0, 0
                                   
400053e8:	02 80 00 24 	be  40005478 <rtems_libio_set_private_env+0xdc>

400053ec:	b6 10 00 08 	mov  %o0, %i3
                                 
      *new_env = *old_env;
                                           
400053f0:	94 10 20 48 	mov  0x48, %o2
                                
400053f4:	40 00 27 77 	call  4000f1d0 <memcpy>
                       
400053f8:	92 10 00 1d 	mov  %i5, %o1
                                 
        rtems_filesystem_global_location_obtain(&old_env->root_directory);

400053fc:	40 00 02 c0 	call  40005efc <rtems_filesystem_global_location_obtain>

40005400:	90 07 60 04 	add  %i5, 4, %o0
                              
      new_env->root_directory =
                                      
40005404:	d0 26 e0 04 	st  %o0, [ %i3 + 4 ]
                          
        rtems_filesystem_global_location_obtain(&old_env->current_directory);

40005408:	40 00 02 bd 	call  40005efc <rtems_filesystem_global_location_obtain>

4000540c:	90 10 00 1d 	mov  %i5, %o0
                                 
      if (
                                                           
40005410:	c2 06 e0 04 	ld  [ %i3 + 4 ], %g1
                          
      new_env->current_directory =
                                   
40005414:	d0 26 c0 00 	st  %o0, [ %i3 ]
                              
      if (
                                                           
40005418:	c4 00 60 10 	ld  [ %g1 + 0x10 ], %g2
                       
4000541c:	03 10 00 44 	sethi  %hi(0x40011000), %g1
                   
40005420:	82 10 61 c8 	or  %g1, 0x1c8, %g1	! 400111c8 <rtems_filesystem_null_handlers>

40005424:	80 a0 80 01 	cmp  %g2, %g1
                                 
40005428:	22 80 00 0f 	be,a   40005464 <rtems_libio_set_private_env+0xc8>
<== NEVER TAKEN
4000542c:	b0 10 20 0d 	mov  0xd, %i0
                                 <== NOT EXECUTED
          && !rtems_filesystem_global_location_is_null(new_env->current_directory)

40005430:	c4 02 20 10 	ld  [ %o0 + 0x10 ], %g2
                       
40005434:	80 a0 80 01 	cmp  %g2, %g1
                                 
40005438:	02 80 00 0a 	be  40005460 <rtems_libio_set_private_env+0xc4>
<== NEVER TAKEN
4000543c:	d0 07 22 4c 	ld  [ %i4 + 0x24c ], %o0
                      
        int eno = pthread_setspecific(
                               
40005440:	92 10 00 1b 	mov  %i3, %o1
                                 
40005444:	40 00 04 a1 	call  400066c8 <pthread_setspecific>
          
40005448:	b0 10 20 00 	clr  %i0
                                      
        if (eno == 0) {
                                              
4000544c:	80 a2 20 00 	cmp  %o0, 0
                                   
40005450:	02 80 00 0a 	be  40005478 <rtems_libio_set_private_env+0xdc>
<== ALWAYS TAKEN
40005454:	01 00 00 00 	nop 
                                          
40005458:	10 80 00 03 	b  40005464 <rtems_libio_set_private_env+0xc8>
<== NOT EXECUTED
4000545c:	b0 10 20 05 	mov  5, %i0	! 5 <_TLS_Alignment+0x4>
          <== NOT EXECUTED
        sc = RTEMS_UNSATISFIED;
                                      
40005460:	b0 10 20 0d 	mov  0xd, %i0
                                 <== NOT EXECUTED
  if (!uses_global_env) {
                                            
40005464:	80 a6 c0 1d 	cmp  %i3, %i5
                                 <== NOT EXECUTED
40005468:	02 80 00 04 	be  40005478 <rtems_libio_set_private_env+0xdc>
<== NOT EXECUTED
4000546c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40005470:	7f ff ff ad 	call  40005324 <rtems_libio_free_user_env.part.1>
<== NOT EXECUTED
40005474:	90 10 00 1b 	mov  %i3, %o0
                                 <== NOT EXECUTED
    }
                                                                

                                                                     
    _Thread_Set_life_protection(life_state);
                         
40005478:	40 00 1b b4 	call  4000c348 <_Thread_Set_life_protection>
  
4000547c:	90 10 00 1a 	mov  %i2, %o0
                                 
  }
                                                                  

                                                                     
  return sc;
                                                         
}
                                                                    
40005480:	81 c7 e0 08 	ret 
                                          
40005484:	81 e8 00 00 	restore 
                                      

                                                                     

4000532c <rtems_libio_to_fcntl_flags>: int rtems_libio_to_fcntl_flags( unsigned int flags ) { int fcntl_flags = 0; if ( (flags & LIBIO_FLAGS_READ_WRITE) == LIBIO_FLAGS_READ_WRITE ) {
4000532c:	84 0a 20 06 	and  %o0, 6, %g2
                              <== NOT EXECUTED
40005330:	80 a0 a0 06 	cmp  %g2, 6
                                   <== NOT EXECUTED
40005334:	02 80 00 05 	be  40005348 <rtems_libio_to_fcntl_flags+0x1c>
<== NOT EXECUTED
40005338:	82 10 20 02 	mov  2, %g1
                                   <== NOT EXECUTED
    fcntl_flags |= O_RDWR;
                                           
  } else if ( (flags & LIBIO_FLAGS_READ) == LIBIO_FLAGS_READ) {
      
4000533c:	80 8a 20 02 	btst  2, %o0
                                  <== NOT EXECUTED
40005340:	02 80 00 0b 	be  4000536c <rtems_libio_to_fcntl_flags+0x40>
<== NOT EXECUTED
40005344:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED
    fcntl_flags |= O_RDONLY;
                                         
  } else if ( (flags & LIBIO_FLAGS_WRITE) == LIBIO_FLAGS_WRITE) {
    
    fcntl_flags |= O_WRONLY;
                                         
  }
                                                                  

                                                                     
  if ( (flags & LIBIO_FLAGS_NO_DELAY) == LIBIO_FLAGS_NO_DELAY ) {
    
40005348:	80 8a 20 01 	btst  1, %o0
                                  <== NOT EXECUTED
4000534c:	02 80 00 04 	be  4000535c <rtems_libio_to_fcntl_flags+0x30>
<== NOT EXECUTED
40005350:	80 8a 22 00 	btst  0x200, %o0
                              <== NOT EXECUTED
    fcntl_flags |= O_NONBLOCK;
                                       
40005354:	05 00 00 10 	sethi  %hi(0x4000), %g2
                       <== NOT EXECUTED
40005358:	82 10 40 02 	or  %g1, %g2, %g1
                             <== NOT EXECUTED
  }
                                                                  

                                                                     
  if ( (flags & LIBIO_FLAGS_APPEND) == LIBIO_FLAGS_APPEND ) {
        
4000535c:	32 80 00 02 	bne,a   40005364 <rtems_libio_to_fcntl_flags+0x38>
<== NOT EXECUTED
40005360:	82 10 60 08 	or  %g1, 8, %g1
                               <== NOT EXECUTED
    fcntl_flags |= O_APPEND;
                                         
  }
                                                                  

                                                                     
  return fcntl_flags;
                                                
}
                                                                    
40005364:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40005368:	90 10 00 01 	mov  %g1, %o0
                                 <== NOT EXECUTED
  } else if ( (flags & LIBIO_FLAGS_WRITE) == LIBIO_FLAGS_WRITE) {
    
4000536c:	83 32 20 02 	srl  %o0, 2, %g1
                              <== NOT EXECUTED
40005370:	10 bf ff f6 	b  40005348 <rtems_libio_to_fcntl_flags+0x1c>
 <== NOT EXECUTED
40005374:	82 08 60 01 	and  %g1, 1, %g1
                              <== NOT EXECUTED

                                                                     

40005488 <rtems_libio_use_global_env>: void rtems_libio_use_global_env(void) {
40005488:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  void *ptr = pthread_getspecific(rtems_current_user_env_key);
       
4000548c:	39 10 00 50 	sethi  %hi(0x40014000), %i4
                   
40005490:	40 00 04 13 	call  400064dc <pthread_getspecific>
          
40005494:	d0 07 22 4c 	ld  [ %i4 + 0x24c ], %o0	! 4001424c <rtems_current_user_env_key>

  rtems_user_env_t *env = rtems_current_user_env;
                    
  bool uses_private_env = env != &rtems_global_user_env;
             

                                                                     
  if (uses_private_env) {
                                            
40005498:	03 10 00 4a 	sethi  %hi(0x40012800), %g1
                   
4000549c:	82 10 63 a8 	or  %g1, 0x3a8, %g1	! 40012ba8 <rtems_global_user_env>

400054a0:	80 a2 00 01 	cmp  %o0, %g1
                                 
400054a4:	02 80 00 0f 	be  400054e0 <rtems_libio_use_global_env+0x58>
<== NEVER TAKEN
400054a8:	ba 10 00 08 	mov  %o0, %i5
                                 
400054ac:	80 a2 20 00 	cmp  %o0, 0
                                   
400054b0:	02 80 00 0c 	be  400054e0 <rtems_libio_use_global_env+0x58>
<== NEVER TAKEN
400054b4:	01 00 00 00 	nop 
                                          
    Thread_Life_state life_state =
                                   
400054b8:	40 00 1b a4 	call  4000c348 <_Thread_Set_life_protection>
  
400054bc:	90 10 20 01 	mov  1, %o0	! 1 <_TLS_Alignment>
              
400054c0:	b0 10 00 08 	mov  %o0, %i0
                                 
400054c4:	7f ff ff 98 	call  40005324 <rtems_libio_free_user_env.part.1>

400054c8:	90 10 00 1d 	mov  %i5, %o0
                                 
      _Thread_Set_life_protection(THREAD_LIFE_PROTECTED);
            

                                                                     
    rtems_libio_free_user_env(env);
                                  
    pthread_setspecific(rtems_current_user_env_key, NULL);
           
400054cc:	d0 07 22 4c 	ld  [ %i4 + 0x24c ], %o0
                      
400054d0:	40 00 04 7e 	call  400066c8 <pthread_setspecific>
          
400054d4:	92 10 20 00 	clr  %o1
                                      

                                                                     
    _Thread_Set_life_protection(life_state);
                         
400054d8:	40 00 1b 9c 	call  4000c348 <_Thread_Set_life_protection>
  
400054dc:	81 e8 00 00 	restore 
                                      
  }
                                                                  
}
                                                                    
400054e0:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400054e4:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED

                                                                     

40004f58 <rtems_mkdir>: return (retval); } int rtems_mkdir(const char *path, mode_t mode) {
40004f58:	9d e3 bf 40 	save  %sp, -192, %sp
                          
  int success = 0;
                                                   
  char *dup_path = strdup(path);
                                     
40004f5c:	40 00 23 67 	call  4000dcf8 <strdup>
                       
40004f60:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if (dup_path != NULL) {
                                            
40004f64:	b8 92 20 00 	orcc  %o0, 0, %i4
                             
40004f68:	02 80 00 6e 	be  40005120 <rtems_mkdir+0x1c8>
              <== NEVER TAKEN
40004f6c:	01 00 00 00 	nop 
                                          
  if (p[0] == '/')    /* Skip leading '/'. */
                        
40004f70:	c2 0f 00 00 	ldub  [ %i4 ], %g1
                            
40004f74:	83 28 60 18 	sll  %g1, 0x18, %g1
                           
40004f78:	85 38 60 18 	sra  %g1, 0x18, %g2
                           
40004f7c:	80 a0 a0 2f 	cmp  %g2, 0x2f
                                
40004f80:	12 80 00 05 	bne  40004f94 <rtems_mkdir+0x3c>
              
40004f84:	ba 10 00 1c 	mov  %i4, %i5
                                 
40004f88:	c2 0f 20 01 	ldub  [ %i4 + 1 ], %g1
                        
    ++p;
                                                             
40004f8c:	ba 07 20 01 	add  %i4, 1, %i5
                              
40004f90:	83 28 60 18 	sll  %g1, 0x18, %g1
                           
    if (p[0] == '\0')
                                                
40004f94:	83 38 60 18 	sra  %g1, 0x18, %g1
                           
40004f98:	ba 07 60 01 	inc  %i5
                                      
        *p = '/';
                                                    
40004f9c:	b6 10 20 00 	clr  %i3
                                      
40004fa0:	84 10 20 01 	mov  1, %g2
                                   
40004fa4:	b0 10 20 2f 	mov  0x2f, %i0
                                
        } else if (!S_ISDIR(sb.st_mode)) {
                           
40004fa8:	23 00 00 3c 	sethi  %hi(0xf000), %l1
                       
    if (p[0] == '\0')
                                                
40004fac:	80 a0 60 00 	cmp  %g1, 0
                                   
40004fb0:	02 80 00 18 	be  40005010 <rtems_mkdir+0xb8>
               <== NEVER TAKEN
40004fb4:	21 00 00 10 	sethi  %hi(0x4000), %l0
                       
    else if (p[0] != '/')
                                            
40004fb8:	80 a0 60 2f 	cmp  %g1, 0x2f
                                
40004fbc:	12 80 00 0f 	bne  40004ff8 <rtems_mkdir+0xa0>
              
40004fc0:	80 a0 a0 00 	cmp  %g2, 0
                                   
    *p = '\0';
                                                       
40004fc4:	c0 2f 7f ff 	clrb  [ %i5 + -1 ]
                            
    if (first) {
                                                     
40004fc8:	12 80 00 5c 	bne  40005138 <rtems_mkdir+0x1e0>
             
40004fcc:	f4 0f 40 00 	ldub  [ %i5 ], %i2
                            
    if (last)
                                                        
40004fd0:	80 8e a0 ff 	btst  0xff, %i2
                               
40004fd4:	02 80 00 17 	be  40005030 <rtems_mkdir+0xd8>
               <== NEVER TAKEN
40004fd8:	92 10 21 ff 	mov  0x1ff, %o1
                               
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {

40004fdc:	7f ff fd dd 	call  40004750 <mkdir>
                        
40004fe0:	90 10 00 1c 	mov  %i4, %o0
                                 
40004fe4:	80 a2 20 00 	cmp  %o0, 0
                                   
40004fe8:	06 80 00 1f 	bl  40005064 <rtems_mkdir+0x10c>
              
40004fec:	b4 10 20 00 	clr  %i2
                                      
        *p = '/';
                                                    
40004ff0:	f0 2f 7f ff 	stb  %i0, [ %i5 + -1 ]
                        
40004ff4:	84 10 20 00 	clr  %g2
                                      
40004ff8:	c2 0f 40 00 	ldub  [ %i5 ], %g1
                            
40004ffc:	83 28 60 18 	sll  %g1, 0x18, %g1
                           
    if (p[0] == '\0')
                                                
40005000:	83 38 60 18 	sra  %g1, 0x18, %g1
                           
40005004:	80 a0 60 00 	cmp  %g1, 0
                                   
40005008:	12 bf ff ec 	bne  40004fb8 <rtems_mkdir+0x60>
              
4000500c:	ba 07 60 01 	inc  %i5
                                      
    if (first) {
                                                     
40005010:	80 a0 a0 00 	cmp  %g2, 0
                                   
40005014:	02 80 00 07 	be  40005030 <rtems_mkdir+0xd8>
               
40005018:	01 00 00 00 	nop 
                                          
      oumask = umask(0);
                                             
4000501c:	40 00 03 fd 	call  40006010 <umask>
                        
40005020:	90 10 20 00 	clr  %o0	! 0 <PROM_START>
                     
40005024:	b6 10 00 08 	mov  %o0, %i3
                                 
      (void)umask(numask);
                                           
40005028:	40 00 03 fa 	call  40006010 <umask>
                        
4000502c:	90 0a 3f 3f 	and  %o0, -193, %o0
                           
      (void)umask(oumask);
                                           
40005030:	40 00 03 f8 	call  40006010 <umask>
                        
40005034:	90 10 00 1b 	mov  %i3, %o0
                                 
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {

40005038:	92 10 00 19 	mov  %i1, %o1
                                 
4000503c:	7f ff fd c5 	call  40004750 <mkdir>
                        
40005040:	90 10 00 1c 	mov  %i4, %o0
                                 
40005044:	80 a2 20 00 	cmp  %o0, 0
                                   
40005048:	06 80 00 07 	bl  40005064 <rtems_mkdir+0x10c>
              
4000504c:	b4 10 20 01 	mov  1, %i2
                                   
    (void)umask(oumask);
                                             
40005050:	b0 10 20 00 	clr  %i0
                                      
    success = build(dup_path, mode);
                                 
    free(dup_path);
                                                  
40005054:	7f ff fc 6a 	call  400041fc <free>
                         
40005058:	90 10 00 1c 	mov  %i4, %o0
                                 
4000505c:	81 c7 e0 08 	ret 
                                          
40005060:	81 e8 00 00 	restore 
                                      
      if (errno == EEXIST || errno == EISDIR) {
                      
40005064:	40 00 21 c6 	call  4000d77c <__errno>
                      
40005068:	01 00 00 00 	nop 
                                          
4000506c:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
40005070:	80 a0 60 11 	cmp  %g1, 0x11
                                
40005074:	02 80 00 08 	be  40005094 <rtems_mkdir+0x13c>
              
40005078:	92 07 bf a0 	add  %fp, -96, %o1
                            
4000507c:	40 00 21 c0 	call  4000d77c <__errno>
                      
40005080:	01 00 00 00 	nop 
                                          
40005084:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
40005088:	80 a0 60 15 	cmp  %g1, 0x15
                                
4000508c:	12 80 00 0f 	bne  400050c8 <rtems_mkdir+0x170>
             <== ALWAYS TAKEN
40005090:	92 07 bf a0 	add  %fp, -96, %o1
                            
        if (stat(path, &sb) < 0) {
                                   
40005094:	40 00 00 3c 	call  40005184 <stat>
                         
40005098:	90 10 00 1c 	mov  %i4, %o0
                                 
4000509c:	80 a2 20 00 	cmp  %o0, 0
                                   
400050a0:	06 80 00 0a 	bl  400050c8 <rtems_mkdir+0x170>
              <== NEVER TAKEN
400050a4:	c2 07 bf ac 	ld  [ %fp + -84 ], %g1
                        
        } else if (!S_ISDIR(sb.st_mode)) {
                           
400050a8:	82 08 40 11 	and  %g1, %l1, %g1
                            
400050ac:	80 a0 40 10 	cmp  %g1, %l0
                                 
400050b0:	12 80 00 10 	bne  400050f0 <rtems_mkdir+0x198>
             
400050b4:	80 a6 a0 00 	cmp  %i2, 0
                                   
        if (last)
                                                    
400050b8:	32 bf ff e7 	bne,a   40005054 <rtems_mkdir+0xfc>
           
400050bc:	b0 10 20 00 	clr  %i0
                                      
        *p = '/';
                                                    
400050c0:	10 bf ff cd 	b  40004ff4 <rtems_mkdir+0x9c>
                
400050c4:	f0 2f 7f ff 	stb  %i0, [ %i5 + -1 ]
                        
  if (!first && !last)
                                               
400050c8:	80 a6 a0 00 	cmp  %i2, 0
                                   
400050cc:	32 80 00 17 	bne,a   40005128 <rtems_mkdir+0x1d0>
          <== ALWAYS TAKEN
400050d0:	b0 10 3f ff 	mov  -1, %i0
                                  
    (void)umask(oumask);
                                             
400050d4:	40 00 03 cf 	call  40006010 <umask>
                        
400050d8:	90 10 00 1b 	mov  %i3, %o0
                                 
400050dc:	b0 10 3f ff 	mov  -1, %i0
                                  
    free(dup_path);
                                                  
400050e0:	7f ff fc 47 	call  400041fc <free>
                         
400050e4:	90 10 00 1c 	mov  %i4, %o0
                                 
400050e8:	81 c7 e0 08 	ret 
                                          
400050ec:	81 e8 00 00 	restore 
                                      
          if (last)
                                                  
400050f0:	02 80 00 07 	be  4000510c <rtems_mkdir+0x1b4>
              
400050f4:	01 00 00 00 	nop 
                                          
            errno = EEXIST;
                                          
400050f8:	40 00 21 a1 	call  4000d77c <__errno>
                      
400050fc:	b0 10 3f ff 	mov  -1, %i0	! ffffffff <RAM_END+0xbfbfffff>
  
40005100:	82 10 20 11 	mov  0x11, %g1
                                
40005104:	10 bf ff d4 	b  40005054 <rtems_mkdir+0xfc>
                
40005108:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
            errno = ENOTDIR;
                                         
4000510c:	40 00 21 9c 	call  4000d77c <__errno>
                      
40005110:	01 00 00 00 	nop 
                                          
40005114:	82 10 20 14 	mov  0x14, %g1	! 14 <_TLS_Alignment+0x13>
     
40005118:	10 bf ff ef 	b  400050d4 <rtems_mkdir+0x17c>
               
4000511c:	c2 22 00 00 	st  %g1, [ %o0 ]
                              
  }
                                                                  

                                                                     
  return success != 0 ? 0 : -1;
                                      
40005120:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40005124:	91 e8 3f ff 	restore  %g0, -1, %o0
                         <== NOT EXECUTED
    free(dup_path);
                                                  
40005128:	7f ff fc 35 	call  400041fc <free>
                         
4000512c:	90 10 00 1c 	mov  %i4, %o0
                                 
}
                                                                    
40005130:	81 c7 e0 08 	ret 
                                          
40005134:	81 e8 00 00 	restore 
                                      
      oumask = umask(0);
                                             
40005138:	40 00 03 b6 	call  40006010 <umask>
                        
4000513c:	90 10 20 00 	clr  %o0
                                      
40005140:	b6 10 00 08 	mov  %o0, %i3
                                 
      (void)umask(numask);
                                           
40005144:	40 00 03 b3 	call  40006010 <umask>
                        
40005148:	90 0a 3f 3f 	and  %o0, -193, %o0
                           
    if (last)
                                                        
4000514c:	10 bf ff a2 	b  40004fd4 <rtems_mkdir+0x7c>
                
40005150:	80 8e a0 ff 	btst  0xff, %i2
                               

                                                                     

4000e41c <rtems_printf>: int rtems_printf( const rtems_printer *printer, const char *format, ... ) {
4000e41c:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  int len = 0;
                                                       
  if ( rtems_print_printer_valid( printer ) ) {
                      
    va_list ap;
                                                      
    va_start( ap, format );
                                          
4000e420:	f4 27 a0 4c 	st  %i2, [ %fp + 0x4c ]
                       
{
                                                                    
4000e424:	82 10 00 18 	mov  %i0, %g1
                                 
    va_start( ap, format );
                                          
4000e428:	f6 27 a0 50 	st  %i3, [ %fp + 0x50 ]
                       
  int len = 0;
                                                       
4000e42c:	b0 10 20 00 	clr  %i0
                                      
    va_start( ap, format );
                                          
4000e430:	f8 27 a0 54 	st  %i4, [ %fp + 0x54 ]
                       
4000e434:	80 a0 60 00 	cmp  %g1, 0
                                   
4000e438:	02 80 00 0b 	be  4000e464 <rtems_printf+0x48>
              <== NEVER TAKEN
4000e43c:	fa 27 a0 58 	st  %i5, [ %fp + 0x58 ]
                       
4000e440:	c4 00 60 04 	ld  [ %g1 + 4 ], %g2
                          
4000e444:	80 a0 a0 00 	cmp  %g2, 0
                                   
4000e448:	02 80 00 07 	be  4000e464 <rtems_printf+0x48>
              <== NEVER TAKEN
4000e44c:	94 07 a0 4c 	add  %fp, 0x4c, %o2
                           
    len = printer->printer( printer->context, format, ap );
          
4000e450:	d0 00 40 00 	ld  [ %g1 ], %o0
                              
4000e454:	92 10 00 19 	mov  %i1, %o1
                                 
4000e458:	9f c0 80 00 	call  %g2
                                     
4000e45c:	d4 27 bf fc 	st  %o2, [ %fp + -4 ]
                         
4000e460:	b0 10 00 08 	mov  %o0, %i0
                                 
    va_end( ap );
                                                    
  }
                                                                  
  return len;
                                                        
}
                                                                    
4000e464:	81 c7 e0 08 	ret 
                                          
4000e468:	81 e8 00 00 	restore 
                                      

                                                                     

40004cb8 <rtems_resource_snapshot_take>: return count; } void rtems_resource_snapshot_take(rtems_resource_snapshot *snapshot) {
40004cb8:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  uint32_t *active;
                                                  
  size_t i;
                                                          

                                                                     
  memset(snapshot, 0, sizeof(*snapshot));
                            
40004cbc:	94 10 20 f8 	mov  0xf8, %o2
                                
40004cc0:	92 10 20 00 	clr  %o1
                                      
40004cc4:	40 00 24 c0 	call  4000dfc4 <memset>
                       
40004cc8:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  _RTEMS_Lock_allocator();
                                           
40004ccc:	40 00 06 07 	call  400064e8 <_RTEMS_Lock_allocator>
        
40004cd0:	3b 10 00 3e 	sethi  %hi(0x4000f800), %i5
                   

                                                                     
  _Thread_Kill_zombies();
                                            
40004cd4:	40 00 18 90 	call  4000af14 <_Thread_Kill_zombies>
         
40004cd8:	b8 06 20 b4 	add  %i0, 0xb4, %i4
                           

                                                                     
  get_heap_info(RTEMS_Malloc_Heap, &snapshot->heap_info);
            
40004cdc:	03 10 00 44 	sethi  %hi(0x40011000), %g1
                   
  _Heap_Get_information(heap, info);
                                 
40004ce0:	d0 00 62 8c 	ld  [ %g1 + 0x28c ], %o0	! 4001128c <RTEMS_Malloc_Heap>

40004ce4:	40 00 07 21 	call  40006968 <_Heap_Get_information>
        
40004ce8:	92 06 20 58 	add  %i0, 0x58, %o1
                           
  memset(&info->Stats, 0, sizeof(info->Stats));
                      
40004cec:	94 10 20 40 	mov  0x40, %o2
                                
40004cf0:	92 10 20 00 	clr  %o1
                                      
40004cf4:	40 00 24 b4 	call  4000dfc4 <memset>
                       
40004cf8:	90 06 20 70 	add  %i0, 0x70, %o0
                           
  _Heap_Get_information(heap, info);
                                 
40004cfc:	92 10 00 18 	mov  %i0, %o1
                                 
40004d00:	11 10 00 4b 	sethi  %hi(0x40012c00), %o0
                   
40004d04:	40 00 07 19 	call  40006968 <_Heap_Get_information>
        
40004d08:	90 12 22 a0 	or  %o0, 0x2a0, %o0	! 40012ea0 <_Workspace_Area>

  memset(&info->Stats, 0, sizeof(info->Stats));
                      
40004d0c:	92 10 20 00 	clr  %o1
                                      
40004d10:	94 10 20 40 	mov  0x40, %o2
                                
40004d14:	40 00 24 ac 	call  4000dfc4 <memset>
                       
40004d18:	90 06 20 18 	add  %i0, 0x18, %o0
                           
40004d1c:	ba 17 60 98 	or  %i5, 0x98, %i5
                            
  get_heap_info(&_Workspace_Area, &snapshot->workspace_info);
        

                                                                     
  active = &snapshot->active_posix_keys;
                             
40004d20:	92 10 20 02 	mov  2, %o1
                                   
40004d24:	90 10 20 03 	mov  3, %o0
                                   
40004d28:	10 80 00 05 	b  40004d3c <rtems_resource_snapshot_take+0x84>

40004d2c:	b6 07 60 70 	add  %i5, 0x70, %i3
                           
40004d30:	d0 07 40 00 	ld  [ %i5 ], %o0
                              
40004d34:	d2 17 60 04 	lduh  [ %i5 + 4 ], %o1
                        
40004d38:	ba 07 60 08 	add  %i5, 8, %i5
                              

                                                                     
  for (i = 0; i < RTEMS_ARRAY_SIZE(objects_info_table); ++i) {
       
    const Objects_Information *information;
                          

                                                                     
    information = _Objects_Get_information(
                          
40004d3c:	93 2a 60 10 	sll  %o1, 0x10, %o1
                           
40004d40:	40 00 0d de 	call  400084b8 <_Objects_Get_information>
     
40004d44:	93 32 60 10 	srl  %o1, 0x10, %o1
                           
      objects_info_table[i].api,
                                     
      objects_info_table[i].cls
                                      
    );
                                                               

                                                                     
    if (information != NULL) {
                                       
40004d48:	80 a2 20 00 	cmp  %o0, 0
                                   
40004d4c:	02 80 00 08 	be  40004d6c <rtems_resource_snapshot_take+0xb4>

40004d50:	80 a7 40 1b 	cmp  %i5, %i3
                                 
      active[i] = _Objects_Active_count(information);
                
40004d54:	40 00 0c 9e 	call  40007fcc <_Objects_Active_count>
        
40004d58:	01 00 00 00 	nop 
                                          
40004d5c:	91 2a 20 10 	sll  %o0, 0x10, %o0
                           
40004d60:	91 32 20 10 	srl  %o0, 0x10, %o0
                           
40004d64:	d0 27 00 00 	st  %o0, [ %i4 ]
                              
  for (i = 0; i < RTEMS_ARRAY_SIZE(objects_info_table); ++i) {
       
40004d68:	80 a7 40 1b 	cmp  %i5, %i3
                                 
40004d6c:	12 bf ff f1 	bne  40004d30 <rtems_resource_snapshot_take+0x78>

40004d70:	b8 07 20 04 	add  %i4, 4, %i4
                              
    }
                                                                
  }
                                                                  

                                                                     
  _RTEMS_Unlock_allocator();
                                         
40004d74:	40 00 05 e2 	call  400064fc <_RTEMS_Unlock_allocator>
      
40004d78:	39 10 00 4a 	sethi  %hi(0x40012800), %i4
                   
  uint32_t count = 0;
                                                
40004d7c:	ba 10 20 00 	clr  %i5
                                      
  Objects_Id id = OBJECTS_ID_INITIAL_INDEX;
                          
40004d80:	c0 27 bf fc 	clr  [ %fp + -4 ]
                             
40004d84:	90 10 20 00 	clr  %o0
                                      
  return (POSIX_Keys_Control *)
                                      
40004d88:	10 80 00 07 	b  40004da4 <rtems_resource_snapshot_take+0xec>

40004d8c:	b8 17 21 24 	or  %i4, 0x124, %i4
                           
    count += _Chain_Node_count_unprotected(&the_key->Key_value_pairs);

40004d90:	40 00 06 03 	call  4000659c <_Chain_Node_count_unprotected>

40004d94:	01 00 00 00 	nop 
                                          
 * previous thread life protection state and thus may not return if the

 * executing thread was restarted or deleted in the mean-time.
       
 */
                                                                  
RTEMS_INLINE_ROUTINE void _Objects_Allocator_unlock( void )
          
{
                                                                    
  _RTEMS_Unlock_allocator();
                                         
40004d98:	40 00 05 d9 	call  400064fc <_RTEMS_Unlock_allocator>
      
40004d9c:	ba 07 40 08 	add  %i5, %o0, %i5
                            
40004da0:	d0 07 bf fc 	ld  [ %fp + -4 ], %o0
                         
  return (POSIX_Keys_Control *)
                                      
40004da4:	94 07 bf fc 	add  %fp, -4, %o2
                             
40004da8:	40 00 0d e1 	call  4000852c <_Objects_Get_next>
            
40004dac:	92 10 00 1c 	mov  %i4, %o1
                                 
40004db0:	82 10 00 08 	mov  %o0, %g1
                                 
  while ((the_key = get_next_key(&id)) != NULL ) {
                   
40004db4:	80 a0 60 00 	cmp  %g1, 0
                                   
40004db8:	12 bf ff f6 	bne  40004d90 <rtems_resource_snapshot_take+0xd8>

40004dbc:	90 02 20 14 	add  %o0, 0x14, %o0
                           

                                                                     
  snapshot->active_posix_key_value_pairs = get_active_posix_key_value_pairs();

40004dc0:	fa 26 20 b0 	st  %i5, [ %i0 + 0xb0 ]
                       
  rtems_libio_lock();
                                                
40004dc4:	7f ff fd 0e 	call  400041fc <rtems_libio_lock>
             
40004dc8:	ba 10 20 00 	clr  %i5
                                      
  iop = rtems_libio_iop_free_head;
                                   
40004dcc:	03 10 00 4a 	sethi  %hi(0x40012800), %g1
                   
40004dd0:	c2 00 61 1c 	ld  [ %g1 + 0x11c ], %g1	! 4001291c <rtems_libio_iop_free_head>

  while (iop != NULL) {
                                              
40004dd4:	80 a0 60 00 	cmp  %g1, 0
                                   
40004dd8:	02 80 00 06 	be  40004df0 <rtems_resource_snapshot_take+0x138>
<== ALWAYS TAKEN
40004ddc:	01 00 00 00 	nop 
                                          
    iop = iop->data1;
                                                
40004de0:	c2 00 60 28 	ld  [ %g1 + 0x28 ], %g1
                       <== NOT EXECUTED
  while (iop != NULL) {
                                              
40004de4:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40004de8:	12 bf ff fe 	bne  40004de0 <rtems_resource_snapshot_take+0x128>
<== NOT EXECUTED
40004dec:	ba 07 60 01 	inc  %i5
                                      <== NOT EXECUTED
  rtems_libio_unlock();
                                              
40004df0:	7f ff fd 08 	call  40004210 <rtems_libio_unlock>
           
40004df4:	01 00 00 00 	nop 
                                          
  return (int) rtems_libio_number_iops - free_count;
                 
40004df8:	03 10 00 3d 	sethi  %hi(0x4000f400), %g1
                   
40004dfc:	c2 00 61 30 	ld  [ %g1 + 0x130 ], %g1	! 4000f530 <rtems_libio_number_iops>

40004e00:	ba 20 40 1d 	sub  %g1, %i5, %i5
                            
  snapshot->open_files = open_files();
                               
40004e04:	fa 26 20 f0 	st  %i5, [ %i0 + 0xf0 ]
                       
}
                                                                    
40004e08:	81 c7 e0 08 	ret 
                                          
40004e0c:	81 e8 00 00 	restore 
                                      

                                                                     

40014d68 <rtems_termios_baud_table>: 40014d68: 40 01 4c a0 00 00 00 00 00 00 00 00 40 01 4c a8 @.L.........@.L. 40014d78: 00 00 00 32 00 00 00 32 40 01 4c b0 00 00 00 4b ...2...2@.L....K 40014d88: 00 00 00 4b 40 01 4c b8 00 00 00 6e 00 00 00 6e ...K@.L....n...n 40014d98: 40 01 4c c0 00 00 00 86 00 00 00 86 40 01 4c c8 @.L.........@.L. 40014da8: 00 00 00 96 00 00 00 96 40 01 4c d0 00 00 00 c8 ........@.L..... 40014db8: 00 00 00 c8 40 01 4c d8 00 00 01 2c 00 00 01 2c ....@.L....,..., 40014dc8: 40 01 4c e0 00 00 02 58 00 00 02 58 40 01 4c e8 @.L....X...X@.L. 40014dd8: 00 00 04 b0 00 00 04 b0 40 01 4c f0 00 00 07 08 ........@.L..... 40014de8: 00 00 07 08 40 01 4c f8 00 00 09 60 00 00 09 60 ....@.L....`...` 40014df8: 40 01 4d 00 00 00 12 c0 00 00 12 c0 40 01 4d 08 @.M.........@.M. 40014e08: 00 00 25 80 00 00 25 80 40 01 4d 10 00 00 4b 00 ..%...%.@.M...K. 40014e18: 00 00 4b 00 40 01 4d 18 00 00 96 00 00 00 96 00 ..K.@.M......... 40014e28: 40 01 4d 20 00 00 1c 20 00 00 1c 20 40 01 4d 28 @.M ... ... @.M( 40014e38: 00 00 38 40 00 00 38 40 40 01 4d 30 00 00 70 80 ..8@..8@@.M0..p. 40014e48: 00 00 70 80 40 01 4d 38 00 00 e1 00 00 00 e1 00 ..p.@.M8........ 40014e58: 40 01 4d 40 00 01 2c 00 00 01 2c 00 40 01 4d 48 @.M@..,...,.@.MH 40014e68: 00 01 c2 00 00 01 c2 00 40 01 4d 50 00 03 84 00 ........@.MP.... 40014e78: 00 03 84 00 40 01 4d 58 00 07 08 00 00 07 08 00 ....@.MX........ 40014e88: 40 01 4d 60 00 0e 10 00 00 0e 10 00 00 00 00 00 @.M`............ ... 40014ea0: 74 65 72 6d 69 6f 73 20 69 6e 70 75 74 00 00 00 termios input... 40014eb0: 74 65 72 6d 69 6f 73 20 6f 75 74 70 75 74 00 00 termios output.. 40014ec0: 74 65 72 6d 69 6f 73 20 72 61 77 20 6f 75 74 70 termios raw outp 40014ed0: 75 74 00 00 00 00 00 00 74 65 72 6d 69 6f 73 20 ut......termios 40014ee0: 64 65 76 69 63 65 00 00 74 65 72 6d 69 6f 73 20 device..termios 40014ef0: 72 61 77 20 69 6e 70 75 74 00 00 00 00 00 00 00 raw input....... 40014f00: 08 00 00 00 00 00 00 00 08 20 08 00 ......... ..
40006d4c <rtems_termios_baud_to_index>: rtems_termios_baud_t termios_baud ) { int baud_index; switch (termios_baud) {
40006d4c:	05 00 00 04 	sethi  %hi(0x1000), %g2
                       
40006d50:	84 10 a2 c0 	or  %g2, 0x2c0, %g2	! 12c0 <_Configuration_Interrupt_stack_size+0x2c0>

40006d54:	80 a2 00 02 	cmp  %o0, %g2
                                 
40006d58:	02 80 00 7d 	be  40006f4c <rtems_termios_baud_to_index+0x200>
<== NEVER TAKEN
40006d5c:	82 10 00 08 	mov  %o0, %g1
                                 
40006d60:	18 80 00 14 	bgu  40006db0 <rtems_termios_baud_to_index+0x64>
<== ALWAYS TAKEN
40006d64:	80 a2 20 96 	cmp  %o0, 0x96
                                
40006d68:	02 80 00 7b 	be  40006f54 <rtems_termios_baud_to_index+0x208>
<== NOT EXECUTED
40006d6c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40006d70:	08 80 00 2a 	bleu  40006e18 <rtems_termios_baud_to_index+0xcc>
<== NOT EXECUTED
40006d74:	80 a2 22 58 	cmp  %o0, 0x258
                               <== NOT EXECUTED
40006d78:	02 80 00 73 	be  40006f44 <rtems_termios_baud_to_index+0x1f8>
<== NOT EXECUTED
40006d7c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40006d80:	08 80 00 46 	bleu  40006e98 <rtems_termios_baud_to_index+0x14c>
<== NOT EXECUTED
40006d84:	80 a0 67 08 	cmp  %g1, 0x708
                               <== NOT EXECUTED
40006d88:	02 80 00 22 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NOT EXECUTED
40006d8c:	90 10 20 0a 	mov  0xa, %o0
                                 <== NOT EXECUTED
40006d90:	80 a0 69 60 	cmp  %g1, 0x960
                               <== NOT EXECUTED
40006d94:	02 80 00 1f 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NOT EXECUTED
40006d98:	90 10 20 0b 	mov  0xb, %o0
                                 <== NOT EXECUTED
40006d9c:	80 a0 64 b0 	cmp  %g1, 0x4b0
                               <== NOT EXECUTED
40006da0:	02 80 00 1c 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NOT EXECUTED
40006da4:	90 10 20 09 	mov  9, %o0
                                   <== NOT EXECUTED
    case B921600:   baud_index = 24;  break;
                         
    default:        baud_index = -1;  break;
                         
  }
                                                                  

                                                                     
  return baud_index;
                                                 
}
                                                                    
40006da8:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006dac:	90 10 3f ff 	mov  -1, %o0
                                  <== NOT EXECUTED
  switch (termios_baud) {
                                            
40006db0:	05 00 00 25 	sethi  %hi(0x9400), %g2
                       
40006db4:	84 10 a2 00 	or  %g2, 0x200, %g2	! 9600 <_Configuration_Interrupt_stack_size+0x8600>

40006db8:	80 a2 00 02 	cmp  %o0, %g2
                                 
40006dbc:	02 80 00 60 	be  40006f3c <rtems_termios_baud_to_index+0x1f0>

40006dc0:	01 00 00 00 	nop 
                                          
40006dc4:	08 80 00 22 	bleu  40006e4c <rtems_termios_baud_to_index+0x100>

40006dc8:	05 00 00 70 	sethi  %hi(0x1c000), %g2
                      
40006dcc:	84 10 a2 00 	or  %g2, 0x200, %g2	! 1c200 <_Configuration_Interrupt_stack_size+0x1b200>

40006dd0:	80 a2 00 02 	cmp  %o0, %g2
                                 
40006dd4:	02 80 00 62 	be  40006f5c <rtems_termios_baud_to_index+0x210>

40006dd8:	01 00 00 00 	nop 
                                          
40006ddc:	08 80 00 37 	bleu  40006eb8 <rtems_termios_baud_to_index+0x16c>

40006de0:	05 00 01 c2 	sethi  %hi(0x70800), %g2
                      
40006de4:	80 a0 40 02 	cmp  %g1, %g2
                                 
40006de8:	02 80 00 0a 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== ALWAYS TAKEN
40006dec:	90 10 20 17 	mov  0x17, %o0
                                
40006df0:	05 00 03 84 	sethi  %hi(0xe1000), %g2
                      <== NOT EXECUTED
40006df4:	80 a0 40 02 	cmp  %g1, %g2
                                 <== NOT EXECUTED
40006df8:	02 80 00 06 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NOT EXECUTED
40006dfc:	90 10 20 18 	mov  0x18, %o0
                                <== NOT EXECUTED
40006e00:	05 00 00 e1 	sethi  %hi(0x38400), %g2
                      <== NOT EXECUTED
40006e04:	80 a0 40 02 	cmp  %g1, %g2
                                 <== NOT EXECUTED
40006e08:	12 bf ff e8 	bne  40006da8 <rtems_termios_baud_to_index+0x5c>
<== NOT EXECUTED
40006e0c:	90 10 20 16 	mov  0x16, %o0
                                <== NOT EXECUTED
40006e10:	81 c3 e0 08 	retl 
                                         
40006e14:	01 00 00 00 	nop 
                                          
40006e18:	80 a2 20 4b 	cmp  %o0, 0x4b
                                <== NOT EXECUTED
40006e1c:	02 80 00 46 	be  40006f34 <rtems_termios_baud_to_index+0x1e8>
<== NOT EXECUTED
40006e20:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40006e24:	18 80 00 3b 	bgu  40006f10 <rtems_termios_baud_to_index+0x1c4>
<== NOT EXECUTED
40006e28:	80 a0 60 6e 	cmp  %g1, 0x6e
                                <== NOT EXECUTED
40006e2c:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40006e30:	02 bf ff f8 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NOT EXECUTED
40006e34:	90 10 20 00 	clr  %o0
                                      <== NOT EXECUTED
40006e38:	80 a0 60 32 	cmp  %g1, 0x32
                                <== NOT EXECUTED
40006e3c:	12 bf ff db 	bne  40006da8 <rtems_termios_baud_to_index+0x5c>
<== NOT EXECUTED
40006e40:	90 10 20 01 	mov  1, %o0
                                   <== NOT EXECUTED
}
                                                                    
40006e44:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006e48:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  switch (termios_baud) {
                                            
40006e4c:	05 00 00 0e 	sethi  %hi(0x3800), %g2
                       
40006e50:	84 10 a0 40 	or  %g2, 0x40, %g2	! 3840 <_Configuration_Interrupt_stack_size+0x2840>

40006e54:	80 a2 00 02 	cmp  %o0, %g2
                                 
40006e58:	02 80 00 35 	be  40006f2c <rtems_termios_baud_to_index+0x1e0>
<== NEVER TAKEN
40006e5c:	01 00 00 00 	nop 
                                          
40006e60:	18 80 00 21 	bgu  40006ee4 <rtems_termios_baud_to_index+0x198>

40006e64:	05 00 00 12 	sethi  %hi(0x4800), %g2
                       
40006e68:	05 00 00 07 	sethi  %hi(0x1c00), %g2
                       
40006e6c:	84 10 a0 20 	or  %g2, 0x20, %g2	! 1c20 <_Configuration_Interrupt_stack_size+0xc20>

40006e70:	80 a0 40 02 	cmp  %g1, %g2
                                 
40006e74:	02 bf ff e7 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NEVER TAKEN
40006e78:	90 10 20 10 	mov  0x10, %o0
                                
40006e7c:	05 00 00 09 	sethi  %hi(0x2400), %g2
                       
40006e80:	84 10 a1 80 	or  %g2, 0x180, %g2	! 2580 <_Configuration_Interrupt_stack_size+0x1580>

40006e84:	80 a0 40 02 	cmp  %g1, %g2
                                 
40006e88:	12 bf ff c8 	bne  40006da8 <rtems_termios_baud_to_index+0x5c>
<== NEVER TAKEN
40006e8c:	90 10 20 0d 	mov  0xd, %o0
                                 
}
                                                                    
40006e90:	81 c3 e0 08 	retl 
                                         
40006e94:	01 00 00 00 	nop 
                                          
  switch (termios_baud) {
                                            
40006e98:	80 a0 60 c8 	cmp  %g1, 0xc8
                                <== NOT EXECUTED
40006e9c:	02 bf ff dd 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NOT EXECUTED
40006ea0:	90 10 20 06 	mov  6, %o0
                                   <== NOT EXECUTED
40006ea4:	80 a0 61 2c 	cmp  %g1, 0x12c
                               <== NOT EXECUTED
40006ea8:	12 bf ff c0 	bne  40006da8 <rtems_termios_baud_to_index+0x5c>
<== NOT EXECUTED
40006eac:	90 10 20 07 	mov  7, %o0
                                   <== NOT EXECUTED
}
                                                                    
40006eb0:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006eb4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  switch (termios_baud) {
                                            
40006eb8:	05 00 00 38 	sethi  %hi(0xe000), %g2
                       
40006ebc:	84 10 a1 00 	or  %g2, 0x100, %g2	! e100 <_Configuration_Interrupt_stack_size+0xd100>

40006ec0:	80 a0 40 02 	cmp  %g1, %g2
                                 
40006ec4:	02 bf ff d3 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== ALWAYS TAKEN
40006ec8:	90 10 20 13 	mov  0x13, %o0
                                
40006ecc:	05 00 00 4b 	sethi  %hi(0x12c00), %g2
                      <== NOT EXECUTED
40006ed0:	80 a0 40 02 	cmp  %g1, %g2
                                 <== NOT EXECUTED
40006ed4:	12 bf ff b5 	bne  40006da8 <rtems_termios_baud_to_index+0x5c>
<== NOT EXECUTED
40006ed8:	90 10 20 14 	mov  0x14, %o0
                                <== NOT EXECUTED
}
                                                                    
40006edc:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006ee0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  switch (termios_baud) {
                                            
40006ee4:	84 10 a3 00 	or  %g2, 0x300, %g2
                           
40006ee8:	80 a0 40 02 	cmp  %g1, %g2
                                 
40006eec:	02 bf ff c9 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== ALWAYS TAKEN
40006ef0:	90 10 20 0e 	mov  0xe, %o0
                                 
40006ef4:	05 00 00 1c 	sethi  %hi(0x7000), %g2
                       <== NOT EXECUTED
40006ef8:	84 10 a0 80 	or  %g2, 0x80, %g2	! 7080 <_Configuration_Interrupt_stack_size+0x6080>
<== NOT EXECUTED
40006efc:	80 a0 40 02 	cmp  %g1, %g2
                                 <== NOT EXECUTED
40006f00:	12 bf ff aa 	bne  40006da8 <rtems_termios_baud_to_index+0x5c>
<== NOT EXECUTED
40006f04:	90 10 20 12 	mov  0x12, %o0
                                <== NOT EXECUTED
}
                                                                    
40006f08:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006f0c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  switch (termios_baud) {
                                            
40006f10:	02 bf ff c0 	be  40006e10 <rtems_termios_baud_to_index+0xc4>
<== NOT EXECUTED
40006f14:	90 10 20 03 	mov  3, %o0	! 3 <_TLS_Alignment+0x2>
          <== NOT EXECUTED
40006f18:	80 a0 60 86 	cmp  %g1, 0x86
                                <== NOT EXECUTED
40006f1c:	12 bf ff a3 	bne  40006da8 <rtems_termios_baud_to_index+0x5c>
<== NOT EXECUTED
40006f20:	90 10 20 04 	mov  4, %o0
                                   <== NOT EXECUTED
}
                                                                    
40006f24:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006f28:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    case B14400:    baud_index = 17;  break;
                         
40006f2c:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006f30:	90 10 20 11 	mov  0x11, %o0	! 11 <_TLS_Alignment+0x10>
     <== NOT EXECUTED
    case B75:       baud_index =  2;  break;
                         
40006f34:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006f38:	90 10 20 02 	mov  2, %o0
                                   <== NOT EXECUTED
    case B38400:    baud_index = 15;  break;
                         
40006f3c:	81 c3 e0 08 	retl 
                                         
40006f40:	90 10 20 0f 	mov  0xf, %o0
                                 
    case B600:      baud_index =  8;  break;
                         
40006f44:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006f48:	90 10 20 08 	mov  8, %o0
                                   <== NOT EXECUTED
    case B4800:     baud_index = 12;  break;
                         
40006f4c:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006f50:	90 10 20 0c 	mov  0xc, %o0
                                 <== NOT EXECUTED
    case B150:      baud_index =  5;  break;
                         
40006f54:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40006f58:	90 10 20 05 	mov  5, %o0
                                   <== NOT EXECUTED
    case B115200:   baud_index = 21;  break;
                         
40006f5c:	81 c3 e0 08 	retl 
                                         
40006f60:	90 10 20 15 	mov  0x15, %o0
                                

                                                                     

40008ef8 <rtems_termios_device_install>: {
40008ef8:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  new_device_node = calloc (1, sizeof(*new_device_node));
            
40008efc:	92 10 20 20 	mov  0x20, %o1
                                
40008f00:	7f ff f1 f6 	call  400056d8 <calloc>
                       
40008f04:	90 10 20 01 	mov  1, %o0
                                   
    return RTEMS_NO_MEMORY;
                                          
40008f08:	82 10 20 1a 	mov  0x1a, %g1
                                
  if (new_device_node == NULL) {
                                     
40008f0c:	80 a2 20 00 	cmp  %o0, 0
                                   
40008f10:	02 80 00 10 	be  40008f50 <rtems_termios_device_install+0x58>
<== NEVER TAKEN
40008f14:	ba 10 00 08 	mov  %o0, %i5
                                 
  new_device_node->handler = handler;
                                
40008f18:	f2 22 20 10 	st  %i1, [ %o0 + 0x10 ]
                       
  rv = IMFS_make_generic_node(
                                       
40008f1c:	96 10 00 08 	mov  %o0, %o3
                                 
  new_device_node->flow = flow;
                                      
40008f20:	f4 22 20 14 	st  %i2, [ %o0 + 0x14 ]
                       
  rv = IMFS_make_generic_node(
                                       
40008f24:	15 10 00 53 	sethi  %hi(0x40014c00), %o2
                   
  new_device_node->context = context;
                                
40008f28:	f6 22 20 18 	st  %i3, [ %o0 + 0x18 ]
                       
  rv = IMFS_make_generic_node(
                                       
40008f2c:	94 12 a3 4c 	or  %o2, 0x34c, %o2
                           
  new_device_node->tty = NULL;
                                       
40008f30:	c0 22 20 1c 	clr  [ %o0 + 0x1c ]
                           
  rv = IMFS_make_generic_node(
                                       
40008f34:	13 00 00 08 	sethi  %hi(0x2000), %o1
                       
40008f38:	90 10 00 18 	mov  %i0, %o0
                                 
40008f3c:	40 00 22 2b 	call  400117e8 <IMFS_make_generic_node>
       
40008f40:	92 12 61 ff 	or  %o1, 0x1ff, %o1
                           
  if (rv != 0) {
                                                     
40008f44:	80 a2 20 00 	cmp  %o0, 0
                                   
40008f48:	12 80 00 04 	bne  40008f58 <rtems_termios_device_install+0x60>
<== NEVER TAKEN
40008f4c:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
40008f50:	81 c7 e0 08 	ret 
                                          
40008f54:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
    free (new_device_node);
                                          
40008f58:	7f ff f2 05 	call  4000576c <free>
                         <== NOT EXECUTED
40008f5c:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
    return RTEMS_UNSATISFIED;
                                        
40008f60:	82 10 20 0d 	mov  0xd, %g1
                                 <== NOT EXECUTED
}
                                                                    
40008f64:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40008f68:	91 e8 00 01 	restore  %g0, %g1, %o0
                        <== NOT EXECUTED

                                                                     

40007340 <rtems_termios_device_lock_acquire_default>: __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));
40007340:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
rtems_termios_device_lock_acquire_default(
                           
  rtems_termios_device_context *ctx,
                                 
  rtems_interrupt_lock_context *lock_context
                         
)
                                                                    
{
                                                                    
  rtems_interrupt_lock_acquire (&ctx->lock.interrupt, lock_context);
 
40007344:	c2 22 40 00 	st  %g1, [ %o1 ]
                              
}
                                                                    
40007348:	81 c3 e0 08 	retl 
                                         
4000734c:	01 00 00 00 	nop 
                                          

                                                                     

40007350 <rtems_termios_device_lock_release_default>: register uint32_t _psr __asm__("g1") = psr; /* input to trap handler */
40007350:	c2 02 40 00 	ld  [ %o1 ], %g1
                              <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

40007354:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
40007358:	01 00 00 00 	nop 
                                          
  rtems_termios_device_context *ctx,
                                 
  rtems_interrupt_lock_context *lock_context
                         
)
                                                                    
{
                                                                    
  rtems_interrupt_lock_release (&ctx->lock.interrupt, lock_context);
 
}
                                                                    
4000735c:	81 c3 e0 08 	retl 
                                         
40007360:	01 00 00 00 	nop 
                                          

                                                                     

40009590 <rtems_termios_enqueue_raw_characters>: {
40009590:	9d e3 bf 98 	save  %sp, -104, %sp
                          <== NOT EXECUTED
  if (rtems_termios_linesw[tty->t_line].l_rint != NULL) {
            
40009594:	c2 06 21 5c 	ld  [ %i0 + 0x15c ], %g1
                      <== NOT EXECUTED
40009598:	83 28 60 05 	sll  %g1, 5, %g1
                              <== NOT EXECUTED
4000959c:	39 10 00 60 	sethi  %hi(0x40018000), %i4
                   <== NOT EXECUTED
400095a0:	b8 17 20 48 	or  %i4, 0x48, %i4	! 40018048 <rtems_termios_linesw>
<== NOT EXECUTED
400095a4:	82 07 00 01 	add  %i4, %g1, %g1
                            <== NOT EXECUTED
400095a8:	c2 00 60 10 	ld  [ %g1 + 0x10 ], %g1
                       <== NOT EXECUTED
400095ac:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400095b0:	02 80 00 25 	be  40009644 <rtems_termios_enqueue_raw_characters+0xb4>
<== NOT EXECUTED
400095b4:	ba 10 00 18 	mov  %i0, %i5
                                 <== NOT EXECUTED
    while (len--) {
                                                  
400095b8:	80 a6 a0 00 	cmp  %i2, 0
                                   <== NOT EXECUTED
400095bc:	22 80 00 0f 	be,a   400095f8 <rtems_termios_enqueue_raw_characters+0x68>
<== NOT EXECUTED
400095c0:	c2 07 61 6c 	ld  [ %i5 + 0x16c ], %g1
                      <== NOT EXECUTED
400095c4:	10 80 00 05 	b  400095d8 <rtems_termios_enqueue_raw_characters+0x48>
<== NOT EXECUTED
400095c8:	b4 06 40 1a 	add  %i1, %i2, %i2
                            <== NOT EXECUTED
400095cc:	83 28 60 05 	sll  %g1, 5, %g1
                              <== NOT EXECUTED
400095d0:	82 07 00 01 	add  %i4, %g1, %g1
                            <== NOT EXECUTED
400095d4:	c2 00 60 10 	ld  [ %g1 + 0x10 ], %g1
                       <== NOT EXECUTED
      c = *buf++;
                                                    
400095d8:	b2 06 60 01 	inc  %i1
                                      <== NOT EXECUTED
      rtems_termios_linesw[tty->t_line].l_rint(c,tty);
               
400095dc:	d0 4e 7f ff 	ldsb  [ %i1 + -1 ], %o0
                       <== NOT EXECUTED
400095e0:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400095e4:	92 10 00 1d 	mov  %i5, %o1
                                 <== NOT EXECUTED
    while (len--) {
                                                  
400095e8:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
400095ec:	32 bf ff f8 	bne,a   400095cc <rtems_termios_enqueue_raw_characters+0x3c>
<== NOT EXECUTED
400095f0:	c2 07 61 5c 	ld  [ %i5 + 0x15c ], %g1
                      <== NOT EXECUTED
    if (tty->tty_rcv.sw_pfn != NULL && !tty->tty_rcvwakeup) {
        
400095f4:	c2 07 61 6c 	ld  [ %i5 + 0x16c ], %g1
                      <== NOT EXECUTED
400095f8:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400095fc:	02 80 00 0a 	be  40009624 <rtems_termios_enqueue_raw_characters+0x94>
<== NOT EXECUTED
40009600:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
40009604:	c4 0f 61 74 	ldub  [ %i5 + 0x174 ], %g2
                    <== NOT EXECUTED
40009608:	80 a0 a0 00 	cmp  %g2, 0
                                   <== NOT EXECUTED
4000960c:	12 80 00 06 	bne  40009624 <rtems_termios_enqueue_raw_characters+0x94>
<== NOT EXECUTED
40009610:	84 10 20 01 	mov  1, %g2
                                   <== NOT EXECUTED
      tty->tty_rcvwakeup = true;
                                     
40009614:	c4 2f 61 74 	stb  %g2, [ %i5 + 0x174 ]
                     <== NOT EXECUTED
      (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg);
    
40009618:	90 07 60 50 	add  %i5, 0x50, %o0
                           <== NOT EXECUTED
4000961c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009620:	d2 07 61 70 	ld  [ %i5 + 0x170 ], %o1
                      <== NOT EXECUTED
40009624:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40009628:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  tty->rawInBufDropped += dropped;
                                   
4000962c:	82 00 40 18 	add  %g1, %i0, %g1
                            <== NOT EXECUTED
40009630:	c2 27 60 b4 	st  %g1, [ %i5 + 0xb4 ]
                       <== NOT EXECUTED
  _Semaphore_Post_binary( &binary_semaphore->Semaphore );
            
40009634:	40 00 13 14 	call  4000e284 <_Semaphore_Post_binary>
       <== NOT EXECUTED
40009638:	90 07 60 90 	add  %i5, 0x90, %o0
                           <== NOT EXECUTED
}
                                                                    
4000963c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40009640:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  rtems_termios_device_context *ctx = tty->device_context;
           
40009644:	f8 06 21 7c 	ld  [ %i0 + 0x17c ], %i4
                      <== NOT EXECUTED
40009648:	b4 06 40 1a 	add  %i1, %i2, %i2
                            <== NOT EXECUTED
  bool flow_rcv = false; /* true, if flow control char received */
   
4000964c:	a6 10 20 00 	clr  %l3
                                      <== NOT EXECUTED
  int dropped = 0;
                                                   
40009650:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
40009654:	a2 10 20 01 	mov  1, %l1
                                   <== NOT EXECUTED
        (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg);
  
40009658:	a0 07 60 50 	add  %i5, 0x50, %l0
                           <== NOT EXECUTED
                (void *)&(tty->termios.c_cc[VSTOP]), 1);
             
4000965c:	a4 07 60 6d 	add  %i5, 0x6d, %l2
                           <== NOT EXECUTED
  while (len--) {
                                                    
40009660:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
40009664:	22 bf ff f2 	be,a   4000962c <rtems_termios_enqueue_raw_characters+0x9c>
<== NOT EXECUTED
40009668:	c2 07 60 b4 	ld  [ %i5 + 0xb4 ], %g1
                       <== NOT EXECUTED
    if (tty->flow_ctrl & FL_MDXON) {
                                 
4000966c:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
    c = *buf++;
                                                      
40009670:	b2 06 60 01 	inc  %i1
                                      <== NOT EXECUTED
    if (tty->flow_ctrl & FL_MDXON) {
                                 
40009674:	80 88 62 00 	btst  0x200, %g1
                              <== NOT EXECUTED
40009678:	02 80 00 0b 	be  400096a4 <rtems_termios_enqueue_raw_characters+0x114>
<== NOT EXECUTED
4000967c:	d0 0e 7f ff 	ldub  [ %i1 + -1 ], %o0
                       <== NOT EXECUTED
      if (c == tty->termios.c_cc[VSTOP]) {
                           
40009680:	c4 0f 60 6d 	ldub  [ %i5 + 0x6d ], %g2
                     <== NOT EXECUTED
40009684:	83 2a 20 18 	sll  %o0, 0x18, %g1
                           <== NOT EXECUTED
40009688:	83 38 60 18 	sra  %g1, 0x18, %g1
                           <== NOT EXECUTED
4000968c:	80 a0 40 02 	cmp  %g1, %g2
                                 <== NOT EXECUTED
40009690:	02 80 00 60 	be  40009810 <rtems_termios_enqueue_raw_characters+0x280>
<== NOT EXECUTED
40009694:	c6 0f 60 6c 	ldub  [ %i5 + 0x6c ], %g3
                     <== NOT EXECUTED
      else if (c == tty->termios.c_cc[VSTART]) {
                     
40009698:	80 a0 40 03 	cmp  %g1, %g3
                                 <== NOT EXECUTED
4000969c:	02 80 00 a6 	be  40009934 <rtems_termios_enqueue_raw_characters+0x3a4>
<== NOT EXECUTED
400096a0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    if (flow_rcv) {
                                                  
400096a4:	80 8c e0 ff 	btst  0xff, %l3
                               <== NOT EXECUTED
400096a8:	32 80 00 61 	bne,a   4000982c <rtems_termios_enqueue_raw_characters+0x29c>
<== NOT EXECUTED
400096ac:	a6 10 20 01 	mov  1, %l3
                                   <== NOT EXECUTED
      if (c == '\r' && (tty->termios.c_iflag & IGNCR) != 0) {
        
400096b0:	82 0a 20 ff 	and  %o0, 0xff, %g1
                           <== NOT EXECUTED
400096b4:	80 a0 60 0d 	cmp  %g1, 0xd
                                 <== NOT EXECUTED
400096b8:	12 80 00 06 	bne  400096d0 <rtems_termios_enqueue_raw_characters+0x140>
<== NOT EXECUTED
400096bc:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
400096c0:	c2 07 60 50 	ld  [ %i5 + 0x50 ], %g1
                       <== NOT EXECUTED
400096c4:	80 88 60 80 	btst  0x80, %g1
                               <== NOT EXECUTED
400096c8:	12 bf ff e7 	bne  40009664 <rtems_termios_enqueue_raw_characters+0xd4>
<== NOT EXECUTED
400096cc:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
      c = iprocEarly (c, tty);
                                       
400096d0:	7f ff fb 4d 	call  40008404 <iprocEarly>
                   <== NOT EXECUTED
400096d4:	92 10 00 1d 	mov  %i5, %o1
                                 <== NOT EXECUTED
  ( *context->lock_acquire )( context, lock_context );
               
400096d8:	c2 07 20 14 	ld  [ %i4 + 0x14 ], %g1
                       <== NOT EXECUTED
400096dc:	a8 10 00 08 	mov  %o0, %l4
                                 <== NOT EXECUTED
400096e0:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
400096e4:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400096e8:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
      head = tty->rawInBuf.Head;
                                     
400096ec:	ea 07 60 84 	ld  [ %i5 + 0x84 ], %l5
                       <== NOT EXECUTED
      oldTail = tty->rawInBuf.Tail;
                                  
400096f0:	f6 07 60 88 	ld  [ %i5 + 0x88 ], %i3
                       <== NOT EXECUTED
      newTail = (oldTail + 1) % tty->rawInBuf.Size;
                  
400096f4:	c4 07 60 8c 	ld  [ %i5 + 0x8c ], %g2
                       <== NOT EXECUTED
      if ((tty->flow_ctrl & FL_IREQXOF) != 0 && (((newTail - head) %
 
400096f8:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
      newTail = (oldTail + 1) % tty->rawInBuf.Size;
                  
400096fc:	b6 06 e0 01 	inc  %i3
                                      <== NOT EXECUTED
      if ((tty->flow_ctrl & FL_IREQXOF) != 0 && (((newTail - head) %
 
40009700:	80 88 60 01 	btst  1, %g1
                                  <== NOT EXECUTED
      newTail = (oldTail + 1) % tty->rawInBuf.Size;
                  
40009704:	81 80 20 00 	wr  %g0, %y
                                   <== NOT EXECUTED
40009708:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000970c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40009710:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40009714:	82 76 c0 02 	udiv  %i3, %g2, %g1
                           <== NOT EXECUTED
40009718:	82 58 40 02 	smul  %g1, %g2, %g1
                           <== NOT EXECUTED
      if ((tty->flow_ctrl & FL_IREQXOF) != 0 && (((newTail - head) %
 
4000971c:	02 80 00 0f 	be  40009758 <rtems_termios_enqueue_raw_characters+0x1c8>
<== NOT EXECUTED
40009720:	b6 26 c0 01 	sub  %i3, %g1, %i3
                            <== NOT EXECUTED
          tty->rawInBuf.Size) > tty->highwater)) {
                   
40009724:	c6 07 60 8c 	ld  [ %i5 + 0x8c ], %g3
                       <== NOT EXECUTED
      if ((tty->flow_ctrl & FL_IREQXOF) != 0 && (((newTail - head) %
 
40009728:	c8 07 61 50 	ld  [ %i5 + 0x150 ], %g4
                      <== NOT EXECUTED
4000972c:	82 26 c0 15 	sub  %i3, %l5, %g1
                            <== NOT EXECUTED
40009730:	81 80 20 00 	wr  %g0, %y
                                   <== NOT EXECUTED
40009734:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40009738:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000973c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40009740:	84 70 40 03 	udiv  %g1, %g3, %g2
                           <== NOT EXECUTED
40009744:	84 58 80 03 	smul  %g2, %g3, %g2
                           <== NOT EXECUTED
40009748:	82 20 40 02 	sub  %g1, %g2, %g1
                            <== NOT EXECUTED
4000974c:	80 a0 40 04 	cmp  %g1, %g4
                                 <== NOT EXECUTED
40009750:	18 80 00 57 	bgu  400098ac <rtems_termios_enqueue_raw_characters+0x31c>
<== NOT EXECUTED
40009754:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
      if (newTail != head) {
                                         
40009758:	80 a5 40 1b 	cmp  %l5, %i3
                                 <== NOT EXECUTED
4000975c:	22 80 00 20 	be,a   400097dc <rtems_termios_enqueue_raw_characters+0x24c>
<== NOT EXECUTED
40009760:	c2 07 61 6c 	ld  [ %i5 + 0x16c ], %g1
                      <== NOT EXECUTED
        tty->rawInBuf.theBuf[newTail] = c;
                           
40009764:	c2 07 60 80 	ld  [ %i5 + 0x80 ], %g1
                       <== NOT EXECUTED
40009768:	e8 28 40 1b 	stb  %l4, [ %g1 + %i3 ]
                       <== NOT EXECUTED
        tty->rawInBuf.Tail = newTail;
                                
4000976c:	f6 27 60 88 	st  %i3, [ %i5 + 0x88 ]
                       <== NOT EXECUTED
        if (tty->tty_rcv.sw_pfn != NULL && !tty->tty_rcvwakeup) {
    
40009770:	c2 07 61 6c 	ld  [ %i5 + 0x16c ], %g1
                      <== NOT EXECUTED
40009774:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009778:	22 80 00 74 	be,a   40009948 <rtems_termios_enqueue_raw_characters+0x3b8>
<== NOT EXECUTED
4000977c:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
40009780:	c2 0f 61 74 	ldub  [ %i5 + 0x174 ], %g1
                    <== NOT EXECUTED
40009784:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009788:	12 80 00 1d 	bne  400097fc <rtems_termios_enqueue_raw_characters+0x26c>
<== NOT EXECUTED
4000978c:	c4 07 20 18 	ld  [ %i4 + 0x18 ], %g2
                       <== NOT EXECUTED
  if ((tty->termios.c_lflag & ICANON) != 0) {
                        
40009790:	c2 07 60 5c 	ld  [ %i5 + 0x5c ], %g1
                       <== NOT EXECUTED
40009794:	80 88 61 00 	btst  0x100, %g1
                              <== NOT EXECUTED
40009798:	02 80 00 71 	be  4000995c <rtems_termios_enqueue_raw_characters+0x3cc>
<== NOT EXECUTED
4000979c:	80 a5 20 0a 	cmp  %l4, 0xa
                                 <== NOT EXECUTED
      c == tty->termios.c_cc[VEOL] || c == tty->termios.c_cc[VEOL2];
 
400097a0:	22 80 00 5c 	be,a   40009910 <rtems_termios_enqueue_raw_characters+0x380>
<== NOT EXECUTED
400097a4:	e2 2f 61 74 	stb  %l1, [ %i5 + 0x174 ]
                     <== NOT EXECUTED
    return c == '\n' || c == tty->termios.c_cc[VEOF] ||
              
400097a8:	c2 0f 60 60 	ldub  [ %i5 + 0x60 ], %g1
                     <== NOT EXECUTED
400097ac:	80 a5 00 01 	cmp  %l4, %g1
                                 <== NOT EXECUTED
400097b0:	22 80 00 58 	be,a   40009910 <rtems_termios_enqueue_raw_characters+0x380>
<== NOT EXECUTED
400097b4:	e2 2f 61 74 	stb  %l1, [ %i5 + 0x174 ]
                     <== NOT EXECUTED
400097b8:	c2 0f 60 61 	ldub  [ %i5 + 0x61 ], %g1
                     <== NOT EXECUTED
400097bc:	80 a5 00 01 	cmp  %l4, %g1
                                 <== NOT EXECUTED
400097c0:	22 80 00 54 	be,a   40009910 <rtems_termios_enqueue_raw_characters+0x380>
<== NOT EXECUTED
400097c4:	e2 2f 61 74 	stb  %l1, [ %i5 + 0x174 ]
                     <== NOT EXECUTED
      c == tty->termios.c_cc[VEOL] || c == tty->termios.c_cc[VEOL2];
 
400097c8:	c2 0f 60 62 	ldub  [ %i5 + 0x62 ], %g1
                     <== NOT EXECUTED
400097cc:	a8 18 40 14 	xor  %g1, %l4, %l4
                            <== NOT EXECUTED
400097d0:	80 a0 00 14 	cmp  %g0, %l4
                                 <== NOT EXECUTED
400097d4:	10 80 00 6e 	b  4000998c <rtems_termios_enqueue_raw_characters+0x3fc>
<== NOT EXECUTED
400097d8:	82 60 3f ff 	subx  %g0, -1, %g1
                            <== NOT EXECUTED
        ++dropped;
                                                   
400097dc:	b0 06 20 01 	inc  %i0
                                      <== NOT EXECUTED
        if (tty->tty_rcv.sw_pfn != NULL && !tty->tty_rcvwakeup) {
    
400097e0:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400097e4:	02 80 00 06 	be  400097fc <rtems_termios_enqueue_raw_characters+0x26c>
<== NOT EXECUTED
400097e8:	c4 07 20 18 	ld  [ %i4 + 0x18 ], %g2
                       <== NOT EXECUTED
400097ec:	c2 0f 61 74 	ldub  [ %i5 + 0x174 ], %g1
                    <== NOT EXECUTED
400097f0:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400097f4:	22 80 00 47 	be,a   40009910 <rtems_termios_enqueue_raw_characters+0x380>
<== NOT EXECUTED
400097f8:	e2 2f 61 74 	stb  %l1, [ %i5 + 0x174 ]
                     <== NOT EXECUTED
  ( *context->lock_release )( context, lock_context );
               
400097fc:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
40009800:	9f c0 80 00 	call  %g2
                                     <== NOT EXECUTED
40009804:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
  while (len--) {
                                                    
40009808:	10 bf ff 97 	b  40009664 <rtems_termios_enqueue_raw_characters+0xd4>
<== NOT EXECUTED
4000980c:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
        if (c == tty->termios.c_cc[VSTART]) {
                        
40009810:	80 a0 40 03 	cmp  %g1, %g3
                                 <== NOT EXECUTED
          tty->flow_ctrl = tty->flow_ctrl ^ FL_ORCVXOF;
              
40009814:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
        if (c == tty->termios.c_cc[VSTART]) {
                        
40009818:	32 80 00 22 	bne,a   400098a0 <rtems_termios_enqueue_raw_characters+0x310>
<== NOT EXECUTED
4000981c:	82 10 60 10 	or  %g1, 0x10, %g1
                            <== NOT EXECUTED
          tty->flow_ctrl = tty->flow_ctrl ^ FL_ORCVXOF;
              
40009820:	82 18 60 10 	xor  %g1, 0x10, %g1
                           <== NOT EXECUTED
40009824:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
40009828:	a6 10 20 01 	mov  1, %l3
                                   <== NOT EXECUTED
      if ((tty->flow_ctrl & (FL_ORCVXOF | FL_OSTOP)) == FL_OSTOP) {
  
4000982c:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009830:	82 08 60 30 	and  %g1, 0x30, %g1
                           <== NOT EXECUTED
40009834:	80 a0 60 20 	cmp  %g1, 0x20
                                <== NOT EXECUTED
40009838:	12 bf ff 8a 	bne  40009660 <rtems_termios_enqueue_raw_characters+0xd0>
<== NOT EXECUTED
4000983c:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
  ( *context->lock_acquire )( context, lock_context );
               
40009840:	c2 07 20 14 	ld  [ %i4 + 0x14 ], %g1
                       <== NOT EXECUTED
40009844:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009848:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
        tty->flow_ctrl &= ~FL_OSTOP;
                                 
4000984c:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009850:	82 08 7f df 	and  %g1, -33, %g1
                            <== NOT EXECUTED
40009854:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
        if (tty->rawOutBufState != rob_idle) {
                       
40009858:	c2 07 60 e4 	ld  [ %i5 + 0xe4 ], %g1
                       <== NOT EXECUTED
4000985c:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009860:	22 80 00 0a 	be,a   40009888 <rtems_termios_enqueue_raw_characters+0x2f8>
<== NOT EXECUTED
40009864:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
            ctx, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail], 1);
    
40009868:	c4 07 60 c0 	ld  [ %i5 + 0xc0 ], %g2
                       <== NOT EXECUTED
4000986c:	d2 07 60 b8 	ld  [ %i5 + 0xb8 ], %o1
                       <== NOT EXECUTED
          (*tty->handler.write)(
                                     
40009870:	c2 07 61 30 	ld  [ %i5 + 0x130 ], %g1
                      <== NOT EXECUTED
40009874:	94 10 20 01 	mov  1, %o2
                                   <== NOT EXECUTED
40009878:	92 02 40 02 	add  %o1, %g2, %o1
                            <== NOT EXECUTED
4000987c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009880:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
  ( *context->lock_release )( context, lock_context );
               
40009884:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
40009888:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
4000988c:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
40009890:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009894:	a6 10 20 01 	mov  1, %l3
                                   <== NOT EXECUTED
  while (len--) {
                                                    
40009898:	10 bf ff 73 	b  40009664 <rtems_termios_enqueue_raw_characters+0xd4>
<== NOT EXECUTED
4000989c:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
          tty->flow_ctrl |= FL_ORCVXOF;
                              
400098a0:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
400098a4:	10 bf ff e2 	b  4000982c <rtems_termios_enqueue_raw_characters+0x29c>
<== NOT EXECUTED
400098a8:	a6 10 20 01 	mov  1, %l3
                                   <== NOT EXECUTED
        tty->flow_ctrl |= FL_IREQXOF;
                                
400098ac:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
400098b0:	82 10 60 01 	or  %g1, 1, %g1
                               <== NOT EXECUTED
400098b4:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
        if ((tty->flow_ctrl & (FL_MDXOF | FL_ISNTXOF))
               
400098b8:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
400098bc:	82 08 64 02 	and  %g1, 0x402, %g1
                          <== NOT EXECUTED
400098c0:	80 a0 64 00 	cmp  %g1, 0x400
                               <== NOT EXECUTED
          if ((tty->flow_ctrl & FL_OSTOP) ||
                         
400098c4:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
        if ((tty->flow_ctrl & (FL_MDXOF | FL_ISNTXOF))
               
400098c8:	02 80 00 39 	be  400099ac <rtems_termios_enqueue_raw_characters+0x41c>
<== NOT EXECUTED
400098cc:	80 88 60 20 	btst  0x20, %g1
                               <== NOT EXECUTED
        } else if ((tty->flow_ctrl & (FL_MDRTS | FL_IRTSOFF)) == (FL_MDRTS) ) {

400098d0:	82 08 61 04 	and  %g1, 0x104, %g1
                          <== NOT EXECUTED
400098d4:	80 a0 61 00 	cmp  %g1, 0x100
                               <== NOT EXECUTED
400098d8:	12 bf ff a1 	bne  4000975c <rtems_termios_enqueue_raw_characters+0x1cc>
<== NOT EXECUTED
400098dc:	80 a5 40 1b 	cmp  %l5, %i3
                                 <== NOT EXECUTED
          tty->flow_ctrl |= FL_IRTSOFF;
                              
400098e0:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
400098e4:	82 10 60 04 	or  %g1, 4, %g1
                               <== NOT EXECUTED
400098e8:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
          if (tty->flow.stop_remote_tx != NULL) {
                    
400098ec:	c2 07 61 40 	ld  [ %i5 + 0x140 ], %g1
                      <== NOT EXECUTED
400098f0:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400098f4:	22 bf ff 9a 	be,a   4000975c <rtems_termios_enqueue_raw_characters+0x1cc>
<== NOT EXECUTED
400098f8:	80 a5 40 1b 	cmp  %l5, %i3
                                 <== NOT EXECUTED
            tty->flow.stop_remote_tx(ctx);
                           
400098fc:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009900:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
      if (newTail != head) {
                                         
40009904:	10 bf ff 96 	b  4000975c <rtems_termios_enqueue_raw_characters+0x1cc>
<== NOT EXECUTED
40009908:	80 a5 40 1b 	cmp  %l5, %i3
                                 <== NOT EXECUTED
          tty->tty_rcvwakeup = true;
                                 
4000990c:	e2 2f 61 74 	stb  %l1, [ %i5 + 0x174 ]
                     <== NOT EXECUTED
40009910:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
40009914:	9f c0 80 00 	call  %g2
                                     <== NOT EXECUTED
40009918:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
        (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg);
  
4000991c:	c2 07 61 6c 	ld  [ %i5 + 0x16c ], %g1
                      <== NOT EXECUTED
40009920:	d2 07 61 70 	ld  [ %i5 + 0x170 ], %o1
                      <== NOT EXECUTED
40009924:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009928:	90 10 00 10 	mov  %l0, %o0
                                 <== NOT EXECUTED
  while (len--) {
                                                    
4000992c:	10 bf ff 4e 	b  40009664 <rtems_termios_enqueue_raw_characters+0xd4>
<== NOT EXECUTED
40009930:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
        tty->flow_ctrl &= ~FL_ORCVXOF;
                               
40009934:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009938:	82 08 7f ef 	and  %g1, -17, %g1
                            <== NOT EXECUTED
4000993c:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
40009940:	10 bf ff bb 	b  4000982c <rtems_termios_enqueue_raw_characters+0x29c>
<== NOT EXECUTED
40009944:	a6 10 20 01 	mov  1, %l3
                                   <== NOT EXECUTED
40009948:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
4000994c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009950:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
  while (len--) {
                                                    
40009954:	10 bf ff 44 	b  40009664 <rtems_termios_enqueue_raw_characters+0xd4>
<== NOT EXECUTED
40009958:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
    unsigned int rawContentSize = (newTail - head) % tty->rawInBuf.Size;

4000995c:	c6 07 60 8c 	ld  [ %i5 + 0x8c ], %g3
                       <== NOT EXECUTED
40009960:	b6 26 c0 15 	sub  %i3, %l5, %i3
                            <== NOT EXECUTED
    return rawContentSize >= tty->termios.c_cc[VMIN];
                
40009964:	c8 0f 60 70 	ldub  [ %i5 + 0x70 ], %g4
                     <== NOT EXECUTED
    unsigned int rawContentSize = (newTail - head) % tty->rawInBuf.Size;

40009968:	81 80 20 00 	wr  %g0, %y
                                   <== NOT EXECUTED
4000996c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40009970:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40009974:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40009978:	82 76 c0 03 	udiv  %i3, %g3, %g1
                           <== NOT EXECUTED
4000997c:	82 58 40 03 	smul  %g1, %g3, %g1
                           <== NOT EXECUTED
40009980:	b6 26 c0 01 	sub  %i3, %g1, %i3
                            <== NOT EXECUTED
    return rawContentSize >= tty->termios.c_cc[VMIN];
                
40009984:	80 a6 c0 04 	cmp  %i3, %g4
                                 <== NOT EXECUTED
40009988:	82 60 3f ff 	subx  %g0, -1, %g1
                            <== NOT EXECUTED
          if (mustCallReceiveCallback (tty, c, newTail, head)) {
     
4000998c:	80 88 60 ff 	btst  0xff, %g1
                               <== NOT EXECUTED
40009990:	12 bf ff df 	bne  4000990c <rtems_termios_enqueue_raw_characters+0x37c>
<== NOT EXECUTED
40009994:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
40009998:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
4000999c:	9f c0 80 00 	call  %g2
                                     <== NOT EXECUTED
400099a0:	a6 10 00 01 	mov  %g1, %l3
                                 <== NOT EXECUTED
  while (len--) {
                                                    
400099a4:	10 bf ff 30 	b  40009664 <rtems_termios_enqueue_raw_characters+0xd4>
<== NOT EXECUTED
400099a8:	80 a6 40 1a 	cmp  %i1, %i2
                                 <== NOT EXECUTED
          if ((tty->flow_ctrl & FL_OSTOP) ||
                         
400099ac:	22 80 00 0c 	be,a   400099dc <rtems_termios_enqueue_raw_characters+0x44c>
<== NOT EXECUTED
400099b0:	c2 07 60 e4 	ld  [ %i5 + 0xe4 ], %g1
                       <== NOT EXECUTED
            tty->flow_ctrl |= FL_ISNTXOF;
                            
400099b4:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
400099b8:	82 10 60 02 	or  %g1, 2, %g1
                               <== NOT EXECUTED
400099bc:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
            (*tty->handler.write)(ctx,
                               
400099c0:	94 10 20 01 	mov  1, %o2
                                   <== NOT EXECUTED
400099c4:	c2 07 61 30 	ld  [ %i5 + 0x130 ], %g1
                      <== NOT EXECUTED
400099c8:	92 10 00 12 	mov  %l2, %o1
                                 <== NOT EXECUTED
400099cc:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400099d0:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
      if (newTail != head) {
                                         
400099d4:	10 bf ff 62 	b  4000975c <rtems_termios_enqueue_raw_characters+0x1cc>
<== NOT EXECUTED
400099d8:	80 a5 40 1b 	cmp  %l5, %i3
                                 <== NOT EXECUTED
          if ((tty->flow_ctrl & FL_OSTOP) ||
                         
400099dc:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400099e0:	32 bf ff 5f 	bne,a   4000975c <rtems_termios_enqueue_raw_characters+0x1cc>
<== NOT EXECUTED
400099e4:	80 a5 40 1b 	cmp  %l5, %i3
                                 <== NOT EXECUTED
400099e8:	30 bf ff f3 	b,a   400099b4 <rtems_termios_enqueue_raw_characters+0x424>
<== NOT EXECUTED

                                                                     

40008f6c <rtems_termios_ioctl>: {
40008f6c:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  struct rtems_termios_tty *tty = args->iop->data1;
                  
40008f70:	c2 06 00 00 	ld  [ %i0 ], %g1
                              
40008f74:	fa 00 60 28 	ld  [ %g1 + 0x28 ], %i5
                       
  args->ioctl_return = 0;
                                            
40008f78:	c0 26 20 0c 	clr  [ %i0 + 0xc ]
                            
  rtems_mutex_lock (&tty->osem);
                                     
40008f7c:	b4 07 60 28 	add  %i5, 0x28, %i2
                           
  struct ttywakeup         *wakeup = (struct ttywakeup *)args->buffer;

40008f80:	f2 06 20 08 	ld  [ %i0 + 8 ], %i1
                          
  _Mutex_Acquire( mutex );
                                           
40008f84:	40 00 0e 41 	call  4000c888 <_Mutex_Acquire>
               
40008f88:	90 10 00 1a 	mov  %i2, %o0
                                 
  switch (args->command) {
                                           
40008f8c:	f6 06 20 04 	ld  [ %i0 + 4 ], %i3
                          
40008f90:	03 20 01 1d 	sethi  %hi(0x80047400), %g1
                   
40008f94:	84 10 60 10 	or  %g1, 0x10, %g2	! 80047410 <RAM_END+0x3fc47410>

40008f98:	80 a6 c0 02 	cmp  %i3, %g2
                                 
40008f9c:	02 80 00 f0 	be  4000935c <rtems_termios_ioctl+0x3f0>
      <== NEVER TAKEN
40008fa0:	b8 10 00 18 	mov  %i0, %i4
                                 
40008fa4:	28 80 00 17 	bleu,a   40009000 <rtems_termios_ioctl+0x94>
  
40008fa8:	03 10 01 19 	sethi  %hi(0x40046400), %g1
                   
40008fac:	05 20 02 1d 	sethi  %hi(0x80087400), %g2
                   
40008fb0:	86 10 a0 0c 	or  %g2, 0xc, %g3	! 8008740c <RAM_END+0x3fc8740c>

40008fb4:	80 a6 c0 03 	cmp  %i3, %g3
                                 
40008fb8:	22 80 00 d4 	be,a   40009308 <rtems_termios_ioctl+0x39c>
   <== NEVER TAKEN
40008fbc:	c2 06 40 00 	ld  [ %i1 ], %g1
                              <== NOT EXECUTED
40008fc0:	18 80 00 53 	bgu  4000910c <rtems_termios_ioctl+0x1a0>
     <== ALWAYS TAKEN
40008fc4:	82 10 60 1b 	or  %g1, 0x1b, %g1
                            
40008fc8:	80 a6 c0 01 	cmp  %i3, %g1
                                 <== NOT EXECUTED
40008fcc:	02 80 00 2b 	be  40009078 <rtems_termios_ioctl+0x10c>
      <== NOT EXECUTED
40008fd0:	84 10 a0 0b 	or  %g2, 0xb, %g2
                             <== NOT EXECUTED
40008fd4:	80 a6 c0 02 	cmp  %i3, %g2
                                 <== NOT EXECUTED
40008fd8:	12 80 00 d4 	bne  40009328 <rtems_termios_ioctl+0x3bc>
     <== NOT EXECUTED
40008fdc:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
    tty->tty_snd = *wakeup;
                                          
40008fe0:	c2 06 40 00 	ld  [ %i1 ], %g1
                              <== NOT EXECUTED
40008fe4:	c2 27 61 64 	st  %g1, [ %i5 + 0x164 ]
                      <== NOT EXECUTED
40008fe8:	c2 06 60 04 	ld  [ %i1 + 4 ], %g1
                          <== NOT EXECUTED
40008fec:	c2 27 61 68 	st  %g1, [ %i5 + 0x168 ]
                      <== NOT EXECUTED
  _Mutex_Release( mutex );
                                           
40008ff0:	40 00 0e 42 	call  4000c8f8 <_Mutex_Release>
               <== NOT EXECUTED
40008ff4:	90 10 00 1a 	mov  %i2, %o0
                                 <== NOT EXECUTED
}
                                                                    
40008ff8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40008ffc:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
  switch (args->command) {
                                           
40009000:	82 10 62 7f 	or  %g1, 0x27f, %g1
                           
40009004:	80 a6 c0 01 	cmp  %i3, %g1
                                 
40009008:	02 80 00 ae 	be  400092c0 <rtems_termios_ioctl+0x354>
      <== NEVER TAKEN
4000900c:	01 00 00 00 	nop 
                                          
40009010:	08 80 00 33 	bleu  400090dc <rtems_termios_ioctl+0x170>
    
40009014:	03 10 01 1d 	sethi  %hi(0x40047400), %g1
                   
40009018:	82 10 60 1a 	or  %g1, 0x1a, %g1	! 4004741a <__end+0x2e5ca>
 
4000901c:	80 a6 c0 01 	cmp  %i3, %g1
                                 
40009020:	02 80 00 0e 	be  40009058 <rtems_termios_ioctl+0xec>
       <== NEVER TAKEN
40009024:	03 10 0b 1d 	sethi  %hi(0x402c7400), %g1
                   
40009028:	82 10 60 13 	or  %g1, 0x13, %g1	! 402c7413 <__end+0x2ae5c3>

4000902c:	80 a6 c0 01 	cmp  %i3, %g1
                                 
40009030:	12 80 00 be 	bne  40009328 <rtems_termios_ioctl+0x3bc>
     <== NEVER TAKEN
40009034:	94 10 20 2c 	mov  0x2c, %o2
                                
    *(struct termios *)args->buffer = tty->termios;
                  
40009038:	d0 06 20 08 	ld  [ %i0 + 8 ], %o0
                          
4000903c:	40 00 26 e7 	call  40012bd8 <memcpy>
                       
40009040:	92 07 60 50 	add  %i5, 0x50, %o1
                           
  sc = RTEMS_SUCCESSFUL;
                                             
40009044:	b0 10 20 00 	clr  %i0
                                      
40009048:	40 00 0e 2c 	call  4000c8f8 <_Mutex_Release>
               
4000904c:	90 10 00 1a 	mov  %i2, %o0
                                 
}
                                                                    
40009050:	81 c7 e0 08 	ret 
                                          
40009054:	81 e8 00 00 	restore 
                                      
    *(int*)(args->buffer)=tty->t_line;
                               
40009058:	c2 06 20 08 	ld  [ %i0 + 8 ], %g1
                          <== NOT EXECUTED
4000905c:	c4 07 61 5c 	ld  [ %i5 + 0x15c ], %g2
                      <== NOT EXECUTED
40009060:	c4 20 40 00 	st  %g2, [ %g1 ]
                              <== NOT EXECUTED
  sc = RTEMS_SUCCESSFUL;
                                             
40009064:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
40009068:	40 00 0e 24 	call  4000c8f8 <_Mutex_Release>
               <== NOT EXECUTED
4000906c:	90 10 00 1a 	mov  %i2, %o0
                                 <== NOT EXECUTED
}
                                                                    
40009070:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40009074:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    if (rtems_termios_linesw[tty->t_line].l_close != NULL) {
         
40009078:	c2 07 61 5c 	ld  [ %i5 + 0x15c ], %g1
                      <== NOT EXECUTED
4000907c:	83 28 60 05 	sll  %g1, 5, %g1
                              <== NOT EXECUTED
40009080:	37 10 00 60 	sethi  %hi(0x40018000), %i3
                   <== NOT EXECUTED
40009084:	b6 16 e0 48 	or  %i3, 0x48, %i3	! 40018048 <rtems_termios_linesw>
<== NOT EXECUTED
40009088:	82 06 c0 01 	add  %i3, %g1, %g1
                            <== NOT EXECUTED
4000908c:	c2 00 60 04 	ld  [ %g1 + 4 ], %g1
                          <== NOT EXECUTED
40009090:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009094:	02 80 00 05 	be  400090a8 <rtems_termios_ioctl+0x13c>
      <== NOT EXECUTED
40009098:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
      sc = rtems_termios_linesw[tty->t_line].l_close(tty);
           
4000909c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400090a0:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
400090a4:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
    tty->t_line=*(int*)(args->buffer);
                               
400090a8:	c2 07 20 08 	ld  [ %i4 + 8 ], %g1
                          <== NOT EXECUTED
400090ac:	c2 00 40 00 	ld  [ %g1 ], %g1
                              <== NOT EXECUTED
400090b0:	c2 27 61 5c 	st  %g1, [ %i5 + 0x15c ]
                      <== NOT EXECUTED
    if (rtems_termios_linesw[tty->t_line].l_open != NULL) {
          
400090b4:	83 28 60 05 	sll  %g1, 5, %g1
                              <== NOT EXECUTED
    tty->t_sc = NULL; /* ensure that no more valid data */
           
400090b8:	c0 27 61 60 	clr  [ %i5 + 0x160 ]
                          <== NOT EXECUTED
    if (rtems_termios_linesw[tty->t_line].l_open != NULL) {
          
400090bc:	c2 06 c0 01 	ld  [ %i3 + %g1 ], %g1
                        <== NOT EXECUTED
400090c0:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400090c4:	02 bf ff cb 	be  40008ff0 <rtems_termios_ioctl+0x84>
       <== NOT EXECUTED
400090c8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
      sc = rtems_termios_linesw[tty->t_line].l_open(tty);
            
400090cc:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400090d0:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
400090d4:	10 bf ff c7 	b  40008ff0 <rtems_termios_ioctl+0x84>
        <== NOT EXECUTED
400090d8:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
  switch (args->command) {
                                           
400090dc:	03 08 00 1d 	sethi  %hi(0x20007400), %g1
                   
400090e0:	82 10 60 5e 	or  %g1, 0x5e, %g1	! 2000745e <RAM_SIZE+0x1fc0745e>

400090e4:	80 a6 c0 01 	cmp  %i3, %g1
                                 
400090e8:	32 80 00 91 	bne,a   4000932c <rtems_termios_ioctl+0x3c0>
  <== NEVER TAKEN
400090ec:	c2 07 61 5c 	ld  [ %i5 + 0x15c ], %g1
                      <== NOT EXECUTED
    drainOutput (tty);
                                               
400090f0:	7f ff f8 b0 	call  400073b0 <drainOutput>
                  
400090f4:	90 10 00 1d 	mov  %i5, %o0
                                 
  sc = RTEMS_SUCCESSFUL;
                                             
400090f8:	b0 10 20 00 	clr  %i0
                                      
400090fc:	40 00 0d ff 	call  4000c8f8 <_Mutex_Release>
               
40009100:	90 10 00 1a 	mov  %i2, %o0
                                 
}
                                                                    
40009104:	81 c7 e0 08 	ret 
                                          
40009108:	81 e8 00 00 	restore 
                                      
  switch (args->command) {
                                           
4000910c:	33 1f f4 e2 	sethi  %hi(0x7fd38800), %i1
                   
40009110:	82 16 63 ec 	or  %i1, 0x3ec, %g1	! 7fd38bec <RAM_END+0x3f938bec>

40009114:	82 06 c0 01 	add  %i3, %g1, %g1
                            
40009118:	80 a0 60 02 	cmp  %g1, 2
                                   
4000911c:	18 80 00 83 	bgu  40009328 <rtems_termios_ioctl+0x3bc>
     <== NEVER TAKEN
40009120:	94 10 20 2c 	mov  0x2c, %o2
                                
    tty->termios = *(struct termios *)args->buffer;
                  
40009124:	d2 06 20 08 	ld  [ %i0 + 8 ], %o1
                          
40009128:	b0 07 60 50 	add  %i5, 0x50, %i0
                           
4000912c:	40 00 26 ab 	call  40012bd8 <memcpy>
                       
40009130:	90 10 00 18 	mov  %i0, %o0
                                 
    if (args->command == TIOCSETAW || args->command == TIOCSETAF) {
  
40009134:	b2 16 63 eb 	or  %i1, 0x3eb, %i1
                           
40009138:	b6 06 c0 19 	add  %i3, %i1, %i3
                            
4000913c:	80 a6 e0 01 	cmp  %i3, 1
                                   
40009140:	08 80 00 df 	bleu  400094bc <rtems_termios_ioctl+0x550>
    <== NEVER TAKEN
40009144:	01 00 00 00 	nop 
                                          
  if (( tty->flow_ctrl & FL_MDXON) &&
                                
40009148:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      
4000914c:	80 88 62 00 	btst  0x200, %g1
                              
40009150:	02 80 00 23 	be  400091dc <rtems_termios_ioctl+0x270>
      <== ALWAYS TAKEN
40009154:	f8 07 61 7c 	ld  [ %i5 + 0x17c ], %i4
                      
      !(tty->termios.c_iflag & IXON)) {
                              
40009158:	c2 07 60 50 	ld  [ %i5 + 0x50 ], %g1
                       <== NOT EXECUTED
  if (( tty->flow_ctrl & FL_MDXON) &&
                                
4000915c:	80 88 62 00 	btst  0x200, %g1
                              <== NOT EXECUTED
40009160:	12 80 00 1f 	bne  400091dc <rtems_termios_ioctl+0x270>
     <== NOT EXECUTED
40009164:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    tty->flow_ctrl &= ~(FL_MDXON | FL_ORCVXOF);
                      
40009168:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
4000916c:	82 08 7d ef 	and  %g1, -529, %g1
                           <== NOT EXECUTED
40009170:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
    if (tty->flow_ctrl & FL_OSTOP) {
                                 
40009174:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009178:	80 88 60 20 	btst  0x20, %g1
                               <== NOT EXECUTED
4000917c:	02 80 00 18 	be  400091dc <rtems_termios_ioctl+0x270>
      <== NOT EXECUTED
40009180:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  ( *context->lock_acquire )( context, lock_context );
               
40009184:	c2 07 20 14 	ld  [ %i4 + 0x14 ], %g1
                       <== NOT EXECUTED
40009188:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
4000918c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009190:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
      tty->flow_ctrl &= ~FL_OSTOP;
                                   
40009194:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009198:	82 08 7f df 	and  %g1, -33, %g1
                            <== NOT EXECUTED
4000919c:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
      if (tty->rawOutBufState != rob_idle) {
                         
400091a0:	c2 07 60 e4 	ld  [ %i5 + 0xe4 ], %g1
                       <== NOT EXECUTED
400091a4:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
400091a8:	22 80 00 0a 	be,a   400091d0 <rtems_termios_ioctl+0x264>
   <== NOT EXECUTED
400091ac:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
          ctx, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail],1);
       
400091b0:	c4 07 60 c0 	ld  [ %i5 + 0xc0 ], %g2
                       <== NOT EXECUTED
400091b4:	d2 07 60 b8 	ld  [ %i5 + 0xb8 ], %o1
                       <== NOT EXECUTED
        (*tty->handler.write)(
                                       
400091b8:	c2 07 61 30 	ld  [ %i5 + 0x130 ], %g1
                      <== NOT EXECUTED
400091bc:	94 10 20 01 	mov  1, %o2
                                   <== NOT EXECUTED
400091c0:	92 02 40 02 	add  %o1, %g2, %o1
                            <== NOT EXECUTED
400091c4:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400091c8:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
  ( *context->lock_release )( context, lock_context );
               
400091cc:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
400091d0:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
400091d4:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400091d8:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
  if (( tty->flow_ctrl & FL_MDXOF) && !(tty->termios.c_iflag & IXOFF)) {

400091dc:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      
400091e0:	80 88 64 00 	btst  0x400, %g1
                              
400091e4:	02 80 00 06 	be  400091fc <rtems_termios_ioctl+0x290>
      <== ALWAYS TAKEN
400091e8:	01 00 00 00 	nop 
                                          
400091ec:	c2 07 60 50 	ld  [ %i5 + 0x50 ], %g1
                       <== NOT EXECUTED
400091f0:	80 88 64 00 	btst  0x400, %g1
                              <== NOT EXECUTED
400091f4:	02 80 00 ab 	be  400094a0 <rtems_termios_ioctl+0x534>
      <== NOT EXECUTED
400091f8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  if (( tty->flow_ctrl & FL_MDRTS) && !(tty->termios.c_cflag & CRTSCTS)) {

400091fc:	c4 07 61 48 	ld  [ %i5 + 0x148 ], %g2
                      
40009200:	c2 07 60 58 	ld  [ %i5 + 0x58 ], %g1
                       
40009204:	37 00 00 c0 	sethi  %hi(0x30000), %i3
                      
40009208:	80 88 a1 00 	btst  0x100, %g2
                              
4000920c:	02 80 00 9c 	be  4000947c <rtems_termios_ioctl+0x510>
      <== ALWAYS TAKEN
40009210:	82 08 40 1b 	and  %g1, %i3, %g1
                            
40009214:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009218:	02 80 00 87 	be  40009434 <rtems_termios_ioctl+0x4c8>
      <== NOT EXECUTED
4000921c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    tty->flow_ctrl |= FL_MDRTS;
                                      
40009220:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009224:	82 10 61 00 	or  %g1, 0x100, %g1
                           <== NOT EXECUTED
40009228:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
  if (tty->termios.c_iflag & IXOFF) {
                                
4000922c:	c2 07 60 50 	ld  [ %i5 + 0x50 ], %g1
                       <== NOT EXECUTED
40009230:	80 88 64 00 	btst  0x400, %g1
                              
40009234:	02 80 00 06 	be  4000924c <rtems_termios_ioctl+0x2e0>
      <== ALWAYS TAKEN
40009238:	80 88 62 00 	btst  0x200, %g1
                              
    tty->flow_ctrl |= FL_MDXOF;
                                      
4000923c:	c4 07 61 48 	ld  [ %i5 + 0x148 ], %g2
                      <== NOT EXECUTED
40009240:	84 10 a4 00 	or  %g2, 0x400, %g2
                           <== NOT EXECUTED
40009244:	c4 27 61 48 	st  %g2, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
  if (tty->termios.c_iflag & IXON) {
                                 
40009248:	80 88 62 00 	btst  0x200, %g1
                              <== NOT EXECUTED
4000924c:	22 80 00 06 	be,a   40009264 <rtems_termios_ioctl+0x2f8>
   <== ALWAYS TAKEN
40009250:	c2 07 60 5c 	ld  [ %i5 + 0x5c ], %g1
                       
    tty->flow_ctrl |= FL_MDXON;
                                      
40009254:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009258:	82 10 62 00 	or  %g1, 0x200, %g1
                           <== NOT EXECUTED
4000925c:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
    if (tty->termios.c_lflag & ICANON) {
                             
40009260:	c2 07 60 5c 	ld  [ %i5 + 0x5c ], %g1
                       <== NOT EXECUTED
40009264:	80 88 61 00 	btst  0x100, %g1
                              
40009268:	12 80 00 64 	bne  400093f8 <rtems_termios_ioctl+0x48c>
     <== NEVER TAKEN
4000926c:	82 10 20 01 	mov  1, %g1
                                   
      tty->vtimeTicks = tty->termios.c_cc[VTIME] *
                   
40009270:	c6 0f 60 71 	ldub  [ %i5 + 0x71 ], %g3
                     
40009274:	03 10 00 51 	sethi  %hi(0x40014400), %g1
                   
40009278:	c2 00 63 c4 	ld  [ %g1 + 0x3c4 ], %g1	! 400147c4 <_Watchdog_Ticks_per_second>

4000927c:	82 58 c0 01 	smul  %g3, %g1, %g1
                           
                    rtems_clock_get_ticks_per_second() / 10;
         
40009280:	05 33 33 33 	sethi  %hi(0xcccccc00), %g2
                   
40009284:	84 10 a0 cd 	or  %g2, 0xcd, %g2	! cccccccd <RAM_END+0x8c8ccccd>

40009288:	80 50 40 02 	umul  %g1, %g2, %g0
                           
4000928c:	83 40 00 00 	rd  %y, %g1
                                   
40009290:	83 30 60 03 	srl  %g1, 3, %g1
                              
      tty->vtimeTicks = tty->termios.c_cc[VTIME] *
                   
40009294:	c2 27 60 7c 	st  %g1, [ %i5 + 0x7c ]
                       
      if (tty->termios.c_cc[VTIME]) {
                                
40009298:	80 a0 e0 00 	cmp  %g3, 0
                                   
4000929c:	02 80 00 7c 	be  4000948c <rtems_termios_ioctl+0x520>
      <== ALWAYS TAKEN
400092a0:	c4 0f 60 70 	ldub  [ %i5 + 0x70 ], %g2
                     
        if (tty->termios.c_cc[VMIN])
                                 
400092a4:	80 88 a0 ff 	btst  0xff, %g2
                               <== NOT EXECUTED
        tty->rawInBufSemaphoreTimeout = tty->vtimeTicks;
             
400092a8:	c2 27 60 ac 	st  %g1, [ %i5 + 0xac ]
                       <== NOT EXECUTED
        tty->rawInBufSemaphoreWait = true;
                           
400092ac:	84 10 20 01 	mov  1, %g2
                                   <== NOT EXECUTED
        if (tty->termios.c_cc[VMIN])
                                 
400092b0:	12 80 00 54 	bne  40009400 <rtems_termios_ioctl+0x494>
     <== NOT EXECUTED
400092b4:	c4 2f 60 a8 	stb  %g2, [ %i5 + 0xa8 ]
                      <== NOT EXECUTED
          tty->rawInBufSemaphoreFirstTimeout = tty->vtimeTicks;
      
400092b8:	10 80 00 53 	b  40009404 <rtems_termios_ioctl+0x498>
       <== NOT EXECUTED
400092bc:	c2 27 60 b0 	st  %g1, [ %i5 + 0xb0 ]
                       <== NOT EXECUTED
      int rawnc = tty->rawInBuf.Tail - tty->rawInBuf.Head;
           
400092c0:	c2 07 60 88 	ld  [ %i5 + 0x88 ], %g1
                       <== NOT EXECUTED
400092c4:	c4 07 60 84 	ld  [ %i5 + 0x84 ], %g2
                       <== NOT EXECUTED
      if ( rawnc < 0 )
                                               
400092c8:	84 a0 40 02 	subcc  %g1, %g2, %g2
                          <== NOT EXECUTED
400092cc:	3c 80 00 05 	bpos,a   400092e0 <rtems_termios_ioctl+0x374>
 <== NOT EXECUTED
400092d0:	c2 07 60 40 	ld  [ %i5 + 0x40 ], %g1
                       <== NOT EXECUTED
        rawnc += tty->rawInBuf.Size;
                                 
400092d4:	c2 07 60 8c 	ld  [ %i5 + 0x8c ], %g1
                       <== NOT EXECUTED
400092d8:	84 00 80 01 	add  %g2, %g1, %g2
                            <== NOT EXECUTED
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;
      
400092dc:	c2 07 60 40 	ld  [ %i5 + 0x40 ], %g1
                       <== NOT EXECUTED
400092e0:	c8 07 60 44 	ld  [ %i5 + 0x44 ], %g4
                       <== NOT EXECUTED
400092e4:	c6 07 20 08 	ld  [ %i4 + 8 ], %g3
                          <== NOT EXECUTED
400092e8:	82 20 40 04 	sub  %g1, %g4, %g1
                            <== NOT EXECUTED
400092ec:	82 00 40 02 	add  %g1, %g2, %g1
                            <== NOT EXECUTED
400092f0:	c2 20 c0 00 	st  %g1, [ %g3 ]
                              <== NOT EXECUTED
  sc = RTEMS_SUCCESSFUL;
                                             
400092f4:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
400092f8:	40 00 0d 80 	call  4000c8f8 <_Mutex_Release>
               <== NOT EXECUTED
400092fc:	90 10 00 1a 	mov  %i2, %o0
                                 <== NOT EXECUTED
}
                                                                    
40009300:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40009304:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    tty->tty_rcv = *wakeup;
                                          
40009308:	c2 27 61 6c 	st  %g1, [ %i5 + 0x16c ]
                      <== NOT EXECUTED
  sc = RTEMS_SUCCESSFUL;
                                             
4000930c:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
    tty->tty_rcv = *wakeup;
                                          
40009310:	c2 06 60 04 	ld  [ %i1 + 4 ], %g1
                          <== NOT EXECUTED
40009314:	c2 27 61 70 	st  %g1, [ %i5 + 0x170 ]
                      <== NOT EXECUTED
40009318:	40 00 0d 78 	call  4000c8f8 <_Mutex_Release>
               <== NOT EXECUTED
4000931c:	90 10 00 1a 	mov  %i2, %o0
                                 <== NOT EXECUTED
}
                                                                    
40009320:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40009324:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    if (rtems_termios_linesw[tty->t_line].l_ioctl != NULL) {
         
40009328:	c2 07 61 5c 	ld  [ %i5 + 0x15c ], %g1
                      <== NOT EXECUTED
4000932c:	85 28 60 05 	sll  %g1, 5, %g2
                              <== NOT EXECUTED
40009330:	03 10 00 60 	sethi  %hi(0x40018000), %g1
                   <== NOT EXECUTED
40009334:	82 10 60 48 	or  %g1, 0x48, %g1	! 40018048 <rtems_termios_linesw>
<== NOT EXECUTED
40009338:	82 00 40 02 	add  %g1, %g2, %g1
                            <== NOT EXECUTED
4000933c:	c2 00 60 18 	ld  [ %g1 + 0x18 ], %g1
                       <== NOT EXECUTED
40009340:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009344:	02 80 00 77 	be  40009520 <rtems_termios_ioctl+0x5b4>
      <== NOT EXECUTED
40009348:	92 10 00 1c 	mov  %i4, %o1
                                 <== NOT EXECUTED
      sc = rtems_termios_linesw[tty->t_line].l_ioctl(tty,args);
      
4000934c:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009350:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
40009354:	10 bf ff 27 	b  40008ff0 <rtems_termios_ioctl+0x84>
        <== NOT EXECUTED
40009358:	b0 10 00 08 	mov  %o0, %i0
                                 <== NOT EXECUTED
    flags = *((int *)args->buffer);
                                  
4000935c:	c2 06 20 08 	ld  [ %i0 + 8 ], %g1
                          <== NOT EXECUTED
40009360:	c2 00 40 00 	ld  [ %g1 ], %g1
                              <== NOT EXECUTED
    if (flags == 0) {
                                                
40009364:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009368:	22 80 00 05 	be,a   4000937c <rtems_termios_ioctl+0x410>
   <== NOT EXECUTED
4000936c:	b6 10 20 01 	mov  1, %i3
                                   <== NOT EXECUTED
    if (flags & FWRITE) {
                                            
40009370:	80 88 60 02 	btst  2, %g1
                                  <== NOT EXECUTED
40009374:	02 80 00 0e 	be  400093ac <rtems_termios_ioctl+0x440>
      <== NOT EXECUTED
40009378:	b6 08 60 01 	and  %g1, 1, %i3
                              <== NOT EXECUTED
  rtems_termios_device_context *ctx = tty->device_context;
           
4000937c:	f8 07 61 7c 	ld  [ %i5 + 0x17c ], %i4
                      <== NOT EXECUTED
  ( *context->lock_acquire )( context, lock_context );
               
40009380:	c2 07 20 14 	ld  [ %i4 + 0x14 ], %g1
                       <== NOT EXECUTED
40009384:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
40009388:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
4000938c:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
  tty->rawOutBuf.Tail = 0;
                                           
40009390:	c0 27 60 c0 	clr  [ %i5 + 0xc0 ]
                           <== NOT EXECUTED
  ( *context->lock_release )( context, lock_context );
               
40009394:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
  tty->rawOutBuf.Head = 0;
                                           
40009398:	c0 27 60 bc 	clr  [ %i5 + 0xbc ]
                           <== NOT EXECUTED
  tty->rawOutBufState = rob_idle;
                                    
4000939c:	c0 27 60 e4 	clr  [ %i5 + 0xe4 ]
                           <== NOT EXECUTED
400093a0:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
400093a4:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400093a8:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
    if (flags & FREAD) {
                                             
400093ac:	80 a6 e0 00 	cmp  %i3, 0
                                   <== NOT EXECUTED
400093b0:	22 80 00 0e 	be,a   400093e8 <rtems_termios_ioctl+0x47c>
   <== NOT EXECUTED
400093b4:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
  rtems_termios_device_context *ctx = tty->device_context;
           
400093b8:	f8 07 61 7c 	ld  [ %i5 + 0x17c ], %i4
                      <== NOT EXECUTED
  ( *context->lock_acquire )( context, lock_context );
               
400093bc:	c2 07 20 14 	ld  [ %i4 + 0x14 ], %g1
                       <== NOT EXECUTED
400093c0:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
400093c4:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400093c8:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
  tty->rawInBuf.Tail = 0;
                                            
400093cc:	c0 27 60 88 	clr  [ %i5 + 0x88 ]
                           <== NOT EXECUTED
  ( *context->lock_release )( context, lock_context );
               
400093d0:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
  tty->rawInBuf.Head = 0;
                                            
400093d4:	c0 27 60 84 	clr  [ %i5 + 0x84 ]
                           <== NOT EXECUTED
400093d8:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
400093dc:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400093e0:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
  sc = RTEMS_SUCCESSFUL;
                                             
400093e4:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
400093e8:	40 00 0d 44 	call  4000c8f8 <_Mutex_Release>
               
400093ec:	90 10 00 1a 	mov  %i2, %o0
                                 
}
                                                                    
400093f0:	81 c7 e0 08 	ret 
                                          
400093f4:	81 e8 00 00 	restore 
                                      
          tty->rawInBufSemaphoreTimeout = 0;
                         
400093f8:	c0 27 60 ac 	clr  [ %i5 + 0xac ]
                           
          tty->rawInBufSemaphoreWait = true;
                         
400093fc:	c2 2f 60 a8 	stb  %g1, [ %i5 + 0xa8 ]
                      
          tty->rawInBufSemaphoreFirstTimeout = 0;
                    
40009400:	c0 27 60 b0 	clr  [ %i5 + 0xb0 ]
                           
    if (tty->handler.set_attributes) {
                               
40009404:	c2 07 61 34 	ld  [ %i5 + 0x134 ], %g1
                      
40009408:	80 a0 60 00 	cmp  %g1, 0
                                   
4000940c:	02 bf ff f6 	be  400093e4 <rtems_termios_ioctl+0x478>
      <== NEVER TAKEN
40009410:	92 10 00 18 	mov  %i0, %o1
                                 
      sc = (*tty->handler.set_attributes)(tty->device_context, &tty->termios) ?

40009414:	d0 07 61 7c 	ld  [ %i5 + 0x17c ], %o0
                      
40009418:	9f c0 40 00 	call  %g1
                                     
4000941c:	b0 10 20 1b 	mov  0x1b, %i0
                                
        RTEMS_SUCCESSFUL : RTEMS_IO_ERROR;
                           
40009420:	80 a2 20 00 	cmp  %o0, 0
                                   
40009424:	02 bf fe f3 	be  40008ff0 <rtems_termios_ioctl+0x84>
       <== NEVER TAKEN
40009428:	01 00 00 00 	nop 
                                          
  sc = RTEMS_SUCCESSFUL;
                                             
4000942c:	10 bf ff ef 	b  400093e8 <rtems_termios_ioctl+0x47c>
       
40009430:	b0 10 20 00 	clr  %i0	! 0 <PROM_START>
                     
    tty->flow_ctrl &= ~(FL_MDRTS);
                                   
40009434:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009438:	82 08 7e ff 	and  %g1, -257, %g1
                           <== NOT EXECUTED
4000943c:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
    if ((tty->flow_ctrl & FL_IRTSOFF) &&
                             
40009440:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009444:	80 88 60 04 	btst  4, %g1
                                  <== NOT EXECUTED
40009448:	02 80 00 31 	be  4000950c <rtems_termios_ioctl+0x5a0>
      <== NOT EXECUTED
4000944c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
        (tty->flow.start_remote_tx != NULL)) {
                       
40009450:	c2 07 61 44 	ld  [ %i5 + 0x144 ], %g1
                      <== NOT EXECUTED
    if ((tty->flow_ctrl & FL_IRTSOFF) &&
                             
40009454:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009458:	02 80 00 2d 	be  4000950c <rtems_termios_ioctl+0x5a0>
      <== NOT EXECUTED
4000945c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
      tty->flow.start_remote_tx(ctx);
                                
40009460:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009464:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
    tty->flow_ctrl &= ~(FL_IRTSOFF);
                                 
40009468:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
4000946c:	82 08 7f fb 	and  %g1, -5, %g1
                             <== NOT EXECUTED
40009470:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
40009474:	c2 07 60 58 	ld  [ %i5 + 0x58 ], %g1
                       <== NOT EXECUTED
40009478:	82 08 40 1b 	and  %g1, %i3, %g1
                            <== NOT EXECUTED
  if (tty->termios.c_cflag & CRTSCTS) {
                              
4000947c:	80 a0 60 00 	cmp  %g1, 0
                                   
40009480:	22 bf ff 6c 	be,a   40009230 <rtems_termios_ioctl+0x2c4>
   <== ALWAYS TAKEN
40009484:	c2 07 60 50 	ld  [ %i5 + 0x50 ], %g1
                       
40009488:	30 bf ff 66 	b,a   40009220 <rtems_termios_ioctl+0x2b4>
    <== NOT EXECUTED
        if (tty->termios.c_cc[VMIN]) {
                               
4000948c:	80 88 a0 ff 	btst  0xff, %g2
                               
40009490:	12 bf ff da 	bne  400093f8 <rtems_termios_ioctl+0x48c>
     <== ALWAYS TAKEN
40009494:	82 10 20 01 	mov  1, %g1
                                   
          tty->rawInBufSemaphoreWait = false;
                        
40009498:	10 bf ff db 	b  40009404 <rtems_termios_ioctl+0x498>
       <== NOT EXECUTED
4000949c:	c0 2f 60 a8 	clrb  [ %i5 + 0xa8 ]
                          <== NOT EXECUTED
    tty->flow_ctrl &= ~(FL_MDXOF);
                                   
400094a0:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
400094a4:	82 08 7b ff 	and  %g1, -1025, %g1
                          <== NOT EXECUTED
400094a8:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
    tty->flow_ctrl &= ~(FL_ISNTXOF);
                                 
400094ac:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
400094b0:	82 08 7f fd 	and  %g1, -3, %g1
                             <== NOT EXECUTED
400094b4:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
400094b8:	30 bf ff 51 	b,a   400091fc <rtems_termios_ioctl+0x290>
    <== NOT EXECUTED
      drainOutput (tty);
                                             
400094bc:	7f ff f7 bd 	call  400073b0 <drainOutput>
                  <== NOT EXECUTED
400094c0:	90 10 00 1d 	mov  %i5, %o0
                                 <== NOT EXECUTED
      if (args->command == TIOCSETAF) {
                              
400094c4:	c4 07 20 04 	ld  [ %i4 + 4 ], %g2
                          <== NOT EXECUTED
400094c8:	03 20 0b 1d 	sethi  %hi(0x802c7400), %g1
                   <== NOT EXECUTED
400094cc:	82 10 60 16 	or  %g1, 0x16, %g1	! 802c7416 <RAM_END+0x3fec7416>
<== NOT EXECUTED
400094d0:	80 a0 80 01 	cmp  %g2, %g1
                                 <== NOT EXECUTED
400094d4:	12 bf ff 1d 	bne  40009148 <rtems_termios_ioctl+0x1dc>
     <== NOT EXECUTED
400094d8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  rtems_termios_device_context *ctx = tty->device_context;
           
400094dc:	f8 07 61 7c 	ld  [ %i5 + 0x17c ], %i4
                      <== NOT EXECUTED
  ( *context->lock_acquire )( context, lock_context );
               
400094e0:	c2 07 20 14 	ld  [ %i4 + 0x14 ], %g1
                       <== NOT EXECUTED
400094e4:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
400094e8:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
400094ec:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
  tty->rawInBuf.Tail = 0;
                                            
400094f0:	c0 27 60 88 	clr  [ %i5 + 0x88 ]
                           <== NOT EXECUTED
  ( *context->lock_release )( context, lock_context );
               
400094f4:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
  tty->rawInBuf.Head = 0;
                                            
400094f8:	c0 27 60 84 	clr  [ %i5 + 0x84 ]
                           <== NOT EXECUTED
400094fc:	c2 07 20 18 	ld  [ %i4 + 0x18 ], %g1
                       <== NOT EXECUTED
40009500:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
40009504:	90 10 00 1c 	mov  %i4, %o0
                                 <== NOT EXECUTED
40009508:	30 bf ff 10 	b,a   40009148 <rtems_termios_ioctl+0x1dc>
    <== NOT EXECUTED
    tty->flow_ctrl &= ~(FL_IRTSOFF);
                                 
4000950c:	c2 07 61 48 	ld  [ %i5 + 0x148 ], %g1
                      <== NOT EXECUTED
40009510:	82 08 7f fb 	and  %g1, -5, %g1
                             <== NOT EXECUTED
40009514:	c2 27 61 48 	st  %g1, [ %i5 + 0x148 ]
                      <== NOT EXECUTED
  if (tty->termios.c_iflag & IXOFF) {
                                
40009518:	10 bf ff 46 	b  40009230 <rtems_termios_ioctl+0x2c4>
       <== NOT EXECUTED
4000951c:	c2 07 60 50 	ld  [ %i5 + 0x50 ], %g1
                       <== NOT EXECUTED
    } else if (tty->handler.ioctl) {
                                 
40009520:	c2 07 61 38 	ld  [ %i5 + 0x138 ], %g1
                      <== NOT EXECUTED
40009524:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
40009528:	02 80 00 08 	be  40009548 <rtems_termios_ioctl+0x5dc>
      <== NOT EXECUTED
4000952c:	92 10 00 1b 	mov  %i3, %o1
                                 <== NOT EXECUTED
      args->ioctl_return = (*tty->handler.ioctl) (tty->device_context,

40009530:	d4 07 20 08 	ld  [ %i4 + 8 ], %o2
                          <== NOT EXECUTED
40009534:	d0 07 61 7c 	ld  [ %i5 + 0x17c ], %o0
                      <== NOT EXECUTED
40009538:	9f c0 40 00 	call  %g1
                                     <== NOT EXECUTED
4000953c:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
40009540:	10 bf fe ac 	b  40008ff0 <rtems_termios_ioctl+0x84>
        <== NOT EXECUTED
40009544:	d0 27 20 0c 	st  %o0, [ %i4 + 0xc ]
                        <== NOT EXECUTED
      sc = RTEMS_INVALID_NUMBER;
                                     
40009548:	10 bf fe aa 	b  40008ff0 <rtems_termios_ioctl+0x84>
        <== NOT EXECUTED
4000954c:	b0 10 20 0a 	mov  0xa, %i0
                                 <== NOT EXECUTED

                                                                     

40009a70 <rtems_termios_set_best_baud>: { const rtems_assoc_t *current = &rtems_termios_baud_table[ 0 ]; const rtems_assoc_t *last = current; speed_t spd; while ( current->name != NULL && current->local_value < baud ) {
40009a70:	03 10 00 53 	sethi  %hi(0x40014c00), %g1
                   
40009a74:	c6 00 61 68 	ld  [ %g1 + 0x168 ], %g3	! 40014d68 <rtems_termios_baud_table>

  if ( current->name != NULL ) {
                                     
    uint32_t mid = (last->local_value + current->local_value) / UINT32_C( 2 );


                                                                     
    spd = baud <= mid ? last->remote_value : current->remote_value;
  
  } else {
                                                           
    spd = B460800;
                                                   
40009a78:	05 00 01 c2 	sethi  %hi(0x70800), %g2
                      
  while ( current->name != NULL && current->local_value < baud ) {
   
40009a7c:	80 a0 e0 00 	cmp  %g3, 0
                                   
40009a80:	02 80 00 12 	be  40009ac8 <rtems_termios_set_best_baud+0x58>
<== NEVER TAKEN
40009a84:	82 10 61 68 	or  %g1, 0x168, %g1
                           
40009a88:	c8 00 60 04 	ld  [ %g1 + 4 ], %g4
                          
40009a8c:	80 a2 40 04 	cmp  %o1, %g4
                                 
40009a90:	38 80 00 0a 	bgu,a   40009ab8 <rtems_termios_set_best_baud+0x48>
<== ALWAYS TAKEN
40009a94:	c6 00 60 0c 	ld  [ %g1 + 0xc ], %g3
                        
40009a98:	10 80 00 1b 	b  40009b04 <rtems_termios_set_best_baud+0x94>
<== NOT EXECUTED
40009a9c:	86 10 00 04 	mov  %g4, %g3
                                 <== NOT EXECUTED
40009aa0:	c6 00 a0 04 	ld  [ %g2 + 4 ], %g3
                          
40009aa4:	80 a0 c0 09 	cmp  %g3, %o1
                                 
40009aa8:	3a 80 00 0b 	bcc,a   40009ad4 <rtems_termios_set_best_baud+0x64>
<== NEVER TAKEN
40009aac:	c8 00 60 04 	ld  [ %g1 + 4 ], %g4
                          <== NOT EXECUTED
40009ab0:	82 10 00 02 	mov  %g2, %g1
                                 
40009ab4:	c6 00 a0 0c 	ld  [ %g2 + 0xc ], %g3
                        
40009ab8:	80 a0 e0 00 	cmp  %g3, 0
                                   
40009abc:	12 bf ff f9 	bne  40009aa0 <rtems_termios_set_best_baud+0x30>

40009ac0:	84 00 60 0c 	add  %g1, 0xc, %g2
                            
    spd = B460800;
                                                   
40009ac4:	05 00 01 c2 	sethi  %hi(0x70800), %g2
                      
  }
                                                                  

                                                                     
  term->c_ispeed = spd;
                                              
40009ac8:	c4 22 20 24 	st  %g2, [ %o0 + 0x24 ]
                       
  term->c_ospeed = spd;
                                              
}
                                                                    
40009acc:	81 c3 e0 08 	retl 
                                         
40009ad0:	c4 22 20 28 	st  %g2, [ %o0 + 0x28 ]
                       
    uint32_t mid = (last->local_value + current->local_value) / UINT32_C( 2 );

40009ad4:	86 00 c0 04 	add  %g3, %g4, %g3
                            <== NOT EXECUTED
40009ad8:	87 30 e0 01 	srl  %g3, 1, %g3
                              <== NOT EXECUTED
    spd = baud <= mid ? last->remote_value : current->remote_value;
  
40009adc:	80 a2 40 03 	cmp  %o1, %g3
                                 <== NOT EXECUTED
40009ae0:	28 80 00 06 	bleu,a   40009af8 <rtems_termios_set_best_baud+0x88>
<== NOT EXECUTED
40009ae4:	c4 00 60 08 	ld  [ %g1 + 8 ], %g2
                          <== NOT EXECUTED
40009ae8:	c4 00 a0 08 	ld  [ %g2 + 8 ], %g2
                          <== NOT EXECUTED
  term->c_ispeed = spd;
                                              
40009aec:	c4 22 20 24 	st  %g2, [ %o0 + 0x24 ]
                       <== NOT EXECUTED
}
                                                                    
40009af0:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40009af4:	c4 22 20 28 	st  %g2, [ %o0 + 0x28 ]
                       <== NOT EXECUTED
  term->c_ispeed = spd;
                                              
40009af8:	c4 22 20 24 	st  %g2, [ %o0 + 0x24 ]
                       <== NOT EXECUTED
}
                                                                    
40009afc:	81 c3 e0 08 	retl 
                                         <== NOT EXECUTED
40009b00:	c4 22 20 28 	st  %g2, [ %o0 + 0x28 ]
                       <== NOT EXECUTED
  const rtems_assoc_t *current = &rtems_termios_baud_table[ 0 ];
     
40009b04:	10 bf ff f4 	b  40009ad4 <rtems_termios_set_best_baud+0x64>
<== NOT EXECUTED
40009b08:	84 10 00 01 	mov  %g1, %g2
                                 <== NOT EXECUTED

                                                                     

40004478 <rtems_verror>: int rtems_verror( rtems_error_code_t error_flag, const char *printf_format, va_list arglist ) {
40004478:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  int               local_errno = 0;
                                 
  int               chars_written = 0;
                               
  rtems_status_code status;
                                          

                                                                     
  if (error_flag & RTEMS_ERROR_PANIC) {
                              
4000447c:	03 08 00 00 	sethi  %hi(0x20000000), %g1
                   
40004480:	80 8e 00 01 	btst  %i0, %g1
                                
40004484:	02 80 00 0e 	be  400044bc <rtems_verror+0x44>
              
40004488:	ba 10 00 18 	mov  %i0, %i5
                                 
    if (rtems_panic_in_progress++)
                                   
4000448c:	05 10 00 77 	sethi  %hi(0x4001dc00), %g2
                   
40004490:	c2 00 a0 f8 	ld  [ %g2 + 0xf8 ], %g1	! 4001dcf8 <rtems_panic_in_progress>

40004494:	86 00 60 01 	add  %g1, 1, %g3
                              
40004498:	80 a0 60 00 	cmp  %g1, 0
                                   
4000449c:	02 80 00 08 	be  400044bc <rtems_verror+0x44>
              <== ALWAYS TAKEN
400044a0:	c6 20 a0 f8 	st  %g3, [ %g2 + 0xf8 ]
                       
  const ISR_lock_Context *lock_context
                               
)
                                                                    
{
                                                                    
  uint32_t disable_level;
                                            

                                                                     
  disable_level = cpu_self->thread_dispatch_disable_level;
           
400044a4:	c2 01 a0 18 	ld  [ %g6 + 0x18 ], %g1
                       <== NOT EXECUTED
  _Profiling_Thread_dispatch_disable_critical(
                       
    cpu_self,
                                                        
    disable_level,
                                                   
    lock_context
                                                     
  );
                                                                 
  cpu_self->thread_dispatch_disable_level = disable_level + 1;
       
400044a8:	82 00 60 01 	inc  %g1
                                      <== NOT EXECUTED
400044ac:	c2 21 a0 18 	st  %g1, [ %g6 + 0x18 ]
                       <== NOT EXECUTED
      _Thread_Dispatch_disable();       /* disable task switches */
  

                                                                     
    /* don't aggravate things */
                                     
    if (rtems_panic_in_progress > 2)
                                 
400044b0:	80 a0 e0 02 	cmp  %g3, 2
                                   <== NOT EXECUTED
400044b4:	14 80 00 1d 	bg  40004528 <rtems_verror+0xb0>
              <== NOT EXECUTED
400044b8:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
      return 0;
                                                      
  }
                                                                  

                                                                     
  (void) fflush(stdout);            /* in case stdout/stderr same */
 
400044bc:	7f ff f3 a1 	call  40001340 <__getreent>
                   
400044c0:	39 1c 00 00 	sethi  %hi(0x70000000), %i4
                   
400044c4:	40 00 28 3d 	call  4000e5b8 <fflush>
                       
400044c8:	d0 02 20 08 	ld  [ %o0 + 8 ], %o0
                          

                                                                     
  status = error_flag & ~RTEMS_ERROR_MASK;
                           
  if (error_flag & RTEMS_ERROR_ERRNO)     /* include errno? */
       
400044cc:	03 10 00 00 	sethi  %hi(0x40000000), %g1
                   
400044d0:	80 8f 40 01 	btst  %i5, %g1
                                
400044d4:	12 80 00 17 	bne  40004530 <rtems_verror+0xb8>
             
400044d8:	b8 2f 40 1c 	andn  %i5, %i4, %i4
                           
  #if defined(RTEMS_MULTIPROCESSING)
                                 
    if (_System_state_Is_multiprocessing)
                            
      fprintf(stderr, "[%" PRIu32 "] ", _Configuration_MP_table->node);

  #endif
                                                             

                                                                     
  chars_written += vfprintf(stderr, printf_format, arglist);
         
400044dc:	7f ff f3 99 	call  40001340 <__getreent>
                   
400044e0:	01 00 00 00 	nop 
                                          
400044e4:	d0 02 20 0c 	ld  [ %o0 + 0xc ], %o0
                        
400044e8:	94 10 00 1a 	mov  %i2, %o2
                                 
400044ec:	40 00 37 9a 	call  40012354 <vfprintf>
                     
400044f0:	92 10 00 19 	mov  %i1, %o1
                                 

                                                                     
  if (status)
                                                        
400044f4:	80 a7 20 00 	cmp  %i4, 0
                                   
400044f8:	12 80 00 37 	bne  400045d4 <rtems_verror+0x15c>
            
400044fc:	b0 10 00 08 	mov  %o0, %i0
                                 
      chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));

    else
                                                             
      chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);

  }
                                                                  

                                                                     
  chars_written += fprintf(stderr, "\n");
                            
40004500:	7f ff f3 90 	call  40001340 <__getreent>
                   
40004504:	01 00 00 00 	nop 
                                          
40004508:	13 10 00 68 	sethi  %hi(0x4001a000), %o1
                   
4000450c:	d0 02 20 0c 	ld  [ %o0 + 0xc ], %o0
                        
40004510:	40 00 29 4c 	call  4000ea40 <fprintf>
                      
40004514:	92 12 61 f8 	or  %o1, 0x1f8, %o1
                           

                                                                     
  (void) fflush(stderr);
                                             
40004518:	7f ff f3 8a 	call  40001340 <__getreent>
                   
4000451c:	b0 02 00 18 	add  %o0, %i0, %i0
                            
40004520:	40 00 28 26 	call  4000e5b8 <fflush>
                       
40004524:	d0 02 20 0c 	ld  [ %o0 + 0xc ], %o0
                        
40004528:	81 c7 e0 08 	ret 
                                          
4000452c:	81 e8 00 00 	restore 
                                      
    local_errno = errno;
                                             
40004530:	40 00 27 50 	call  4000e270 <__errno>
                      
40004534:	01 00 00 00 	nop 
                                          
  chars_written += vfprintf(stderr, printf_format, arglist);
         
40004538:	7f ff f3 82 	call  40001340 <__getreent>
                   
4000453c:	fa 02 00 00 	ld  [ %o0 ], %i5
                              
40004540:	d0 02 20 0c 	ld  [ %o0 + 0xc ], %o0
                        
40004544:	94 10 00 1a 	mov  %i2, %o2
                                 
40004548:	40 00 37 83 	call  40012354 <vfprintf>
                     
4000454c:	92 10 00 19 	mov  %i1, %o1
                                 
  if (status)
                                                        
40004550:	80 a7 20 00 	cmp  %i4, 0
                                   
40004554:	12 80 00 21 	bne  400045d8 <rtems_verror+0x160>
            
40004558:	b0 10 00 08 	mov  %o0, %i0
                                 
  if (local_errno) {
                                                 
4000455c:	80 a7 60 00 	cmp  %i5, 0
                                   
40004560:	02 bf ff e8 	be  40004500 <rtems_verror+0x88>
              
40004564:	01 00 00 00 	nop 
                                          
    if ((local_errno > 0) && *strerror(local_errno))
                 
40004568:	04 80 00 08 	ble  40004588 <rtems_verror+0x110>
            
4000456c:	01 00 00 00 	nop 
                                          
40004570:	40 00 2c b6 	call  4000f848 <strerror>
                     
40004574:	90 10 00 1d 	mov  %i5, %o0
                                 
40004578:	c2 4a 00 00 	ldsb  [ %o0 ], %g1
                            
4000457c:	80 a0 60 00 	cmp  %g1, 0
                                   
40004580:	12 80 00 22 	bne  40004608 <rtems_verror+0x190>
            <== ALWAYS TAKEN
40004584:	01 00 00 00 	nop 
                                          
      chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);

40004588:	7f ff f3 6e 	call  40001340 <__getreent>
                   
4000458c:	01 00 00 00 	nop 
                                          
40004590:	94 10 00 1d 	mov  %i5, %o2
                                 
40004594:	d0 02 20 0c 	ld  [ %o0 + 0xc ], %o0
                        
40004598:	13 10 00 67 	sethi  %hi(0x40019c00), %o1
                   
4000459c:	40 00 29 29 	call  4000ea40 <fprintf>
                      
400045a0:	92 12 60 18 	or  %o1, 0x18, %o1	! 40019c18 <_Console_simple_Handlers+0x60>

  chars_written += fprintf(stderr, "\n");
                            
400045a4:	7f ff f3 67 	call  40001340 <__getreent>
                   
400045a8:	b0 06 00 08 	add  %i0, %o0, %i0
                            
400045ac:	13 10 00 68 	sethi  %hi(0x4001a000), %o1
                   
400045b0:	d0 02 20 0c 	ld  [ %o0 + 0xc ], %o0
                        
400045b4:	40 00 29 23 	call  4000ea40 <fprintf>
                      
400045b8:	92 12 61 f8 	or  %o1, 0x1f8, %o1
                           
  (void) fflush(stderr);
                                             
400045bc:	7f ff f3 61 	call  40001340 <__getreent>
                   
400045c0:	b0 02 00 18 	add  %o0, %i0, %i0
                            
400045c4:	40 00 27 fd 	call  4000e5b8 <fflush>
                       
400045c8:	d0 02 20 0c 	ld  [ %o0 + 0xc ], %o0
                        
400045cc:	81 c7 e0 08 	ret 
                                          
400045d0:	81 e8 00 00 	restore 
                                      
  int               local_errno = 0;
                                 
400045d4:	ba 10 20 00 	clr  %i5
                                      
      fprintf(stderr, " (status: %s)", rtems_status_text(status));
   
400045d8:	7f ff f3 5a 	call  40001340 <__getreent>
                   
400045dc:	01 00 00 00 	nop 
                                          
400045e0:	f6 02 20 0c 	ld  [ %o0 + 0xc ], %i3
                        
400045e4:	40 00 07 c6 	call  400064fc <rtems_status_text>
            
400045e8:	90 10 00 1c 	mov  %i4, %o0
                                 
400045ec:	13 10 00 66 	sethi  %hi(0x40019800), %o1
                   
400045f0:	94 10 00 08 	mov  %o0, %o2
                                 
400045f4:	92 12 63 f8 	or  %o1, 0x3f8, %o1
                           
400045f8:	40 00 29 12 	call  4000ea40 <fprintf>
                      
400045fc:	90 10 00 1b 	mov  %i3, %o0
                                 
    chars_written +=
                                                 
40004600:	10 bf ff d7 	b  4000455c <rtems_verror+0xe4>
               
40004604:	b0 06 00 08 	add  %i0, %o0, %i0
                            
      chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));

40004608:	7f ff f3 4e 	call  40001340 <__getreent>
                   
4000460c:	01 00 00 00 	nop 
                                          
40004610:	f8 02 20 0c 	ld  [ %o0 + 0xc ], %i4
                        
40004614:	40 00 2c 8d 	call  4000f848 <strerror>
                     
40004618:	90 10 00 1d 	mov  %i5, %o0
                                 
4000461c:	13 10 00 67 	sethi  %hi(0x40019c00), %o1
                   
40004620:	94 10 00 08 	mov  %o0, %o2
                                 
40004624:	92 12 60 08 	or  %o1, 8, %o1
                               
40004628:	40 00 29 06 	call  4000ea40 <fprintf>
                      
4000462c:	90 10 00 1c 	mov  %i4, %o0
                                 
40004630:	10 bf ff b4 	b  40004500 <rtems_verror+0x88>
               
40004634:	b0 06 00 08 	add  %i0, %o0, %i0
                            

                                                                     

4000e3e0 <rtems_vprintf>: int rtems_vprintf( const rtems_printer *printer, const char *format, va_list ap ) {
4000e3e0:	9d e3 bf a0 	save  %sp, -96, %sp
                           
4000e3e4:	82 10 00 18 	mov  %i0, %g1
                                 
 *
                                                                   
 * @return true The printer is valid else false is returned.
         
 */
                                                                  
static inline bool rtems_print_printer_valid(const rtems_printer *printer)

{
                                                                    
  return printer != NULL && printer->printer != NULL;
                
4000e3e8:	80 a0 60 00 	cmp  %g1, 0
                                   
4000e3ec:	02 80 00 0a 	be  4000e414 <rtems_vprintf+0x34>
             <== NEVER TAKEN
4000e3f0:	b0 10 20 00 	clr  %i0
                                      
4000e3f4:	c4 00 60 04 	ld  [ %g1 + 4 ], %g2
                          
4000e3f8:	80 a0 a0 00 	cmp  %g2, 0
                                   
4000e3fc:	02 80 00 06 	be  4000e414 <rtems_vprintf+0x34>
             <== NEVER TAKEN
4000e400:	94 10 00 1a 	mov  %i2, %o2
                                 
  int len = 0;
                                                       
  if ( rtems_print_printer_valid( printer ) ) {
                      
    len = printer->printer( printer->context, format, ap );
          
4000e404:	d0 00 40 00 	ld  [ %g1 ], %o0
                              
4000e408:	9f c0 80 00 	call  %g2
                                     
4000e40c:	92 10 00 19 	mov  %i1, %o1
                                 
4000e410:	b0 10 00 08 	mov  %o0, %i0
                                 
  }
                                                                  
  return len;
                                                        
}
                                                                    
4000e414:	81 c7 e0 08 	ret 
                                          
4000e418:	81 e8 00 00 	restore 
                                      

                                                                     

40006c94 <tcsetattr>: int tcsetattr( int fd, int opt, const struct termios *tp ) {
40006c94:	9d e3 bf 70 	save  %sp, -144, %sp
                          
  struct termios localterm;
                                          

                                                                     
  if (opt & TCSASOFT) {
                                              
40006c98:	80 8e 60 10 	btst  0x10, %i1
                               
40006c9c:	22 80 00 0b 	be,a   40006cc8 <tcsetattr+0x34>
              <== ALWAYS TAKEN
40006ca0:	b2 0e 7f ef 	and  %i1, -17, %i1
                            
    localterm = *tp;
                                                 
40006ca4:	92 10 00 1a 	mov  %i2, %o1
                                 <== NOT EXECUTED
40006ca8:	94 10 20 2c 	mov  0x2c, %o2
                                <== NOT EXECUTED
40006cac:	40 00 33 f3 	call  40013c78 <memcpy>
                       <== NOT EXECUTED
40006cb0:	90 07 bf d4 	add  %fp, -44, %o0
                            <== NOT EXECUTED
    localterm.c_cflag |= CIGNORE;
                                    
40006cb4:	c2 07 bf dc 	ld  [ %fp + -36 ], %g1
                        <== NOT EXECUTED
40006cb8:	82 10 60 01 	or  %g1, 1, %g1
                               <== NOT EXECUTED
40006cbc:	c2 27 bf dc 	st  %g1, [ %fp + -36 ]
                        <== NOT EXECUTED
    tp = &localterm;
                                                 
40006cc0:	b4 07 bf d4 	add  %fp, -44, %i2
                            <== NOT EXECUTED
  }
                                                                  

                                                                     
  switch (opt & ~TCSASOFT) {
                                         
40006cc4:	b2 0e 7f ef 	and  %i1, -17, %i1
                            <== NOT EXECUTED
40006cc8:	80 a6 60 01 	cmp  %i1, 1
                                   
40006ccc:	02 80 00 19 	be  40006d30 <tcsetattr+0x9c>
                 <== NEVER TAKEN
40006cd0:	80 a6 60 02 	cmp  %i1, 2
                                   
40006cd4:	02 80 00 10 	be  40006d14 <tcsetattr+0x80>
                 <== NEVER TAKEN
40006cd8:	80 a6 60 00 	cmp  %i1, 0
                                   
40006cdc:	02 80 00 08 	be  40006cfc <tcsetattr+0x68>
                 <== ALWAYS TAKEN
40006ce0:	94 10 00 1a 	mov  %i2, %o2
                                 

                                                                     
  case TCSAFLUSH:
                                                    
    return ioctl( fd, TIOCSETAF, tp );
                               

                                                                     
  default:
                                                           
    rtems_set_errno_and_return_minus_one( EINVAL );
                  
40006ce4:	40 00 32 15 	call  40013538 <__errno>
                      <== NOT EXECUTED
40006ce8:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
40006cec:	82 10 20 16 	mov  0x16, %g1
                                <== NOT EXECUTED
40006cf0:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
  }
                                                                  
}
                                                                    
40006cf4:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40006cf8:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
    return ioctl( fd, TIOCSETA, tp );
                                
40006cfc:	90 10 00 18 	mov  %i0, %o0
                                 
40006d00:	13 20 0b 1d 	sethi  %hi(0x802c7400), %o1
                   
40006d04:	40 00 2f c3 	call  40012c10 <ioctl>
                        
40006d08:	92 12 60 14 	or  %o1, 0x14, %o1	! 802c7414 <RAM_END+0x3fec7414>

40006d0c:	81 c7 e0 08 	ret 
                                          
40006d10:	91 e8 00 08 	restore  %g0, %o0, %o0
                        
    return ioctl( fd, TIOCSETAF, tp );
                               
40006d14:	94 10 00 1a 	mov  %i2, %o2
                                 <== NOT EXECUTED
40006d18:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
40006d1c:	13 20 0b 1d 	sethi  %hi(0x802c7400), %o1
                   <== NOT EXECUTED
40006d20:	40 00 2f bc 	call  40012c10 <ioctl>
                        <== NOT EXECUTED
40006d24:	92 12 60 16 	or  %o1, 0x16, %o1	! 802c7416 <RAM_END+0x3fec7416>
<== NOT EXECUTED
40006d28:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40006d2c:	91 e8 00 08 	restore  %g0, %o0, %o0
                        <== NOT EXECUTED
    return ioctl( fd, TIOCSETAW, tp );
                               
40006d30:	94 10 00 1a 	mov  %i2, %o2
                                 <== NOT EXECUTED
40006d34:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED
40006d38:	13 20 0b 1d 	sethi  %hi(0x802c7400), %o1
                   <== NOT EXECUTED
40006d3c:	40 00 2f b5 	call  40012c10 <ioctl>
                        <== NOT EXECUTED
40006d40:	92 12 60 15 	or  %o1, 0x15, %o1	! 802c7415 <RAM_END+0x3fec7415>
<== NOT EXECUTED
40006d44:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40006d48:	91 e8 00 08 	restore  %g0, %o0, %o0
                        <== NOT EXECUTED

                                                                     

40006a9c <unlink>: /** * POSIX 1003.1b - 5.5.1 - Remove an existing link */ int unlink( const char *path ) {
40006a9c:	9d e3 bf 50 	save  %sp, -176, %sp
                          
  int eval_flags = RTEMS_FS_REJECT_TERMINAL_DOT;
                     
  rtems_filesystem_location_info_t parentloc;
                        
  int parent_eval_flags = RTEMS_FS_PERMS_WRITE
                       
    | RTEMS_FS_PERMS_EXEC
                                            
    | RTEMS_FS_FOLLOW_LINK;
                                          
  const rtems_filesystem_location_info_t *currentloc =
               
40006aa0:	98 10 20 1b 	mov  0x1b, %o4
                                
40006aa4:	94 10 21 00 	mov  0x100, %o2
                               
40006aa8:	92 10 00 18 	mov  %i0, %o1
                                 
40006aac:	96 07 bf b0 	add  %fp, -80, %o3
                            
40006ab0:	7f ff fd c0 	call  400061b0 <rtems_filesystem_eval_path_start_with_parent>

40006ab4:	90 07 bf c8 	add  %fp, -56, %o0
                            
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;

40006ab8:	c2 02 20 14 	ld  [ %o0 + 0x14 ], %g1
                       
  return (*mt_entry->ops->are_nodes_equal_h)(
                        
40006abc:	c4 00 60 0c 	ld  [ %g1 + 0xc ], %g2
                        
40006ac0:	c4 00 a0 10 	ld  [ %g2 + 0x10 ], %g2
                       
40006ac4:	d2 00 60 24 	ld  [ %g1 + 0x24 ], %o1
                       
40006ac8:	9f c0 80 00 	call  %g2
                                     
40006acc:	ba 10 00 08 	mov  %o0, %i5
                                 
      eval_flags,
                                                    
      &parentloc,
                                                    
      parent_eval_flags
                                              
    );
                                                               

                                                                     
  if ( !rtems_filesystem_location_is_instance_root( currentloc ) ) {
 
40006ad0:	80 a2 20 00 	cmp  %o0, 0
                                   
40006ad4:	12 80 00 0e 	bne  40006b0c <unlink+0x70>
                   <== NEVER TAKEN
40006ad8:	92 10 20 10 	mov  0x10, %o1
                                
    const rtems_filesystem_operations_table *ops = currentloc->mt_entry->ops;

40006adc:	c2 07 60 14 	ld  [ %i5 + 0x14 ], %g1
                       

                                                                     
    rv = (*ops->rmnod_h)( &parentloc, currentloc );
                  
40006ae0:	c2 00 60 0c 	ld  [ %g1 + 0xc ], %g1
                        
40006ae4:	c2 00 60 18 	ld  [ %g1 + 0x18 ], %g1
                       
40006ae8:	92 10 00 1d 	mov  %i5, %o1
                                 
40006aec:	9f c0 40 00 	call  %g1
                                     
40006af0:	90 07 bf b0 	add  %fp, -80, %o0
                            
40006af4:	b0 10 00 08 	mov  %o0, %i0
                                 
  } else {
                                                           
    rtems_filesystem_eval_path_error( &ctx, EBUSY );
                 
    rv = -1;
                                                         
  }
                                                                  

                                                                     
  rtems_filesystem_eval_path_cleanup_with_parent( &ctx, &parentloc );

40006af8:	92 07 bf b0 	add  %fp, -80, %o1
                            
40006afc:	7f ff fd fa 	call  400062e4 <rtems_filesystem_eval_path_cleanup_with_parent>

40006b00:	90 07 bf c8 	add  %fp, -56, %o0
                            

                                                                     
  return rv;
                                                         
}
                                                                    
40006b04:	81 c7 e0 08 	ret 
                                          
40006b08:	81 e8 00 00 	restore 
                                      
    rtems_filesystem_eval_path_error( &ctx, EBUSY );
                 
40006b0c:	90 07 bf c8 	add  %fp, -56, %o0
                            <== NOT EXECUTED
40006b10:	7f ff fc e1 	call  40005e94 <rtems_filesystem_eval_path_error>
<== NOT EXECUTED
40006b14:	b0 10 3f ff 	mov  -1, %i0
                                  <== NOT EXECUTED
  rtems_filesystem_eval_path_cleanup_with_parent( &ctx, &parentloc );

40006b18:	10 bf ff f9 	b  40006afc <unlink+0x60>
                     <== NOT EXECUTED
40006b1c:	92 07 bf b0 	add  %fp, -80, %o1
                            <== NOT EXECUTED

                                                                     

4001c63c <write>: ssize_t write( int fd, const void *buffer, size_t count ) {
4001c63c:	9d e3 bf a0 	save  %sp, -96, %sp
                           
  rtems_libio_t *iop;
                                                
  ssize_t        n;
                                                  

                                                                     
  rtems_libio_check_buffer( buffer );
                                
4001c640:	80 a6 60 00 	cmp  %i1, 0
                                   
4001c644:	02 80 00 32 	be  4001c70c <write+0xd0>
                     <== NEVER TAKEN
4001c648:	80 a6 a0 00 	cmp  %i2, 0
                                   
  rtems_libio_check_count( count );
                                  
4001c64c:	02 80 00 22 	be  4001c6d4 <write+0x98>
                     
4001c650:	84 10 20 00 	clr  %g2
                                      

                                                                     
  LIBIO_GET_IOP_WITH_ACCESS( fd, iop, LIBIO_FLAGS_WRITE, EBADF );
    
4001c654:	03 10 00 73 	sethi  %hi(0x4001cc00), %g1
                   
4001c658:	c2 00 62 90 	ld  [ %g1 + 0x290 ], %g1	! 4001ce90 <rtems_libio_number_iops>

4001c65c:	80 a6 00 01 	cmp  %i0, %g1
                                 
4001c660:	1a 80 00 25 	bcc  4001c6f4 <write+0xb8>
                    <== NEVER TAKEN
4001c664:	bb 2e 20 01 	sll  %i0, 1, %i5
                              <== NOT EXECUTED
4001c668:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
4001c66c:	31 10 00 84 	sethi  %hi(0x40021000), %i0
                   <== NOT EXECUTED
4001c670:	bb 2f 60 04 	sll  %i5, 4, %i5
                              <== NOT EXECUTED
4001c674:	b0 16 23 c0 	or  %i0, 0x3c0, %i0
                           <== NOT EXECUTED
4001c678:	ba 07 40 18 	add  %i5, %i0, %i5
                            <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c67c:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  val = *obj;
                                                        
4001c680:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
  *obj = val + arg;
                                                  
4001c684:	86 20 b0 00 	sub  %g2, -4096, %g3
                          <== NOT EXECUTED
4001c688:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c68c:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c690:	01 00 00 00 	nop 
                                          
4001c694:	84 08 a1 04 	and  %g2, 0x104, %g2
                          
4001c698:	80 a0 a1 04 	cmp  %g2, 0x104
                               
4001c69c:	12 80 00 10 	bne  4001c6dc <write+0xa0>
                    <== NEVER TAKEN
4001c6a0:	94 10 00 1a 	mov  %i2, %o2
                                 

                                                                     
  /*
                                                                 
   *  Now process the write() request.
                               
   */
                                                                
  n = (*iop->pathinfo.handlers->write_h)( iop, buffer, count );
      
4001c6a4:	c2 07 60 1c 	ld  [ %i5 + 0x1c ], %g1
                       
4001c6a8:	c2 00 60 0c 	ld  [ %g1 + 0xc ], %g1
                        
4001c6ac:	92 10 00 19 	mov  %i1, %o1
                                 
4001c6b0:	9f c0 40 00 	call  %g1
                                     
4001c6b4:	90 10 00 1d 	mov  %i5, %o0
                                 
4001c6b8:	84 10 00 08 	mov  %o0, %g2
                                 <== NOT EXECUTED
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c6bc:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
  *obj = val - arg;
                                                  
4001c6c0:	c6 07 60 08 	ld  [ %i5 + 8 ], %g3
                          <== NOT EXECUTED
4001c6c4:	86 00 f0 00 	add  %g3, -4096, %g3
                          <== NOT EXECUTED
4001c6c8:	c6 27 60 08 	st  %g3, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c6cc:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c6d0:	01 00 00 00 	nop 
                                          
  rtems_libio_iop_drop( iop );
                                       
  return n;
                                                          
}
                                                                    
4001c6d4:	81 c7 e0 08 	ret 
                                          
4001c6d8:	91 e8 00 02 	restore  %g0, %g2, %o0
                        
  __asm__ volatile ( "ta %1\n\t" : "=r" (psr) : "i" (SPARC_SWTRAP_IRQDIS));

4001c6dc:	91 d0 20 09 	ta  9
                                         <== NOT EXECUTED
4001c6e0:	c4 07 60 08 	ld  [ %i5 + 8 ], %g2
                          <== NOT EXECUTED
4001c6e4:	84 00 b0 00 	add  %g2, -4096, %g2
                          <== NOT EXECUTED
4001c6e8:	c4 27 60 08 	st  %g2, [ %i5 + 8 ]
                          <== NOT EXECUTED
  __asm__ volatile ( "ta %0\nnop\n" :: "i" (SPARC_SWTRAP_IRQEN), "r" (_psr));

4001c6ec:	91 d0 20 0a 	ta  0xa
                                       <== NOT EXECUTED
4001c6f0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
  LIBIO_GET_IOP_WITH_ACCESS( fd, iop, LIBIO_FLAGS_WRITE, EBADF );
    
4001c6f4:	7f ff d8 fc 	call  40012ae4 <__errno>
                      <== NOT EXECUTED
4001c6f8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4001c6fc:	82 10 20 09 	mov  9, %g1	! 9 <_TLS_Alignment+0x8>
          <== NOT EXECUTED
4001c700:	84 10 3f ff 	mov  -1, %g2
                                  <== NOT EXECUTED
4001c704:	10 bf ff f4 	b  4001c6d4 <write+0x98>
                      <== NOT EXECUTED
4001c708:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED
  rtems_libio_check_buffer( buffer );
                                
4001c70c:	7f ff d8 f6 	call  40012ae4 <__errno>
                      <== NOT EXECUTED
4001c710:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4001c714:	82 10 20 16 	mov  0x16, %g1	! 16 <_TLS_Alignment+0x15>
     <== NOT EXECUTED
4001c718:	84 10 3f ff 	mov  -1, %g2
                                  <== NOT EXECUTED
4001c71c:	10 bf ff ee 	b  4001c6d4 <write+0x98>
                      <== NOT EXECUTED
4001c720:	c2 22 00 00 	st  %g1, [ %o0 ]
                              <== NOT EXECUTED