RTEMS-6
Annotated Report
librfs
Sun Feb 28 12:26:26 2021

40005fcc <rtems_rfs_bitmap_create_search>:                                                
  if (!control->buffer)                                                                   
40005fcc:   00052583            lw  a1,0(a0)                                              
40005fd0:   10058463            beqz    a1,400060d8 <rtems_rfs_bitmap_create_search+0x10c>
                                                                                          
int                                                                                       
rtems_rfs_bitmap_create_search (rtems_rfs_bitmap_control* control)                        
{                                                                                         
40005fd4:   ff010113            addi    sp,sp,-16                                         
40005fd8:   00812423            sw  s0,8(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005fdc:   00852603            lw  a2,8(a0)                                              
40005fe0:   00050413            mv  s0,a0                                                 
40005fe4:   00452503            lw  a0,4(a0)                                              
40005fe8:   00100693            li  a3,1                                                  
{                                                                                         
40005fec:   00112623            sw  ra,12(sp)                                             
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005ff0:   58c000ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
  if (rc)                                                                                 
40005ff4:   0c051c63            bnez    a0,400060cc <rtems_rfs_bitmap_create_search+0x100><== NEVER TAKEN
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005ff8:   00042783            lw  a5,0(s0)                                              
40005ffc:   0087a783            lw  a5,8(a5)                                              
40006000:   01c7a583            lw  a1,28(a5)                                             
  rc = rtems_rfs_bitmap_load_map (control, &map);                                         
  if (rc > 0)                                                                             
    return rc;                                                                            
                                                                                          
  control->free = 0;                                                                      
  search_map = control->search_bits;                                                      
40006004:   01442e83            lw  t4,20(s0)                                             
  size = control->size;                                                                   
40006008:   00c42603            lw  a2,12(s0)                                             
  control->free = 0;                                                                      
4000600c:   00042823            sw  zero,16(s0)                                           
  bit = 0;                                                                                
                                                                                          
  rtems_rfs_bitmap_check(control, search_map);                                            
  *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                                           
40006010:   fff00793            li  a5,-1                                                 
40006014:   00fea023            sw  a5,0(t4)                                              
  while (size)                                                                            
40006018:   02060c63            beqz    a2,40006050 <rtems_rfs_bitmap_create_search+0x84> <== NEVER TAKEN
  {                                                                                       
    rtems_rfs_bitmap_element bits;                                                        
    int                      available;                                                   
    if (size < rtems_rfs_bitmap_element_bits ())                                          
4000601c:   01f00313            li  t1,31                                                 
40006020:   00458593            addi    a1,a1,4                                           
  bit = 0;                                                                                
40006024:   00000893            li  a7,0                                                  
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                                         
40006028:   00100813            li  a6,1                                                  
      available = size;                                                                   
    }                                                                                     
    else                                                                                  
    {                                                                                     
      bits      = *map;                                                                   
      available = rtems_rfs_bitmap_element_bits ();                                       
4000602c:   02000f13            li  t5,32                                                 
  mask >>= (rtems_rfs_bitmap_element_bits () - size);                                     
40006030:   fff00e13            li  t3,-1                                                 
      bits = rtems_rfs_bitmap_merge (*map,                                                
40006034:   ffc5a683            lw  a3,-4(a1)                                             
    if (size < rtems_rfs_bitmap_element_bits ())                                          
40006038:   06c36663            bltu    t1,a2,400060a4 <rtems_rfs_bitmap_create_search+0xd8>
  mask >>= (rtems_rfs_bitmap_element_bits () - size);                                     
4000603c:   40cf07b3            sub a5,t5,a2                                              
40006040:   00fe57b3            srl a5,t3,a5                                              
40006044:   00f6f6b3            and a3,a3,a5                                              
      available = size;                                                                   
40006048:   00060513            mv  a0,a2                                                 
    }                                                                                     
                                                                                          
    if (rtems_rfs_bitmap_match (bits, RTEMS_RFS_BITMAP_ELEMENT_SET))                      
4000604c:   00069c63            bnez    a3,40006064 <rtems_rfs_bitmap_create_search+0x98> 
    else                                                                                  
      bit++;                                                                              
    map++;                                                                                
  }                                                                                       
                                                                                          
  return 0;                                                                               
40006050:   00000513            li  a0,0                                                  
}                                                                                         
40006054:   00c12083            lw  ra,12(sp)                                             
40006058:   00812403            lw  s0,8(sp)                                              
4000605c:   01010113            addi    sp,sp,16                                          
40006060:   00008067            ret                                                       
    if (rtems_rfs_bitmap_match (bits, RTEMS_RFS_BITMAP_ELEMENT_SET))                      
40006064:   00000613            li  a2,0                                                  
      for (b = 0; b < available; b++)                                                     
40006068:   00000793            li  a5,0                                                  
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                                         
4000606c:   00f81733            sll a4,a6,a5                                              
40006070:   00d77733            and a4,a4,a3                                              
      for (b = 0; b < available; b++)                                                     
40006074:   00178793            addi    a5,a5,1                                           
        if (!rtems_rfs_bitmap_test (bits, b))                                             
40006078:   00070863            beqz    a4,40006088 <rtems_rfs_bitmap_create_search+0xbc> 
          control->free++;                                                                
4000607c:   01042703            lw  a4,16(s0)                                             
40006080:   00170713            addi    a4,a4,1                                           
40006084:   00e42823            sw  a4,16(s0)                                             
      for (b = 0; b < available; b++)                                                     
40006088:   fef512e3            bne a0,a5,4000606c <rtems_rfs_bitmap_create_search+0xa0>  
    if (bit == (rtems_rfs_bitmap_element_bits () - 1))                                    
4000608c:   02688463            beq a7,t1,400060b4 <rtems_rfs_bitmap_create_search+0xe8>  
      bit++;                                                                              
40006090:   00188893            addi    a7,a7,1                                           
  while (size)                                                                            
40006094:   fa060ee3            beqz    a2,40006050 <rtems_rfs_bitmap_create_search+0x84> 
40006098:   00458593            addi    a1,a1,4                                           
      bits = rtems_rfs_bitmap_merge (*map,                                                
4000609c:   ffc5a683            lw  a3,-4(a1)                                             
    if (size < rtems_rfs_bitmap_element_bits ())                                          
400060a0:   f8c37ee3            bgeu    t1,a2,4000603c <rtems_rfs_bitmap_create_search+0x70>
      available = rtems_rfs_bitmap_element_bits ();                                       
400060a4:   fe060613            addi    a2,a2,-32                                         
    if (rtems_rfs_bitmap_match (bits, RTEMS_RFS_BITMAP_ELEMENT_SET))                      
400060a8:   fe0682e3            beqz    a3,4000608c <rtems_rfs_bitmap_create_search+0xc0> 
      available = rtems_rfs_bitmap_element_bits ();                                       
400060ac:   02000513            li  a0,32                                                 
400060b0:   fb9ff06f            j   40006068 <rtems_rfs_bitmap_create_search+0x9c>        
      if (size > 0)                                                                       
400060b4:   f8060ee3            beqz    a2,40006050 <rtems_rfs_bitmap_create_search+0x84> 
        *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                                     
400060b8:   01cea223            sw  t3,4(t4)                                              
      bit = 0;                                                                            
400060bc:   00000893            li  a7,0                                                  
        search_map++;                                                                     
400060c0:   004e8e93            addi    t4,t4,4                                           
400060c4:   00458593            addi    a1,a1,4                                           
400060c8:   fd5ff06f            j   4000609c <rtems_rfs_bitmap_create_search+0xd0>        
  if (rc > 0)                                                                             
400060cc:   f8a044e3            bgtz    a0,40006054 <rtems_rfs_bitmap_create_search+0x88> <== NOT EXECUTED
  *map = NULL;                                                                            
400060d0:   00000593            li  a1,0                                                  <== NOT EXECUTED
400060d4:   f31ff06f            j   40006004 <rtems_rfs_bitmap_create_search+0x38>        <== NOT EXECUTED
    return ENXIO;                                                                         
400060d8:   00600513            li  a0,6                                                  
}                                                                                         
400060dc:   00008067            ret                                                       
                                                                                          

40005ed8 <rtems_rfs_bitmap_map_alloc>: int rtems_rfs_bitmap_map_alloc (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit seed, bool* allocated, rtems_rfs_bitmap_bit* bit) {
40005ed8:   fe010113            addi    sp,sp,-32                                         
40005edc:   00812c23            sw  s0,24(sp)                                             
40005ee0:   00912a23            sw  s1,20(sp)                                             
40005ee4:   01212823            sw  s2,16(sp)                                             
40005ee8:   01312623            sw  s3,12(sp)                                             
40005eec:   01412423            sw  s4,8(sp)                                              
40005ef0:   01512223            sw  s5,4(sp)                                              
40005ef4:   00112e23            sw  ra,28(sp)                                             
    /*                                                                                    
     * Do not bound the limits at the edges of the map. Do not update if an               
     * edge has been passed.                                                              
     */                                                                                   
    if (upper_seed < control->size)                                                       
      upper_seed += window;                                                               
40005ef8:   00001ab7            lui s5,0x1                                                
{                                                                                         
40005efc:   00058413            mv  s0,a1                                                 
40005f00:   00060993            mv  s3,a2                                                 
40005f04:   00050913            mv  s2,a0                                                 
40005f08:   00068a13            mv  s4,a3                                                 
  *allocated = false;                                                                     
40005f0c:   00060023            sb  zero,0(a2)                                            
  lower_seed = seed;                                                                      
40005f10:   00058493            mv  s1,a1                                                 
      upper_seed += window;                                                               
40005f14:   800a8a93            addi    s5,s5,-2048 # 800 <bsp_section_data_size+0x2c4>   
  while (((upper_seed >= 0) && (upper_seed < control->size))                              
40005f18:   04044263            bltz    s0,40005f5c <rtems_rfs_bitmap_map_alloc+0x84>     
40005f1c:   00c92783            lw  a5,12(s2)                                             
40005f20:   02f47e63            bgeu    s0,a5,40005f5c <rtems_rfs_bitmap_map_alloc+0x84>  
      *bit = upper_seed;                                                                  
40005f24:   008a2023            sw  s0,0(s4)                                              
      rc = rtems_rfs_search_map_for_clear_bit (control, bit, allocated,                   
40005f28:   00100693            li  a3,1                                                  
40005f2c:   00098613            mv  a2,s3                                                 
40005f30:   000a0593            mv  a1,s4                                                 
40005f34:   00090513            mv  a0,s2                                                 
40005f38:   915ff0ef            jal ra,4000584c <rtems_rfs_search_map_for_clear_bit.constprop.0>
      if ((rc > 0) || *allocated)                                                         
40005f3c:   06a04463            bgtz    a0,40005fa4 <rtems_rfs_bitmap_map_alloc+0xcc>     <== NEVER TAKEN
40005f40:   0009c783            lbu a5,0(s3)                                              
40005f44:   06079063            bnez    a5,40005fa4 <rtems_rfs_bitmap_map_alloc+0xcc>     
    if (lower_seed >= 0)                                                                  
40005f48:   0204d263            bgez    s1,40005f6c <rtems_rfs_bitmap_map_alloc+0x94>     
    if (upper_seed < control->size)                                                       
40005f4c:   00c92783            lw  a5,12(s2)                                             
40005f50:   fcf474e3            bgeu    s0,a5,40005f18 <rtems_rfs_bitmap_map_alloc+0x40>  
      upper_seed += window;                                                               
40005f54:   01540433            add s0,s0,s5                                              
  while (((upper_seed >= 0) && (upper_seed < control->size))                              
40005f58:   fc0452e3            bgez    s0,40005f1c <rtems_rfs_bitmap_map_alloc+0x44>     <== ALWAYS TAKEN
         || ((lower_seed >= 0) && (lower_seed < control->size)))                          
40005f5c:   0404c463            bltz    s1,40005fa4 <rtems_rfs_bitmap_map_alloc+0xcc>     
40005f60:   00c92783            lw  a5,12(s2)                                             
40005f64:   04f4f063            bgeu    s1,a5,40005fa4 <rtems_rfs_bitmap_map_alloc+0xcc>  
    if (upper_seed < control->size)                                                       
40005f68:   faf46ee3            bltu    s0,a5,40005f24 <rtems_rfs_bitmap_map_alloc+0x4c>  
      *bit = lower_seed;                                                                  
40005f6c:   009a2023            sw  s1,0(s4)                                              
      rc = rtems_rfs_search_map_for_clear_bit (control, bit, allocated,                   
40005f70:   fff00693            li  a3,-1                                                 
40005f74:   00098613            mv  a2,s3                                                 
40005f78:   000a0593            mv  a1,s4                                                 
40005f7c:   00090513            mv  a0,s2                                                 
40005f80:   8cdff0ef            jal ra,4000584c <rtems_rfs_search_map_for_clear_bit.constprop.0>
      if ((rc > 0) || *allocated)                                                         
40005f84:   02a04063            bgtz    a0,40005fa4 <rtems_rfs_bitmap_map_alloc+0xcc>     <== NEVER TAKEN
40005f88:   0009c783            lbu a5,0(s3)                                              
40005f8c:   00079c63            bnez    a5,40005fa4 <rtems_rfs_bitmap_map_alloc+0xcc>     
    if (upper_seed < control->size)                                                       
40005f90:   00c92783            lw  a5,12(s2)                                             
40005f94:   00f47463            bgeu    s0,a5,40005f9c <rtems_rfs_bitmap_map_alloc+0xc4>  
      upper_seed += window;                                                               
40005f98:   01540433            add s0,s0,s5                                              
    if (lower_seed >= 0)                                                                  
      lower_seed -= window;                                                               
40005f9c:   80048493            addi    s1,s1,-2048                                       
40005fa0:   f79ff06f            j   40005f18 <rtems_rfs_bitmap_map_alloc+0x40>            
  }                                                                                       
                                                                                          
  return 0;                                                                               
}                                                                                         
40005fa4:   01c12083            lw  ra,28(sp)                                             
40005fa8:   01812403            lw  s0,24(sp)                                             
40005fac:   01412483            lw  s1,20(sp)                                             
40005fb0:   01012903            lw  s2,16(sp)                                             
40005fb4:   00c12983            lw  s3,12(sp)                                             
40005fb8:   00812a03            lw  s4,8(sp)                                              
40005fbc:   00412a83            lw  s5,4(sp)                                              
40005fc0:   00000513            li  a0,0                                                  
40005fc4:   02010113            addi    sp,sp,32                                          
40005fc8:   00008067            ret                                                       
                                                                                          

40005bb0 <rtems_rfs_bitmap_map_clear>: if (!control->buffer)
40005bb0:   00052783            lw  a5,0(a0)                                              
40005bb4:   0c078463            beqz    a5,40005c7c <rtems_rfs_bitmap_map_clear+0xcc>     
{                                                                                         
40005bb8:   ff010113            addi    sp,sp,-16                                         
40005bbc:   00812423            sw  s0,8(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005bc0:   00852603            lw  a2,8(a0)                                              
40005bc4:   00050413            mv  s0,a0                                                 
40005bc8:   00452503            lw  a0,4(a0)                                              
{                                                                                         
40005bcc:   00912223            sw  s1,4(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005bd0:   00100693            li  a3,1                                                  
40005bd4:   00058493            mv  s1,a1                                                 
40005bd8:   00078593            mv  a1,a5                                                 
{                                                                                         
40005bdc:   00112623            sw  ra,12(sp)                                             
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005be0:   19d000ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
  if (rc)                                                                                 
40005be4:   08051663            bnez    a0,40005c70 <rtems_rfs_bitmap_map_clear+0xc0>     <== NEVER TAKEN
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005be8:   00042783            lw  a5,0(s0)                                              
40005bec:   0087a783            lw  a5,8(a5)                                              
40005bf0:   01c7a783            lw  a5,28(a5)                                             
  if (bit >= control->size)                                                               
40005bf4:   00c42703            lw  a4,12(s0)                                             
    return EINVAL;                                                                        
40005bf8:   01600513            li  a0,22                                                 
  if (bit >= control->size)                                                               
40005bfc:   06e4f063            bgeu    s1,a4,40005c5c <rtems_rfs_bitmap_map_clear+0xac>  
  index      = rtems_rfs_bitmap_map_index (bit);                                          
40005c00:   4054d693            srai    a3,s1,0x5                                         
  element    = map[index];                                                                
40005c04:   00269713            slli    a4,a3,0x2                                         
40005c08:   00e787b3            add a5,a5,a4                                              
40005c0c:   0007a803            lw  a6,0(a5)                                              
  map[index] = rtems_rfs_bitmap_clear (element, 1 << offset);                             
40005c10:   00100593            li  a1,1                                                  
40005c14:   00959733            sll a4,a1,s1                                              
  return RTEMS_RFS_BITMAP_CLEAR_BITS (target, bits);                                      
40005c18:   01076733            or  a4,a4,a6                                              
  search_map = control->search_bits;                                                      
40005c1c:   01442603            lw  a2,20(s0)                                             
  map[index] = rtems_rfs_bitmap_clear (element, 1 << offset);                             
40005c20:   00e7a023            sw  a4,0(a5)                                              
      return 0;                                                                           
40005c24:   00000513            li  a0,0                                                  
  if (rtems_rfs_bitmap_match(element, map[index]))                                        
40005c28:   02e80a63            beq a6,a4,40005c5c <rtems_rfs_bitmap_map_clear+0xac>      
  index             = rtems_rfs_bitmap_map_index (bit);                                   
40005c2c:   40a4d493            srai    s1,s1,0xa                                         
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);            
40005c30:   00249493            slli    s1,s1,0x2                                         
40005c34:   009604b3            add s1,a2,s1                                              
  return RTEMS_RFS_BITMAP_CLEAR_BITS (target, bits);                                      
40005c38:   0004a783            lw  a5,0(s1)                                              
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);            
40005c3c:   00d596b3            sll a3,a1,a3                                              
  rtems_rfs_buffer_mark_dirty (control->buffer);                                          
40005c40:   00042703            lw  a4,0(s0)                                              
  return RTEMS_RFS_BITMAP_CLEAR_BITS (target, bits);                                      
40005c44:   00d7e6b3            or  a3,a5,a3                                              
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);            
40005c48:   00d4a023            sw  a3,0(s1)                                              
  control->free++;                                                                        
40005c4c:   01042783            lw  a5,16(s0)                                             
  rtems_rfs_buffer_mark_dirty (control->buffer);                                          
40005c50:   00b70023            sb  a1,0(a4)                                              
  control->free++;                                                                        
40005c54:   00178793            addi    a5,a5,1                                           
40005c58:   00f42823            sw  a5,16(s0)                                             
}                                                                                         
40005c5c:   00c12083            lw  ra,12(sp)                                             
40005c60:   00812403            lw  s0,8(sp)                                              
40005c64:   00412483            lw  s1,4(sp)                                              
40005c68:   01010113            addi    sp,sp,16                                          
40005c6c:   00008067            ret                                                       
  if (rc > 0)                                                                             
40005c70:   fea046e3            bgtz    a0,40005c5c <rtems_rfs_bitmap_map_clear+0xac>     <== NOT EXECUTED
  *map = NULL;                                                                            
40005c74:   00000793            li  a5,0                                                  <== NOT EXECUTED
40005c78:   f7dff06f            j   40005bf4 <rtems_rfs_bitmap_map_clear+0x44>            <== NOT EXECUTED
    return ENXIO;                                                                         
40005c7c:   00600513            li  a0,6                                                  
}                                                                                         
40005c80:   00008067            ret                                                       
                                                                                          

40005de4 <rtems_rfs_bitmap_map_clear_all>: if (!control->buffer)
40005de4:   00052583            lw  a1,0(a0)                                              
40005de8:   0e058463            beqz    a1,40005ed0 <rtems_rfs_bitmap_map_clear_all+0xec> 
{                                                                                         
40005dec:   fe010113            addi    sp,sp,-32                                         
40005df0:   00812c23            sw  s0,24(sp)                                             
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005df4:   00852603            lw  a2,8(a0)                                              
40005df8:   00050413            mv  s0,a0                                                 
40005dfc:   00452503            lw  a0,4(a0)                                              
40005e00:   00100693            li  a3,1                                                  
{                                                                                         
40005e04:   00112e23            sw  ra,28(sp)                                             
40005e08:   00912a23            sw  s1,20(sp)                                             
40005e0c:   01212823            sw  s2,16(sp)                                             
40005e10:   01312623            sw  s3,12(sp)                                             
40005e14:   01412423            sw  s4,8(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005e18:   764000ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
  if (rc)                                                                                 
40005e1c:   0a051263            bnez    a0,40005ec0 <rtems_rfs_bitmap_map_clear_all+0xdc> <== NEVER TAKEN
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005e20:   00042983            lw  s3,0(s0)                                              
40005e24:   0089a783            lw  a5,8(s3)                                              
40005e28:   01c7a503            lw  a0,28(a5)                                             
  elements = rtems_rfs_bitmap_elements (control->size);                                   
40005e2c:   00c42783            lw  a5,12(s0)                                             
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                                              
40005e30:   0ff00593            li  a1,255                                                
40005e34:   fff00a13            li  s4,-1                                                 
  elements = rtems_rfs_bitmap_elements (control->size);                                   
40005e38:   fff78493            addi    s1,a5,-1                                          
40005e3c:   0054d913            srli    s2,s1,0x5                                         
40005e40:   00190913            addi    s2,s2,1                                           
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                                              
40005e44:   00291613            slli    a2,s2,0x2                                         
  control->free = control->size;                                                          
40005e48:   00f42823            sw  a5,16(s0)                                             
  last_search_bit = rtems_rfs_bitmap_map_offset (elements);                               
40005e4c:   01f97913            andi    s2,s2,31                                          
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                                              
40005e50:   4e8180ef            jal ra,4001e338 <memset>                                  
  if (last_search_bit == 0)                                                               
40005e54:   04091e63            bnez    s2,40005eb0 <rtems_rfs_bitmap_map_clear_all+0xcc> 
  elements = rtems_rfs_bitmap_elements (elements);                                        
40005e58:   00a4d493            srli    s1,s1,0xa                                         
  control->search_bits[elements - 1] =                                                    
40005e5c:   01442783            lw  a5,20(s0)                                             
  for (e = 0; e < (elements - 1); e++)                                                    
40005e60:   00048c63            beqz    s1,40005e78 <rtems_rfs_bitmap_map_clear_all+0x94> 
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                             
40005e64:   00078513            mv  a0,a5                                                 
40005e68:   00249613            slli    a2,s1,0x2                                         
40005e6c:   0ff00593            li  a1,255                                                
40005e70:   4c8180ef            jal ra,4001e338 <memset>                                  
40005e74:   00050793            mv  a5,a0                                                 
  control->search_bits[elements - 1] =                                                    
40005e78:   00249493            slli    s1,s1,0x2                                         
40005e7c:   009784b3            add s1,a5,s1                                              
40005e80:   0144a023            sw  s4,0(s1)                                              
  rtems_rfs_buffer_mark_dirty (control->buffer);                                          
40005e84:   00100793            li  a5,1                                                  
40005e88:   00f98023            sb  a5,0(s3)                                              
  return 0;                                                                               
40005e8c:   00000513            li  a0,0                                                  
}                                                                                         
40005e90:   01c12083            lw  ra,28(sp)                                             
40005e94:   01812403            lw  s0,24(sp)                                             
40005e98:   01412483            lw  s1,20(sp)                                             
40005e9c:   01012903            lw  s2,16(sp)                                             
40005ea0:   00c12983            lw  s3,12(sp)                                             
40005ea4:   00812a03            lw  s4,8(sp)                                              
40005ea8:   02010113            addi    sp,sp,32                                          
40005eac:   00008067            ret                                                       
  mask >>= (rtems_rfs_bitmap_element_bits () - size);                                     
40005eb0:   02000793            li  a5,32                                                 
40005eb4:   41278933            sub s2,a5,s2                                              
40005eb8:   012a5a33            srl s4,s4,s2                                              
40005ebc:   f9dff06f            j   40005e58 <rtems_rfs_bitmap_map_clear_all+0x74>        
  if (rc > 0)                                                                             
40005ec0:   fca048e3            bgtz    a0,40005e90 <rtems_rfs_bitmap_map_clear_all+0xac> <== NOT EXECUTED
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005ec4:   00042983            lw  s3,0(s0)                                              <== NOT EXECUTED
  *map = NULL;                                                                            
40005ec8:   00000513            li  a0,0                                                  <== NOT EXECUTED
40005ecc:   f61ff06f            j   40005e2c <rtems_rfs_bitmap_map_clear_all+0x48>        <== NOT EXECUTED
    return ENXIO;                                                                         
40005ed0:   00600513            li  a0,6                                                  
}                                                                                         
40005ed4:   00008067            ret                                                       
                                                                                          

40005acc <rtems_rfs_bitmap_map_set>: if (!control->buffer)
40005acc:   00052783            lw  a5,0(a0)                                              
40005ad0:   0c078c63            beqz    a5,40005ba8 <rtems_rfs_bitmap_map_set+0xdc>       
{                                                                                         
40005ad4:   ff010113            addi    sp,sp,-16                                         
40005ad8:   00812423            sw  s0,8(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005adc:   00852603            lw  a2,8(a0)                                              
40005ae0:   00050413            mv  s0,a0                                                 
40005ae4:   00452503            lw  a0,4(a0)                                              
{                                                                                         
40005ae8:   00912223            sw  s1,4(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005aec:   00100693            li  a3,1                                                  
40005af0:   00058493            mv  s1,a1                                                 
40005af4:   00078593            mv  a1,a5                                                 
{                                                                                         
40005af8:   00112623            sw  ra,12(sp)                                             
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005afc:   281000ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
  if (rc)                                                                                 
40005b00:   08051e63            bnez    a0,40005b9c <rtems_rfs_bitmap_map_set+0xd0>       <== NEVER TAKEN
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005b04:   00042783            lw  a5,0(s0)                                              
40005b08:   0087a783            lw  a5,8(a5)                                              
40005b0c:   01c7a703            lw  a4,28(a5)                                             
  if (bit >= control->size)                                                               
40005b10:   00c42783            lw  a5,12(s0)                                             
    return EINVAL;                                                                        
40005b14:   01600513            li  a0,22                                                 
  if (bit >= control->size)                                                               
40005b18:   06f4f863            bgeu    s1,a5,40005b88 <rtems_rfs_bitmap_map_set+0xbc>    
  index      = rtems_rfs_bitmap_map_index (bit);                                          
40005b1c:   4054d513            srai    a0,s1,0x5                                         
  element    = map[index];                                                                
40005b20:   00251793            slli    a5,a0,0x2                                         
40005b24:   00f70733            add a4,a4,a5                                              
40005b28:   00072603            lw  a2,0(a4)                                              
  map[index] = rtems_rfs_bitmap_set (element, 1 << offset);                               
40005b2c:   00100693            li  a3,1                                                  
40005b30:   009697b3            sll a5,a3,s1                                              
  return RTEMS_RFS_BITMAP_SET_BITS (target, bits);                                        
40005b34:   fff7c793            not a5,a5                                                 
40005b38:   00c7f7b3            and a5,a5,a2                                              
  search_map = control->search_bits;                                                      
40005b3c:   01442583            lw  a1,20(s0)                                             
  map[index] = rtems_rfs_bitmap_set (element, 1 << offset);                               
40005b40:   00f72023            sw  a5,0(a4)                                              
  if (rtems_rfs_bitmap_match(element, map[index]))                                        
40005b44:   04f60063            beq a2,a5,40005b84 <rtems_rfs_bitmap_map_set+0xb8>        
  control->free--;                                                                        
40005b48:   01042783            lw  a5,16(s0)                                             
  rtems_rfs_buffer_mark_dirty (control->buffer);                                          
40005b4c:   00042603            lw  a2,0(s0)                                              
  control->free--;                                                                        
40005b50:   fff78793            addi    a5,a5,-1                                          
40005b54:   00f42823            sw  a5,16(s0)                                             
  if (rtems_rfs_bitmap_match(map[index], RTEMS_RFS_BITMAP_ELEMENT_SET))                   
40005b58:   00072783            lw  a5,0(a4)                                              
  rtems_rfs_buffer_mark_dirty (control->buffer);                                          
40005b5c:   00d60023            sb  a3,0(a2)                                              
  if (rtems_rfs_bitmap_match(map[index], RTEMS_RFS_BITMAP_ELEMENT_SET))                   
40005b60:   02079263            bnez    a5,40005b84 <rtems_rfs_bitmap_map_set+0xb8>       
    index  = rtems_rfs_bitmap_map_index (bit);                                            
40005b64:   40a4d493            srai    s1,s1,0xa                                         
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);            
40005b68:   00249493            slli    s1,s1,0x2                                         
40005b6c:   009584b3            add s1,a1,s1                                              
  return RTEMS_RFS_BITMAP_SET_BITS (target, bits);                                        
40005b70:   0004a783            lw  a5,0(s1)                                              
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);            
40005b74:   00a696b3            sll a3,a3,a0                                              
  return RTEMS_RFS_BITMAP_SET_BITS (target, bits);                                        
40005b78:   fff6c693            not a3,a3                                                 
40005b7c:   00d7f6b3            and a3,a5,a3                                              
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);            
40005b80:   00d4a023            sw  a3,0(s1)                                              
  return 0;                                                                               
40005b84:   00000513            li  a0,0                                                  
}                                                                                         
40005b88:   00c12083            lw  ra,12(sp)                                             
40005b8c:   00812403            lw  s0,8(sp)                                              
40005b90:   00412483            lw  s1,4(sp)                                              
40005b94:   01010113            addi    sp,sp,16                                          
40005b98:   00008067            ret                                                       
  if (rc > 0)                                                                             
40005b9c:   fea046e3            bgtz    a0,40005b88 <rtems_rfs_bitmap_map_set+0xbc>       <== NOT EXECUTED
  *map = NULL;                                                                            
40005ba0:   00000713            li  a4,0                                                  <== NOT EXECUTED
40005ba4:   f6dff06f            j   40005b10 <rtems_rfs_bitmap_map_set+0x44>              <== NOT EXECUTED
    return ENXIO;                                                                         
40005ba8:   00600513            li  a0,6                                                  
}                                                                                         
40005bac:   00008067            ret                                                       
                                                                                          

40005d30 <rtems_rfs_bitmap_map_set_all>: if (!control->buffer)
40005d30:   00052583            lw  a1,0(a0)                                              
40005d34:   0a058463            beqz    a1,40005ddc <rtems_rfs_bitmap_map_set_all+0xac>   
{                                                                                         
40005d38:   ff010113            addi    sp,sp,-16                                         
40005d3c:   00812423            sw  s0,8(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005d40:   00852603            lw  a2,8(a0)                                              
40005d44:   00050413            mv  s0,a0                                                 
40005d48:   00452503            lw  a0,4(a0)                                              
40005d4c:   00100693            li  a3,1                                                  
{                                                                                         
40005d50:   00112623            sw  ra,12(sp)                                             
40005d54:   00912223            sw  s1,4(sp)                                              
40005d58:   01212023            sw  s2,0(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005d5c:   021000ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
  if (rc)                                                                                 
40005d60:   06051663            bnez    a0,40005dcc <rtems_rfs_bitmap_map_set_all+0x9c>   <== NEVER TAKEN
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005d64:   00042903            lw  s2,0(s0)                                              
40005d68:   00892783            lw  a5,8(s2)                                              
40005d6c:   01c7a503            lw  a0,28(a5)                                             
  elements = rtems_rfs_bitmap_elements (control->size);                                   
40005d70:   00c42483            lw  s1,12(s0)                                             
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                                                
40005d74:   00000593            li  a1,0                                                  
  control->free = 0;                                                                      
40005d78:   00042823            sw  zero,16(s0)                                           
  elements = rtems_rfs_bitmap_elements (control->size);                                   
40005d7c:   fff48493            addi    s1,s1,-1                                          
40005d80:   0054d613            srli    a2,s1,0x5                                         
40005d84:   00160613            addi    a2,a2,1                                           
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                                                
40005d88:   00261613            slli    a2,a2,0x2                                         
40005d8c:   5ac180ef            jal ra,4001e338 <memset>                                  
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                               
40005d90:   01442503            lw  a0,20(s0)                                             
  elements = rtems_rfs_bitmap_elements (elements);                                        
40005d94:   00a4d613            srli    a2,s1,0xa                                         
40005d98:   00160613            addi    a2,a2,1                                           
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                               
40005d9c:   00261613            slli    a2,a2,0x2                                         
40005da0:   00000593            li  a1,0                                                  
40005da4:   594180ef            jal ra,4001e338 <memset>                                  
  rtems_rfs_buffer_mark_dirty (control->buffer);                                          
40005da8:   00100793            li  a5,1                                                  
40005dac:   00f90023            sb  a5,0(s2)                                              
  return 0;                                                                               
40005db0:   00000513            li  a0,0                                                  
}                                                                                         
40005db4:   00c12083            lw  ra,12(sp)                                             
40005db8:   00812403            lw  s0,8(sp)                                              
40005dbc:   00412483            lw  s1,4(sp)                                              
40005dc0:   00012903            lw  s2,0(sp)                                              
40005dc4:   01010113            addi    sp,sp,16                                          
40005dc8:   00008067            ret                                                       
  if (rc > 0)                                                                             
40005dcc:   fea044e3            bgtz    a0,40005db4 <rtems_rfs_bitmap_map_set_all+0x84>   <== NOT EXECUTED
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005dd0:   00042903            lw  s2,0(s0)                                              <== NOT EXECUTED
  *map = NULL;                                                                            
40005dd4:   00000513            li  a0,0                                                  <== NOT EXECUTED
40005dd8:   f99ff06f            j   40005d70 <rtems_rfs_bitmap_map_set_all+0x40>          <== NOT EXECUTED
    return ENXIO;                                                                         
40005ddc:   00600513            li  a0,6                                                  
}                                                                                         
40005de0:   00008067            ret                                                       
                                                                                          

40005c84 <rtems_rfs_bitmap_map_test>: if (!control->buffer)
40005c84:   00052783            lw  a5,0(a0)                                              
40005c88:   0a078063            beqz    a5,40005d28 <rtems_rfs_bitmap_map_test+0xa4>      
{                                                                                         
40005c8c:   ff010113            addi    sp,sp,-16                                         
40005c90:   00812423            sw  s0,8(sp)                                              
40005c94:   01212023            sw  s2,0(sp)                                              
40005c98:   00050413            mv  s0,a0                                                 
40005c9c:   00060913            mv  s2,a2                                                 
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005ca0:   00852603            lw  a2,8(a0)                                              
40005ca4:   00452503            lw  a0,4(a0)                                              
{                                                                                         
40005ca8:   00912223            sw  s1,4(sp)                                              
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005cac:   00100693            li  a3,1                                                  
40005cb0:   00058493            mv  s1,a1                                                 
40005cb4:   00078593            mv  a1,a5                                                 
{                                                                                         
40005cb8:   00112623            sw  ra,12(sp)                                             
  rc = rtems_rfs_buffer_handle_request (control->fs,                                      
40005cbc:   0c1000ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
  if (rc)                                                                                 
40005cc0:   04051e63            bnez    a0,40005d1c <rtems_rfs_bitmap_map_test+0x98>      <== NEVER TAKEN
  *map = rtems_rfs_buffer_data (control->buffer);                                         
40005cc4:   00042783            lw  a5,0(s0)                                              
40005cc8:   0087a783            lw  a5,8(a5)                                              
40005ccc:   01c7a783            lw  a5,28(a5)                                             
  if (bit >= control->size)                                                               
40005cd0:   00c42703            lw  a4,12(s0)                                             
    return EINVAL;                                                                        
40005cd4:   01600513            li  a0,22                                                 
  if (bit >= control->size)                                                               
40005cd8:   02e4f663            bgeu    s1,a4,40005d04 <rtems_rfs_bitmap_map_test+0x80>   
  index = rtems_rfs_bitmap_map_index (bit);                                               
40005cdc:   4054d713            srai    a4,s1,0x5                                         
  *state = rtems_rfs_bitmap_test (map[index], bit);                                       
40005ce0:   00271713            slli    a4,a4,0x2                                         
40005ce4:   00e787b3            add a5,a5,a4                                              
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                                         
40005ce8:   0007a783            lw  a5,0(a5)                                              
40005cec:   00100593            li  a1,1                                                  
40005cf0:   009594b3            sll s1,a1,s1                                              
40005cf4:   00f4f4b3            and s1,s1,a5                                              
40005cf8:   0014b493            seqz    s1,s1                                             
40005cfc:   00990023            sb  s1,0(s2)                                              
  return 0;                                                                               
40005d00:   00000513            li  a0,0                                                  
}                                                                                         
40005d04:   00c12083            lw  ra,12(sp)                                             
40005d08:   00812403            lw  s0,8(sp)                                              
40005d0c:   00412483            lw  s1,4(sp)                                              
40005d10:   00012903            lw  s2,0(sp)                                              
40005d14:   01010113            addi    sp,sp,16                                          
40005d18:   00008067            ret                                                       
  if (rc > 0)                                                                             
40005d1c:   fea044e3            bgtz    a0,40005d04 <rtems_rfs_bitmap_map_test+0x80>      <== NOT EXECUTED
  *map = NULL;                                                                            
40005d20:   00000793            li  a5,0                                                  <== NOT EXECUTED
40005d24:   fadff06f            j   40005cd0 <rtems_rfs_bitmap_map_test+0x4c>             <== NOT EXECUTED
    return ENXIO;                                                                         
40005d28:   00600513            li  a0,6                                                  
}                                                                                         
40005d2c:   00008067            ret                                                       
                                                                                          

4001374c <rtems_rfs_block_map_close>: if (map->dirty && map->inode)
4001374c:   0005c783            lbu a5,0(a1)                                              
{                                                                                         
40013750:   fe010113            addi    sp,sp,-32                                         
40013754:   00812c23            sw  s0,24(sp)                                             
40013758:   00912a23            sw  s1,20(sp)                                             
4001375c:   00112e23            sw  ra,28(sp)                                             
40013760:   01212823            sw  s2,16(sp)                                             
40013764:   01312623            sw  s3,12(sp)                                             
40013768:   00058413            mv  s0,a1                                                 
4001376c:   00050493            mv  s1,a0                                                 
  if (map->dirty && map->inode)                                                           
40013770:   16078a63            beqz    a5,400138e4 <rtems_rfs_block_map_close+0x198>     
40013774:   0045a583            lw  a1,4(a1)                                              
40013778:   16058663            beqz    a1,400138e4 <rtems_rfs_block_map_close+0x198>     <== NEVER TAKEN
    brc = rtems_rfs_inode_load (fs, map->inode);                                          
4001377c:   a45f40ef            jal ra,400081c0 <rtems_rfs_inode_load>                    
40013780:   00050913            mv  s2,a0                                                 
    if (brc > 0)                                                                          
40013784:   03840993            addi    s3,s0,56                                          
40013788:   16a04263            bgtz    a0,400138ec <rtems_rfs_block_map_close+0x1a0>     <== NEVER TAKEN
4001378c:   ff800313            li  t1,-8                                                 
40013790:   02440713            addi    a4,s0,36                                          
40013794:   40830333            sub t1,t1,s0                                              
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40013798:   00100893            li  a7,1                                                  
        rtems_rfs_inode_set_block (map->inode, b, map->blocks[b]);                        
4001379c:   00442783            lw  a5,4(s0)                                              
400137a0:   00072683            lw  a3,0(a4)                                              
  rtems_rfs_write_u32 (&handle->node->data.blocks[block], bno);                           
400137a4:   00e30633            add a2,t1,a4                                              
400137a8:   00c7a583            lw  a1,12(a5)                                             
400137ac:   0186d513            srli    a0,a3,0x18                                        
400137b0:   0106d813            srli    a6,a3,0x10                                        
400137b4:   00c585b3            add a1,a1,a2                                              
400137b8:   00a58023            sb  a0,0(a1)                                              
400137bc:   00c7a583            lw  a1,12(a5)                                             
400137c0:   0086d513            srli    a0,a3,0x8                                         
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                                        
400137c4:   00470713            addi    a4,a4,4                                           
400137c8:   00c585b3            add a1,a1,a2                                              
400137cc:   010580a3            sb  a6,1(a1)                                              
400137d0:   00c7a583            lw  a1,12(a5)                                             
400137d4:   00c585b3            add a1,a1,a2                                              
400137d8:   00a58123            sb  a0,2(a1)                                              
400137dc:   00c7a583            lw  a1,12(a5)                                             
400137e0:   00c58633            add a2,a1,a2                                              
400137e4:   00d601a3            sb  a3,3(a2)                                              
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
400137e8:   01178823            sb  a7,16(a5)                                             
400137ec:   fae998e3            bne s3,a4,4001379c <rtems_rfs_block_map_close+0x50>       
      rtems_rfs_inode_set_block_count (map->inode, map->size.count);                      
400137f0:   00442783            lw  a5,4(s0)                                              
400137f4:   00842703            lw  a4,8(s0)                                              
      brc = rtems_rfs_inode_unload (fs, map->inode, true);                                
400137f8:   00100613            li  a2,1                                                  
  rtems_rfs_write_u32 (&handle->node->block_count, block_count);                          
400137fc:   00c7a683            lw  a3,12(a5)                                             
40013800:   01875593            srli    a1,a4,0x18                                        
40013804:   01075813            srli    a6,a4,0x10                                        
40013808:   00b68623            sb  a1,12(a3)                                             
4001380c:   00c7a683            lw  a3,12(a5)                                             
40013810:   00875593            srli    a1,a4,0x8                                         
40013814:   00048513            mv  a0,s1                                                 
40013818:   010686a3            sb  a6,13(a3)                                             
4001381c:   00c7a683            lw  a3,12(a5)                                             
40013820:   00b68723            sb  a1,14(a3)                                             
40013824:   00c7a683            lw  a3,12(a5)                                             
40013828:   00e687a3            sb  a4,15(a3)                                             
      rtems_rfs_inode_set_block_offset (map->inode, map->size.offset);                    
4001382c:   00442683            lw  a3,4(s0)                                              
40013830:   00c42703            lw  a4,12(s0)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40013834:   01178823            sb  a7,16(a5)                                             
  rtems_rfs_write_u16 (&handle->node->block_offset, block_offset);                        
40013838:   00c6a583            lw  a1,12(a3)                                             
4001383c:   01071793            slli    a5,a4,0x10                                        
40013840:   0107d793            srli    a5,a5,0x10                                        
40013844:   0087d793            srli    a5,a5,0x8                                         
40013848:   00f58523            sb  a5,10(a1)                                             
4001384c:   00c6a783            lw  a5,12(a3)                                             
40013850:   00e785a3            sb  a4,11(a5)                                             
      rtems_rfs_inode_set_last_map_block (map->inode, map->last_map_block);               
40013854:   00442703            lw  a4,4(s0)                                              
40013858:   01c42783            lw  a5,28(s0)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
4001385c:   01168823            sb  a7,16(a3)                                             
  rtems_rfs_write_u32 (&handle->node->last_map_block, last_map_block);                    
40013860:   00c72683            lw  a3,12(a4)                                             
40013864:   0187d593            srli    a1,a5,0x18                                        
40013868:   0107d813            srli    a6,a5,0x10                                        
4001386c:   02b68823            sb  a1,48(a3)                                             
40013870:   00c72683            lw  a3,12(a4)                                             
40013874:   0087d593            srli    a1,a5,0x8                                         
40013878:   030688a3            sb  a6,49(a3)                                             
4001387c:   00c72683            lw  a3,12(a4)                                             
40013880:   02b68923            sb  a1,50(a3)                                             
40013884:   00c72683            lw  a3,12(a4)                                             
40013888:   02f689a3            sb  a5,51(a3)                                             
      rtems_rfs_inode_set_last_data_block (map->inode, map->last_data_block);             
4001388c:   00442783            lw  a5,4(s0)                                              
40013890:   02042683            lw  a3,32(s0)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40013894:   01170823            sb  a7,16(a4)                                             
  rtems_rfs_write_u32 (&handle->node->last_data_block, last_data_block);                  
40013898:   00c7a703            lw  a4,12(a5)                                             
4001389c:   0186d593            srli    a1,a3,0x18                                        
400138a0:   0106d813            srli    a6,a3,0x10                                        
400138a4:   02b70a23            sb  a1,52(a4)                                             
400138a8:   00c7a703            lw  a4,12(a5)                                             
400138ac:   0086d593            srli    a1,a3,0x8                                         
400138b0:   03070aa3            sb  a6,53(a4)                                             
400138b4:   00c7a703            lw  a4,12(a5)                                             
400138b8:   02b70b23            sb  a1,54(a4)                                             
400138bc:   00c7a703            lw  a4,12(a5)                                             
400138c0:   02d70ba3            sb  a3,55(a4)                                             
      brc = rtems_rfs_inode_unload (fs, map->inode, true);                                
400138c4:   00442583            lw  a1,4(s0)                                              
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
400138c8:   01178823            sb  a7,16(a5)                                             
400138cc:   ad1f40ef            jal ra,4000839c <rtems_rfs_inode_unload>                  
      if (brc > 0)                                                                        
400138d0:   fff54793            not a5,a0                                                 
400138d4:   41f7d793            srai    a5,a5,0x1f                                        
400138d8:   00f57933            and s2,a0,a5                                              
      map->dirty = false;                                                                 
400138dc:   00040023            sb  zero,0(s0)                                            
400138e0:   00c0006f            j   400138ec <rtems_rfs_block_map_close+0x1a0>            
  int rc = 0;                                                                             
400138e4:   00000913            li  s2,0                                                  
400138e8:   03840993            addi    s3,s0,56                                          
  rtems_rfs_buffer_handle_release (fs, handle);                                           
400138ec:   00098593            mv  a1,s3                                                 
  map->inode = NULL;                                                                      
400138f0:   00042223            sw  zero,4(s0)                                            
400138f4:   00048513            mv  a0,s1                                                 
400138f8:   f1df20ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
400138fc:   04440593            addi    a1,s0,68                                          
  handle->dirty = false;                                                                  
40013900:   02040c23            sb  zero,56(s0)                                           
  handle->bnum  = 0;                                                                      
40013904:   02042e23            sw  zero,60(s0)                                           
  handle->buffer = NULL;                                                                  
40013908:   04042023            sw  zero,64(s0)                                           
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4001390c:   00048513            mv  a0,s1                                                 
40013910:   f05f20ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
}                                                                                         
40013914:   01c12083            lw  ra,28(sp)                                             
  handle->dirty = false;                                                                  
40013918:   04040223            sb  zero,68(s0)                                           
  handle->bnum  = 0;                                                                      
4001391c:   04042423            sw  zero,72(s0)                                           
  handle->buffer = NULL;                                                                  
40013920:   04042623            sw  zero,76(s0)                                           
40013924:   01812403            lw  s0,24(sp)                                             
40013928:   01412483            lw  s1,20(sp)                                             
4001392c:   00c12983            lw  s3,12(sp)                                             
40013930:   00090513            mv  a0,s2                                                 
40013934:   01012903            lw  s2,16(sp)                                             
40013938:   02010113            addi    sp,sp,32                                          
4001393c:   00008067            ret                                                       
                                                                                          

40013940 <rtems_rfs_block_map_find>: {
40013940:   fd010113            addi    sp,sp,-48                                         
40013944:   02812423            sw  s0,40(sp)                                             
40013948:   03212023            sw  s2,32(sp)                                             
4001394c:   01312e23            sw  s3,28(sp)                                             
40013950:   01412c23            sw  s4,24(sp)                                             
40013954:   02112623            sw  ra,44(sp)                                             
40013958:   02912223            sw  s1,36(sp)                                             
  *block = 0;                                                                             
4001395c:   0006a023            sw  zero,0(a3)                                            
  if (rtems_rfs_block_pos_block_past_end (bpos, &map->size))                              
40013960:   00062783            lw  a5,0(a2)                                              
{                                                                                         
40013964:   00058413            mv  s0,a1                                                 
40013968:   00068993            mv  s3,a3                                                 
  if (rtems_rfs_block_pos_block_past_end (bpos, &map->size))                              
4001396c:   0085a583            lw  a1,8(a1)                                              
{                                                                                         
40013970:   00060913            mv  s2,a2                                                 
40013974:   00050a13            mv  s4,a0                                                 
  if (rtems_rfs_block_pos_block_past_end (bpos, &map->size))                              
40013978:   00078663            beqz    a5,40013984 <rtems_rfs_block_map_find+0x44>       
    return ENXIO;                                                                         
4001397c:   00600513            li  a0,6                                                  
  if (rtems_rfs_block_pos_block_past_end (bpos, &map->size))                              
40013980:   04058a63            beqz    a1,400139d4 <rtems_rfs_block_map_find+0x94>       <== NEVER TAKEN
    return ENXIO;                                                                         
40013984:   00600513            li  a0,6                                                  
  if (rtems_rfs_block_pos_block_past_end (bpos, &map->size))                              
40013988:   04b7f663            bgeu    a5,a1,400139d4 <rtems_rfs_block_map_find+0x94>    
  if ((bpos->bno == map->bpos.bno) && (map->bpos.block != 0))                             
4001398c:   01042703            lw  a4,16(s0)                                             
40013990:   0ce78063            beq a5,a4,40013a50 <rtems_rfs_block_map_find+0x110>       
    if (map->size.count <= RTEMS_RFS_INODE_BLOCKS)                                        
40013994:   00500713            li  a4,5                                                  
40013998:   04b76e63            bltu    a4,a1,400139f4 <rtems_rfs_block_map_find+0xb4>    
      *block = map->blocks[bpos->bno];                                                    
4001399c:   00878793            addi    a5,a5,8                                           
400139a0:   00279793            slli    a5,a5,0x2                                         
400139a4:   00f407b3            add a5,s0,a5                                              
400139a8:   0047a783            lw  a5,4(a5)                                              
400139ac:   00f9a023            sw  a5,0(s3)                                              
    rtems_rfs_block_copy_bpos (&map->bpos, bpos);                                         
400139b0:   00892783            lw  a5,8(s2)                                              
400139b4:   00092683            lw  a3,0(s2)                                              
400139b8:   00492703            lw  a4,4(s2)                                              
400139bc:   00f42c23            sw  a5,24(s0)                                             
400139c0:   00d42823            sw  a3,16(s0)                                             
400139c4:   00e42a23            sw  a4,20(s0)                                             
    map->bpos.block = *block;                                                             
400139c8:   0009a783            lw  a5,0(s3)                                              
400139cc:   00000513            li  a0,0                                                  
400139d0:   00f42c23            sw  a5,24(s0)                                             
}                                                                                         
400139d4:   02c12083            lw  ra,44(sp)                                             
400139d8:   02812403            lw  s0,40(sp)                                             
400139dc:   02412483            lw  s1,36(sp)                                             
400139e0:   02012903            lw  s2,32(sp)                                             
400139e4:   01c12983            lw  s3,28(sp)                                             
400139e8:   01812a03            lw  s4,24(sp)                                             
400139ec:   03010113            addi    sp,sp,48                                          
400139f0:   00008067            ret                                                       
      direct = bpos->bno % fs->blocks_per_block;                                          
400139f4:   034a2703            lw  a4,52(s4)                                             
      if (map->size.count <= fs->block_map_singly_blocks)                                 
400139f8:   038a2683            lw  a3,56(s4)                                             
      singly = bpos->bno / fs->blocks_per_block;                                          
400139fc:   02e7d833            divu    a6,a5,a4                                          
40013a00:   01012623            sw  a6,12(sp)                                             
      direct = bpos->bno % fs->blocks_per_block;                                          
40013a04:   02e7f4b3            remu    s1,a5,a4                                          
      if (map->size.count <= fs->block_map_singly_blocks)                                 
40013a08:   04b6fc63            bgeu    a3,a1,40013a60 <rtems_rfs_block_map_find+0x120>   
        if (map->size.count < fs->block_map_doubly_blocks)                                
40013a0c:   03ca2783            lw  a5,60(s4)                                             
          rc = ENXIO;                                                                     
40013a10:   00600513            li  a0,6                                                  
        singly %= fs->blocks_per_block;                                                   
40013a14:   02e876b3            remu    a3,a6,a4                                          
40013a18:   00d12623            sw  a3,12(sp)                                             
        if (map->size.count < fs->block_map_doubly_blocks)                                
40013a1c:   faf5fce3            bgeu    a1,a5,400139d4 <rtems_rfs_block_map_find+0x94>    
        doubly  = singly / fs->blocks_per_block;                                          
40013a20:   02e85833            divu    a6,a6,a4                                          
          rc = rtems_rfs_block_find_indirect (fs,                                         
40013a24:   04440593            addi    a1,s0,68                                          
40013a28:   00c10713            addi    a4,sp,12                                          
40013a2c:   000a0513            mv  a0,s4                                                 
40013a30:   00880813            addi    a6,a6,8                                           
40013a34:   00281813            slli    a6,a6,0x2                                         
40013a38:   01040833            add a6,s0,a6                                              
40013a3c:   00482603            lw  a2,4(a6)                                              
40013a40:   961ff0ef            jal ra,400133a0 <rtems_rfs_block_find_indirect>           
          if (rc == 0)                                                                    
40013a44:   f80518e3            bnez    a0,400139d4 <rtems_rfs_block_map_find+0x94>       <== NEVER TAKEN
            rc = rtems_rfs_block_find_indirect (fs,                                       
40013a48:   00c12603            lw  a2,12(sp)                                             
40013a4c:   0240006f            j   40013a70 <rtems_rfs_block_map_find+0x130>             
  if ((bpos->bno == map->bpos.bno) && (map->bpos.block != 0))                             
40013a50:   01842703            lw  a4,24(s0)                                             
40013a54:   f40700e3            beqz    a4,40013994 <rtems_rfs_block_map_find+0x54>       
    *block = map->bpos.block;                                                             
40013a58:   00e9a023            sw  a4,0(s3)                                              
  if (rc == 0)                                                                            
40013a5c:   f55ff06f            j   400139b0 <rtems_rfs_block_map_find+0x70>              
        rc = rtems_rfs_block_find_indirect (fs,                                           
40013a60:   00880813            addi    a6,a6,8                                           
40013a64:   00281813            slli    a6,a6,0x2                                         
40013a68:   01040833            add a6,s0,a6                                              
40013a6c:   00482603            lw  a2,4(a6)                                              
            rc = rtems_rfs_block_find_indirect (fs,                                       
40013a70:   00098713            mv  a4,s3                                                 
40013a74:   00048693            mv  a3,s1                                                 
40013a78:   03840593            addi    a1,s0,56                                          
40013a7c:   000a0513            mv  a0,s4                                                 
40013a80:   921ff0ef            jal ra,400133a0 <rtems_rfs_block_find_indirect>           
  if (rc == 0)                                                                            
40013a84:   f20506e3            beqz    a0,400139b0 <rtems_rfs_block_map_find+0x70>       <== ALWAYS TAKEN
40013a88:   f4dff06f            j   400139d4 <rtems_rfs_block_map_find+0x94>              <== NOT EXECUTED
                                                                                          

40013b88 <rtems_rfs_block_map_grow>: {
40013b88:   fa010113            addi    sp,sp,-96                                         
40013b8c:   04812c23            sw  s0,88(sp)                                             
40013b90:   03b12623            sw  s11,44(sp)                                            
40013b94:   00058413            mv  s0,a1                                                 
40013b98:   00050d93            mv  s11,a0                                                
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))                                   
40013b9c:   00000593            li  a1,0                                                  
40013ba0:   00002537            lui a0,0x2                                                
{                                                                                         
40013ba4:   05312623            sw  s3,76(sp)                                             
40013ba8:   05512223            sw  s5,68(sp)                                             
40013bac:   04112e23            sw  ra,92(sp)                                             
40013bb0:   04912a23            sw  s1,84(sp)                                             
40013bb4:   05212823            sw  s2,80(sp)                                             
40013bb8:   05412423            sw  s4,72(sp)                                             
40013bbc:   05612023            sw  s6,64(sp)                                             
40013bc0:   03712e23            sw  s7,60(sp)                                             
40013bc4:   03812c23            sw  s8,56(sp)                                             
40013bc8:   03912a23            sw  s9,52(sp)                                             
40013bcc:   03a12823            sw  s10,48(sp)                                            
40013bd0:   00060993            mv  s3,a2                                                 
40013bd4:   00068a93            mv  s5,a3                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))                                   
40013bd8:   d34f60ef            jal ra,4000a10c <rtems_rfs_trace>                         
40013bdc:   36051863            bnez    a0,40013f4c <rtems_rfs_block_map_grow+0x3c4>      <== NEVER TAKEN
  if ((map->size.count + blocks) >= rtems_rfs_fs_max_block_map_blocks (fs))               
40013be0:   00842783            lw  a5,8(s0)                                              
40013be4:   03cda703            lw  a4,60(s11)                                            
    return EFBIG;                                                                         
40013be8:   01b00493            li  s1,27                                                 
  if ((map->size.count + blocks) >= rtems_rfs_fs_max_block_map_blocks (fs))               
40013bec:   00f987b3            add a5,s3,a5                                              
40013bf0:   28e7fc63            bgeu    a5,a4,40013e88 <rtems_rfs_block_map_grow+0x300>   
  for (b = 0; b < blocks; b++)                                                            
40013bf4:   36098863            beqz    s3,40013f64 <rtems_rfs_block_map_grow+0x3dc>      <== NEVER TAKEN
    rc = rtems_rfs_group_bitmap_alloc (fs, map->last_data_block,                          
40013bf8:   02042583            lw  a1,32(s0)                                             
  for (b = 0; b < blocks; b++)                                                            
40013bfc:   00000d13            li  s10,0                                                 
    if (map->size.count < RTEMS_RFS_INODE_BLOCKS)                                         
40013c00:   00400a13            li  s4,4                                                  
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);                    
40013c04:   00100913            li  s2,1                                                  
          rc = rtems_rfs_buffer_handle_request (fs,                                       
40013c08:   04440b93            addi    s7,s0,68                                          
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                  
40013c0c:   03840b13            addi    s6,s0,56                                          
40013c10:   03c0006f            j   40013c4c <rtems_rfs_block_map_grow+0xc4>              
      map->blocks[map->size.count] = block;                                               
40013c14:   01812583            lw  a1,24(sp)                                             
40013c18:   00870793            addi    a5,a4,8                                           
40013c1c:   00279793            slli    a5,a5,0x2                                         
40013c20:   00f407b3            add a5,s0,a5                                              
40013c24:   00b7a223            sw  a1,4(a5)                                              
    map->size.count++;                                                                    
40013c28:   00170713            addi    a4,a4,1                                           
40013c2c:   00e42423            sw  a4,8(s0)                                              
    map->size.offset = 0;                                                                 
40013c30:   00042623            sw  zero,12(s0)                                           
    if (b == 0)                                                                           
40013c34:   000d1463            bnez    s10,40013c3c <rtems_rfs_block_map_grow+0xb4>      <== NEVER TAKEN
      *new_block = block;                                                                 
40013c38:   00baa023            sw  a1,0(s5)                                              
    map->last_data_block = block;                                                         
40013c3c:   02b42023            sw  a1,32(s0)                                             
    map->dirty = true;                                                                    
40013c40:   01240023            sb  s2,0(s0)                                              
  for (b = 0; b < blocks; b++)                                                            
40013c44:   001d0d13            addi    s10,s10,1                                         
40013c48:   313d0e63            beq s10,s3,40013f64 <rtems_rfs_block_map_grow+0x3dc>      
    rc = rtems_rfs_group_bitmap_alloc (fs, map->last_data_block,                          
40013c4c:   01810693            addi    a3,sp,24                                          
40013c50:   00000613            li  a2,0                                                  
40013c54:   000d8513            mv  a0,s11                                                
40013c58:   94cf40ef            jal ra,40007da4 <rtems_rfs_group_bitmap_alloc>            
40013c5c:   00050493            mv  s1,a0                                                 
    if (rc > 0)                                                                           
40013c60:   22a04463            bgtz    a0,40013e88 <rtems_rfs_block_map_grow+0x300>      
    if (map->size.count < RTEMS_RFS_INODE_BLOCKS)                                         
40013c64:   00842703            lw  a4,8(s0)                                              
40013c68:   faea76e3            bgeu    s4,a4,40013c14 <rtems_rfs_block_map_grow+0x8c>    
      direct = map->size.count % fs->blocks_per_block;                                    
40013c6c:   034da883            lw  a7,52(s11)                                            
      if (map->size.count < fs->block_map_singly_blocks)                                  
40013c70:   038da683            lw  a3,56(s11)                                            
      direct = map->size.count % fs->blocks_per_block;                                    
40013c74:   03177c33            remu    s8,a4,a7                                          
      singly = map->size.count / fs->blocks_per_block;                                    
40013c78:   03175833            divu    a6,a4,a7                                          
      if (map->size.count < fs->block_map_singly_blocks)                                  
40013c7c:   0ad77263            bgeu    a4,a3,40013d20 <rtems_rfs_block_map_grow+0x198>   
        if ((direct == 0) ||                                                              
40013c80:   240c0463            beqz    s8,40013ec8 <rtems_rfs_block_map_grow+0x340>      
40013c84:   01177663            bgeu    a4,a7,40013c90 <rtems_rfs_block_map_grow+0x108>   
            ((singly == 0) && (direct == RTEMS_RFS_INODE_BLOCKS)))                        
40013c88:   00500793            li  a5,5                                                  
40013c8c:   22fc0e63            beq s8,a5,40013ec8 <rtems_rfs_block_map_grow+0x340>       
          rc = rtems_rfs_buffer_handle_request (fs,  &map->singly_buffer,                 
40013c90:   00880813            addi    a6,a6,8                                           
40013c94:   00281813            slli    a6,a6,0x2                                         
40013c98:   01040833            add a6,s0,a6                                              
40013c9c:   00482603            lw  a2,4(a6)                                              
40013ca0:   00100693            li  a3,1                                                  
40013ca4:   000b0593            mv  a1,s6                                                 
40013ca8:   000d8513            mv  a0,s11                                                
40013cac:   8d1f20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40013cb0:   00050493            mv  s1,a0                                                 
          if (rc > 0)                                                                     
40013cb4:   1c904263            bgtz    s1,40013e78 <rtems_rfs_block_map_grow+0x2f0>      <== NEVER TAKEN
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);                    
40013cb8:   04042703            lw  a4,64(s0)                                             
40013cbc:   01b14683            lbu a3,27(sp)                                             
40013cc0:   002c1793            slli    a5,s8,0x2                                         
40013cc4:   01c72703            lw  a4,28(a4)                                             
40013cc8:   00f70733            add a4,a4,a5                                              
40013ccc:   00d70023            sb  a3,0(a4)                                              
40013cd0:   04042703            lw  a4,64(s0)                                             
40013cd4:   01a15683            lhu a3,26(sp)                                             
40013cd8:   01c72703            lw  a4,28(a4)                                             
40013cdc:   00f70733            add a4,a4,a5                                              
40013ce0:   00d700a3            sb  a3,1(a4)                                              
40013ce4:   04042703            lw  a4,64(s0)                                             
40013ce8:   01812683            lw  a3,24(sp)                                             
40013cec:   01c72703            lw  a4,28(a4)                                             
40013cf0:   0086d693            srli    a3,a3,0x8                                         
40013cf4:   00f70733            add a4,a4,a5                                              
40013cf8:   00d70123            sb  a3,2(a4)                                              
40013cfc:   04042703            lw  a4,64(s0)                                             
40013d00:   01c72703            lw  a4,28(a4)                                             
40013d04:   00f707b3            add a5,a4,a5                                              
40013d08:   01812703            lw  a4,24(sp)                                             
40013d0c:   00e781a3            sb  a4,3(a5)                                              
    map->size.count++;                                                                    
40013d10:   00842703            lw  a4,8(s0)                                              
      *new_block = block;                                                                 
40013d14:   01812583            lw  a1,24(sp)                                             
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);                    
40013d18:   03240c23            sb  s2,56(s0)                                             
40013d1c:   f0dff06f            j   40013c28 <rtems_rfs_block_map_grow+0xa0>              
        singly %= fs->blocks_per_block;                                                   
40013d20:   01112423            sw  a7,8(sp)                                              
40013d24:   01012223            sw  a6,4(sp)                                              
        doubly  = singly / fs->blocks_per_block;                                          
40013d28:   03185333            divu    t1,a6,a7                                          
        singly %= fs->blocks_per_block;                                                   
40013d2c:   03187cb3            remu    s9,a6,a7                                          
        if (direct == 0)                                                                  
40013d30:   0c0c1663            bnez    s8,40013dfc <rtems_rfs_block_map_grow+0x274>      
          rc = rtems_rfs_block_map_indirect_alloc (fs, map,                               
40013d34:   00000713            li  a4,0                                                  
40013d38:   01c10693            addi    a3,sp,28                                          
40013d3c:   000b0613            mv  a2,s6                                                 
40013d40:   00040593            mv  a1,s0                                                 
40013d44:   000d8513            mv  a0,s11                                                
40013d48:   00612623            sw  t1,12(sp)                                             
40013d4c:   c2cff0ef            jal ra,40013178 <rtems_rfs_block_map_indirect_alloc>      
          if (rc > 0)                                                                     
40013d50:   00c12303            lw  t1,12(sp)                                             
40013d54:   00412803            lw  a6,4(sp)                                              
40013d58:   00812883            lw  a7,8(sp)                                              
          rc = rtems_rfs_block_map_indirect_alloc (fs, map,                               
40013d5c:   00050493            mv  s1,a0                                                 
          if (rc > 0)                                                                     
40013d60:   10a04c63            bgtz    a0,40013e78 <rtems_rfs_block_map_grow+0x2f0>      <== NEVER TAKEN
          if ((singly == 0) ||                                                            
40013d64:   180c8863            beqz    s9,40013ef4 <rtems_rfs_block_map_grow+0x36c>      <== NEVER TAKEN
40013d68:   01187663            bgeu    a6,a7,40013d74 <rtems_rfs_block_map_grow+0x1ec>   
              ((doubly == 0) && (singly == RTEMS_RFS_INODE_BLOCKS)))                      
40013d6c:   00500793            li  a5,5                                                  
40013d70:   18fc8263            beq s9,a5,40013ef4 <rtems_rfs_block_map_grow+0x36c>       
            rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,                
40013d74:   00830713            addi    a4,t1,8                                           
40013d78:   00271713            slli    a4,a4,0x2                                         
40013d7c:   00e40733            add a4,s0,a4                                              
40013d80:   00472603            lw  a2,4(a4)                                              
40013d84:   00100693            li  a3,1                                                  
40013d88:   000b8593            mv  a1,s7                                                 
40013d8c:   000d8513            mv  a0,s11                                                
40013d90:   fecf20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40013d94:   00050493            mv  s1,a0                                                 
            if (rc > 0)                                                                   
40013d98:   18a04863            bgtz    a0,40013f28 <rtems_rfs_block_map_grow+0x3a0>      <== NEVER TAKEN
          rtems_rfs_block_set_number (&map->doubly_buffer,                                
40013d9c:   04c42703            lw  a4,76(s0)                                             
40013da0:   01f14683            lbu a3,31(sp)                                             
40013da4:   002c9c93            slli    s9,s9,0x2                                         
40013da8:   01c72703            lw  a4,28(a4)                                             
40013dac:   01970733            add a4,a4,s9                                              
40013db0:   00d70023            sb  a3,0(a4)                                              
40013db4:   04c42703            lw  a4,76(s0)                                             
40013db8:   01e15683            lhu a3,30(sp)                                             
40013dbc:   01c72703            lw  a4,28(a4)                                             
40013dc0:   01970733            add a4,a4,s9                                              
40013dc4:   00d700a3            sb  a3,1(a4)                                              
40013dc8:   04c42703            lw  a4,76(s0)                                             
40013dcc:   01c12683            lw  a3,28(sp)                                             
40013dd0:   01c72703            lw  a4,28(a4)                                             
40013dd4:   0086d693            srli    a3,a3,0x8                                         
40013dd8:   01970733            add a4,a4,s9                                              
40013ddc:   00d70123            sb  a3,2(a4)                                              
40013de0:   04c42703            lw  a4,76(s0)                                             
40013de4:   01c72703            lw  a4,28(a4)                                             
40013de8:   01970cb3            add s9,a4,s9                                              
40013dec:   01c12703            lw  a4,28(sp)                                             
40013df0:   00ec81a3            sb  a4,3(s9)                                              
40013df4:   05240223            sb  s2,68(s0)                                             
40013df8:   ec1ff06f            j   40013cb8 <rtems_rfs_block_map_grow+0x130>             
          rc = rtems_rfs_buffer_handle_request (fs,                                       
40013dfc:   00830313            addi    t1,t1,8                                           
40013e00:   00231313            slli    t1,t1,0x2                                         
40013e04:   00640333            add t1,s0,t1                                              
40013e08:   00432603            lw  a2,4(t1)                                              
40013e0c:   00100693            li  a3,1                                                  
40013e10:   000b8593            mv  a1,s7                                                 
40013e14:   000d8513            mv  a0,s11                                                
40013e18:   f64f20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40013e1c:   00050493            mv  s1,a0                                                 
          if (rc > 0)                                                                     
40013e20:   04a04c63            bgtz    a0,40013e78 <rtems_rfs_block_map_grow+0x2f0>      <== NEVER TAKEN
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,                 
40013e24:   04c42703            lw  a4,76(s0)                                             
40013e28:   002c9c93            slli    s9,s9,0x2                                         
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                  
40013e2c:   00100693            li  a3,1                                                  
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,                 
40013e30:   01c72703            lw  a4,28(a4)                                             
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                  
40013e34:   000b0593            mv  a1,s6                                                 
40013e38:   000d8513            mv  a0,s11                                                
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,                 
40013e3c:   01970cb3            add s9,a4,s9                                              
40013e40:   000cc603            lbu a2,0(s9)                                              
40013e44:   003cc883            lbu a7,3(s9)                                              
40013e48:   001cc803            lbu a6,1(s9)                                              
40013e4c:   002cc703            lbu a4,2(s9)                                              
40013e50:   01861613            slli    a2,a2,0x18                                        
40013e54:   01166633            or  a2,a2,a7                                              
40013e58:   01081813            slli    a6,a6,0x10                                        
40013e5c:   01066633            or  a2,a2,a6                                              
40013e60:   00871713            slli    a4,a4,0x8                                         
40013e64:   00e66633            or  a2,a2,a4                                              
40013e68:   00c12e23            sw  a2,28(sp)                                             
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                  
40013e6c:   f10f20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40013e70:   00050493            mv  s1,a0                                                 
          if (rc > 0)                                                                     
40013e74:   e49052e3            blez    s1,40013cb8 <rtems_rfs_block_map_grow+0x130>      <== ALWAYS TAKEN
            rtems_rfs_group_bitmap_free (fs, false, block);                               
40013e78:   01812603            lw  a2,24(sp)                                             <== NOT EXECUTED
40013e7c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40013e80:   000d8513            mv  a0,s11                                                <== NOT EXECUTED
40013e84:   9a4f40ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             <== NOT EXECUTED
}                                                                                         
40013e88:   05c12083            lw  ra,92(sp)                                             
40013e8c:   05812403            lw  s0,88(sp)                                             
40013e90:   05012903            lw  s2,80(sp)                                             
40013e94:   04c12983            lw  s3,76(sp)                                             
40013e98:   04812a03            lw  s4,72(sp)                                             
40013e9c:   04412a83            lw  s5,68(sp)                                             
40013ea0:   04012b03            lw  s6,64(sp)                                             
40013ea4:   03c12b83            lw  s7,60(sp)                                             
40013ea8:   03812c03            lw  s8,56(sp)                                             
40013eac:   03412c83            lw  s9,52(sp)                                             
40013eb0:   03012d03            lw  s10,48(sp)                                            
40013eb4:   02c12d83            lw  s11,44(sp)                                            
40013eb8:   00048513            mv  a0,s1                                                 
40013ebc:   05412483            lw  s1,84(sp)                                             
40013ec0:   06010113            addi    sp,sp,96                                          
40013ec4:   00008067            ret                                                       
                                                   &map->blocks[singly],                  
40013ec8:   00980693            addi    a3,a6,9                                           
          upping = map->size.count == RTEMS_RFS_INODE_BLOCKS;                             
40013ecc:   ffb70713            addi    a4,a4,-5                                          
                                                   &map->blocks[singly],                  
40013ed0:   00269693            slli    a3,a3,0x2                                         
          rc = rtems_rfs_block_map_indirect_alloc (fs, map,                               
40013ed4:   00173713            seqz    a4,a4                                             
40013ed8:   00d406b3            add a3,s0,a3                                              
40013edc:   000b0613            mv  a2,s6                                                 
40013ee0:   00040593            mv  a1,s0                                                 
40013ee4:   000d8513            mv  a0,s11                                                
40013ee8:   a90ff0ef            jal ra,40013178 <rtems_rfs_block_map_indirect_alloc>      
40013eec:   00050493            mv  s1,a0                                                 
        {                                                                                 
40013ef0:   dc5ff06f            j   40013cb4 <rtems_rfs_block_map_grow+0x12c>             
            upping = map->size.count == fs->block_map_singly_blocks;                      
40013ef4:   038da603            lw  a2,56(s11)                                            
40013ef8:   00842703            lw  a4,8(s0)                                              
                                                     &map->blocks[doubly],                
40013efc:   00930693            addi    a3,t1,9                                           
40013f00:   00269693            slli    a3,a3,0x2                                         
            upping = map->size.count == fs->block_map_singly_blocks;                      
40013f04:   40c70733            sub a4,a4,a2                                              
            rc = rtems_rfs_block_map_indirect_alloc (fs, map,                             
40013f08:   00173713            seqz    a4,a4                                             
40013f0c:   00d406b3            add a3,s0,a3                                              
40013f10:   000b8613            mv  a2,s7                                                 
40013f14:   00040593            mv  a1,s0                                                 
40013f18:   000d8513            mv  a0,s11                                                
40013f1c:   a5cff0ef            jal ra,40013178 <rtems_rfs_block_map_indirect_alloc>      
40013f20:   00050493            mv  s1,a0                                                 
            if (rc > 0)                                                                   
40013f24:   e6a05ce3            blez    a0,40013d9c <rtems_rfs_block_map_grow+0x214>      <== ALWAYS TAKEN
              rtems_rfs_group_bitmap_free (fs, false, singly_block);                      
40013f28:   01c12603            lw  a2,28(sp)                                             <== NOT EXECUTED
40013f2c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40013f30:   000d8513            mv  a0,s11                                                <== NOT EXECUTED
40013f34:   8f4f40ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             <== NOT EXECUTED
              rtems_rfs_group_bitmap_free (fs, false, block);                             
40013f38:   01812603            lw  a2,24(sp)                                             <== NOT EXECUTED
40013f3c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40013f40:   000d8513            mv  a0,s11                                                <== NOT EXECUTED
40013f44:   8e4f40ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             <== NOT EXECUTED
              return rc;                                                                  
40013f48:   f41ff06f            j   40013e88 <rtems_rfs_block_map_grow+0x300>             <== NOT EXECUTED
    printf ("rtems-rfs: block-map-grow: entry: blocks=%zd count=%" PRIu32 "\n",           
40013f4c:   00842603            lw  a2,8(s0)                                              <== NOT EXECUTED
40013f50:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40013f54:   00098593            mv  a1,s3                                                 <== NOT EXECUTED
40013f58:   e9050513            addi    a0,a0,-368 # 40022e90 <IMFS_LIMITS_AND_OPTIONS+0xb0><== NOT EXECUTED
40013f5c:   a9ded0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40013f60:   c81ff06f            j   40013be0 <rtems_rfs_block_map_grow+0x58>              <== NOT EXECUTED
  return 0;                                                                               
40013f64:   00000493            li  s1,0                                                  
40013f68:   f21ff06f            j   40013e88 <rtems_rfs_block_map_grow+0x300>             
                                                                                          

40013578 <rtems_rfs_block_map_open>: {
40013578:   fe010113            addi    sp,sp,-32                                         
4001357c:   00812c23            sw  s0,24(sp)                                             
40013580:   00912a23            sw  s1,20(sp)                                             
40013584:   01212823            sw  s2,16(sp)                                             
40013588:   00112e23            sw  ra,28(sp)                                             
4001358c:   01312623            sw  s3,12(sp)                                             
  map->dirty = false;                                                                     
40013590:   00060023            sb  zero,0(a2)                                            
  map->inode = NULL;                                                                      
40013594:   00062223            sw  zero,4(a2)                                            
 * @param[in] size is a pointer to the block size.                                        
 */                                                                                       
static inline void                                                                        
rtems_rfs_block_set_size_zero (rtems_rfs_block_size* size)                                
{                                                                                         
  size->count = 0;                                                                        
40013598:   00062423            sw  zero,8(a2)                                            
  size->offset = 0;                                                                       
4001359c:   00062623            sw  zero,12(a2)                                           
  bpos->bno = 0;                                                                          
400135a0:   00062823            sw  zero,16(a2)                                           
  bpos->boff = 0;                                                                         
400135a4:   00062a23            sw  zero,20(a2)                                           
  bpos->block = 0;                                                                        
400135a8:   00062c23            sw  zero,24(a2)                                           
  handle->dirty = false;                                                                  
400135ac:   02060c23            sb  zero,56(a2)                                           
  handle->bnum  = 0;                                                                      
400135b0:   02062e23            sw  zero,60(a2)                                           
  handle->buffer = NULL;                                                                  
400135b4:   04062023            sw  zero,64(a2)                                           
  handle->dirty = false;                                                                  
400135b8:   04060223            sb  zero,68(a2)                                           
  handle->bnum  = 0;                                                                      
400135bc:   04062423            sw  zero,72(a2)                                           
  handle->buffer = NULL;                                                                  
400135c0:   04062623            sw  zero,76(a2)                                           
{                                                                                         
400135c4:   00060413            mv  s0,a2                                                 
400135c8:   00050913            mv  s2,a0                                                 
400135cc:   00058493            mv  s1,a1                                                 
  rc = rtems_rfs_inode_load (fs, inode);                                                  
400135d0:   bf1f40ef            jal ra,400081c0 <rtems_rfs_inode_load>                    
  if (rc > 0)                                                                             
400135d4:   12a04263            bgtz    a0,400136f8 <rtems_rfs_block_map_open+0x180>      <== NEVER TAKEN
  map->inode = inode;                                                                     
400135d8:   00c4a803            lw  a6,12(s1)                                             
400135dc:   02440893            addi    a7,s0,36                                          
400135e0:   00942223            sw  s1,4(s0)                                              
  for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                                            
400135e4:   01c80713            addi    a4,a6,28                                          
400135e8:   03080593            addi    a1,a6,48                                          
  return rtems_rfs_read_u32 (&handle->node->data.blocks[block]);                          
400135ec:   00074783            lbu a5,0(a4)                                              
400135f0:   00174603            lbu a2,1(a4)                                              
400135f4:   00374303            lbu t1,3(a4)                                              
400135f8:   00274683            lbu a3,2(a4)                                              
400135fc:   01879793            slli    a5,a5,0x18                                        
40013600:   01061613            slli    a2,a2,0x10                                        
40013604:   00c7e7b3            or  a5,a5,a2                                              
40013608:   0067e7b3            or  a5,a5,t1                                              
4001360c:   00869693            slli    a3,a3,0x8                                         
40013610:   00d7e7b3            or  a5,a5,a3                                              
    map->blocks[b] = rtems_rfs_inode_get_block (inode, b);                                
40013614:   00f8a023            sw  a5,0(a7) # f000 <bsp_section_bss_size+0x9a50>         
  for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                                            
40013618:   00470713            addi    a4,a4,4                                           
4001361c:   00488893            addi    a7,a7,4                                           
40013620:   fcb716e3            bne a4,a1,400135ec <rtems_rfs_block_map_open+0x74>        
  return rtems_rfs_read_u32 (&handle->node->block_count);                                 
40013624:   00c84783            lbu a5,12(a6)                                             
40013628:   00d84683            lbu a3,13(a6)                                             
4001362c:   00f84603            lbu a2,15(a6)                                             
40013630:   00e84703            lbu a4,14(a6)                                             
40013634:   01069693            slli    a3,a3,0x10                                        
40013638:   01879793            slli    a5,a5,0x18                                        
4001363c:   00d7e7b3            or  a5,a5,a3                                              
40013640:   00c7e7b3            or  a5,a5,a2                                              
40013644:   00871713            slli    a4,a4,0x8                                         
40013648:   00e7e7b3            or  a5,a5,a4                                              
  map->size.count = rtems_rfs_inode_get_block_count (inode);                              
4001364c:   00f42423            sw  a5,8(s0)                                              
  map->size.offset = rtems_rfs_inode_get_block_offset (inode);                            
40013650:   00b84783            lbu a5,11(a6)                                             
40013654:   00a84703            lbu a4,10(a6)                                             
}                                                                                         
40013658:   01c12083            lw  ra,28(sp)                                             
  map->size.offset = rtems_rfs_inode_get_block_offset (inode);                            
4001365c:   00879793            slli    a5,a5,0x8                                         
40013660:   00e7e7b3            or  a5,a5,a4                                              
40013664:   00879713            slli    a4,a5,0x8                                         
40013668:   0087d793            srli    a5,a5,0x8                                         
4001366c:   00f767b3            or  a5,a4,a5                                              
40013670:   01079793            slli    a5,a5,0x10                                        
40013674:   0107d793            srli    a5,a5,0x10                                        
40013678:   00f42623            sw  a5,12(s0)                                             
  return rtems_rfs_read_u32 (&handle->node->last_map_block);                              
4001367c:   03084783            lbu a5,48(a6)                                             
40013680:   03184683            lbu a3,49(a6)                                             
40013684:   03384583            lbu a1,51(a6)                                             
40013688:   03284703            lbu a4,50(a6)                                             
4001368c:   01069693            slli    a3,a3,0x10                                        
40013690:   01879793            slli    a5,a5,0x18                                        
40013694:   00d7e7b3            or  a5,a5,a3                                              
40013698:   00b7e7b3            or  a5,a5,a1                                              
4001369c:   00871713            slli    a4,a4,0x8                                         
400136a0:   00e7e7b3            or  a5,a5,a4                                              
  map->last_map_block = rtems_rfs_inode_get_last_map_block (inode);                       
400136a4:   00f42e23            sw  a5,28(s0)                                             
  return rtems_rfs_read_u32 (&handle->node->last_data_block);                             
400136a8:   03484783            lbu a5,52(a6)                                             
400136ac:   03584683            lbu a3,53(a6)                                             
400136b0:   03784583            lbu a1,55(a6)                                             
400136b4:   03684703            lbu a4,54(a6)                                             
400136b8:   01879793            slli    a5,a5,0x18                                        
400136bc:   01069693            slli    a3,a3,0x10                                        
400136c0:   00d7e7b3            or  a5,a5,a3                                              
400136c4:   00b7e7b3            or  a5,a5,a1                                              
400136c8:   00871713            slli    a4,a4,0x8                                         
400136cc:   00e7e7b3            or  a5,a5,a4                                              
  map->last_data_block = rtems_rfs_inode_get_last_data_block (inode);                     
400136d0:   02f42023            sw  a5,32(s0)                                             
}                                                                                         
400136d4:   01812403            lw  s0,24(sp)                                             
400136d8:   00c12983            lw  s3,12(sp)                                             
  rc = rtems_rfs_inode_unload (fs, inode, false);                                         
400136dc:   00048593            mv  a1,s1                                                 
400136e0:   00090513            mv  a0,s2                                                 
}                                                                                         
400136e4:   01412483            lw  s1,20(sp)                                             
400136e8:   01012903            lw  s2,16(sp)                                             
  rc = rtems_rfs_inode_unload (fs, inode, false);                                         
400136ec:   00000613            li  a2,0                                                  
}                                                                                         
400136f0:   02010113            addi    sp,sp,32                                          
  rc = rtems_rfs_inode_unload (fs, inode, false);                                         
400136f4:   ca9f406f            j   4000839c <rtems_rfs_inode_unload>                     
  rtems_rfs_buffer_handle_release (fs, handle);                                           
400136f8:   00050993            mv  s3,a0                                                 <== NOT EXECUTED
400136fc:   03840593            addi    a1,s0,56                                          <== NOT EXECUTED
40013700:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40013704:   910f30ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
40013708:   04440593            addi    a1,s0,68                                          <== NOT EXECUTED
  handle->dirty = false;                                                                  
4001370c:   02040c23            sb  zero,56(s0)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40013710:   02042e23            sw  zero,60(s0)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40013714:   04042023            sw  zero,64(s0)                                           <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40013718:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
4001371c:   8f8f30ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
}                                                                                         
40013720:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
  handle->dirty = false;                                                                  
40013724:   04040223            sb  zero,68(s0)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40013728:   04042423            sw  zero,72(s0)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
4001372c:   04042623            sw  zero,76(s0)                                           <== NOT EXECUTED
40013730:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
40013734:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
40013738:   01012903            lw  s2,16(sp)                                             <== NOT EXECUTED
4001373c:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40013740:   00c12983            lw  s3,12(sp)                                             <== NOT EXECUTED
40013744:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
40013748:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

40013f6c <rtems_rfs_block_map_shrink>: int rtems_rfs_block_map_shrink (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, size_t blocks) {
40013f6c:   fb010113            addi    sp,sp,-80                                         
40013f70:   03812423            sw  s8,40(sp)                                             
40013f74:   03912223            sw  s9,36(sp)                                             
40013f78:   00058c13            mv  s8,a1                                                 
40013f7c:   00050c93            mv  s9,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_SHRINK))                                 
40013f80:   00000593            li  a1,0                                                  
40013f84:   00004537            lui a0,0x4                                                
{                                                                                         
40013f88:   04912223            sw  s1,68(sp)                                             
40013f8c:   04112623            sw  ra,76(sp)                                             
40013f90:   04812423            sw  s0,72(sp)                                             
40013f94:   05212023            sw  s2,64(sp)                                             
40013f98:   03312e23            sw  s3,60(sp)                                             
40013f9c:   03412c23            sw  s4,56(sp)                                             
40013fa0:   03512a23            sw  s5,52(sp)                                             
40013fa4:   03612823            sw  s6,48(sp)                                             
40013fa8:   03712623            sw  s7,44(sp)                                             
40013fac:   03a12023            sw  s10,32(sp)                                            
40013fb0:   01b12e23            sw  s11,28(sp)                                            
40013fb4:   00060493            mv  s1,a2                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_SHRINK))                                 
40013fb8:   954f60ef            jal ra,4000a10c <rtems_rfs_trace>                         
40013fbc:   28051a63            bnez    a0,40014250 <rtems_rfs_block_map_shrink+0x2e4>    <== NEVER TAKEN
    printf ("rtems-rfs: block-map-shrink: entry: blocks=%zd count=%" PRIu32 "\n",         
            blocks, map->size.count);                                                     
                                                                                          
  if (map->size.count == 0)                                                               
40013fc0:   008c2783            lw  a5,8(s8)                                              
40013fc4:   26078e63            beqz    a5,40014240 <rtems_rfs_block_map_shrink+0x2d4>    
    return 0;                                                                             
                                                                                          
  if (blocks > map->size.count)                                                           
40013fc8:   00078413            mv  s0,a5                                                 
40013fcc:   26f4ee63            bltu    s1,a5,40014248 <rtems_rfs_block_map_shrink+0x2dc> 
    blocks = map->size.count;                                                             
                                                                                          
  while (blocks)                                                                          
40013fd0:   28040c63            beqz    s0,40014268 <rtems_rfs_block_map_shrink+0x2fc>    <== NEVER TAKEN
        rtems_rfs_block_no doubly_singly;                                                 
                                                                                          
        doubly        = singly / fs->blocks_per_block;                                    
        doubly_singly = singly % fs->blocks_per_block;                                    
                                                                                          
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,                    
40013fd4:   044c0713            addi    a4,s8,68                                          
    if (block < RTEMS_RFS_INODE_BLOCKS)                                                   
40013fd8:   00400493            li  s1,4                                                  
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,                    
40013fdc:   00e12623            sw  a4,12(sp)                                             
                                             doubly_singly);                              
                                                                                          
        /*                                                                                
         * Read the singly indirect table and get the block number.                       
         */                                                                               
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                    
40013fe0:   038c0913            addi    s2,s8,56                                          
40013fe4:   04c0006f            j   40014030 <rtems_rfs_block_map_shrink+0xc4>            
      block_to_free = map->blocks[block];                                                 
40013fe8:   00279793            slli    a5,a5,0x2                                         
40013fec:   00fc07b3            add a5,s8,a5                                              
40013ff0:   0207ad03            lw  s10,32(a5)                                            
      map->blocks[block] = 0;                                                             
40013ff4:   0207a023            sw  zero,32(a5)                                           
      {                                                                                   
        rc = EIO;                                                                         
        break;                                                                            
      }                                                                                   
    }                                                                                     
    rc = rtems_rfs_group_bitmap_free (fs, false, block_to_free);                          
40013ff8:   000d0613            mv  a2,s10                                                
40013ffc:   00000593            li  a1,0                                                  
40014000:   000c8513            mv  a0,s9                                                 
40014004:   824f40ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             
    if (rc > 0)                                                                           
40014008:   14a04463            bgtz    a0,40014150 <rtems_rfs_block_map_shrink+0x1e4>    <== NEVER TAKEN
      return rc;                                                                          
    map->size.count--;                                                                    
4001400c:   008c2783            lw  a5,8(s8)                                              
    map->size.offset = 0;                                                                 
    map->last_data_block = block_to_free;                                                 
    map->dirty = true;                                                                    
40014010:   00100713            li  a4,1                                                  
    map->size.offset = 0;                                                                 
40014014:   000c2623            sw  zero,12(s8)                                           
    map->size.count--;                                                                    
40014018:   fff78793            addi    a5,a5,-1                                          
4001401c:   00fc2423            sw  a5,8(s8)                                              
    map->last_data_block = block_to_free;                                                 
40014020:   03ac2023            sw  s10,32(s8)                                            
    map->dirty = true;                                                                    
40014024:   00ec0023            sb  a4,0(s8)                                              
    blocks--;                                                                             
40014028:   fff40413            addi    s0,s0,-1                                          
  while (blocks)                                                                          
4001402c:   1e040663            beqz    s0,40014218 <rtems_rfs_block_map_shrink+0x2ac>    
    block = map->size.count - 1;                                                          
40014030:   fff78b13            addi    s6,a5,-1                                          
    if (block < RTEMS_RFS_INODE_BLOCKS)                                                   
40014034:   fb64fae3            bgeu    s1,s6,40013fe8 <rtems_rfs_block_map_shrink+0x7c>  
      direct = block % fs->blocks_per_block;                                              
40014038:   034caa03            lw  s4,52(s9)                                             
      if (block < fs->block_map_singly_blocks)                                            
4001403c:   038ca683            lw  a3,56(s9)                                             
      direct = block % fs->blocks_per_block;                                              
40014040:   034b79b3            remu    s3,s6,s4                                          
      singly = block / fs->blocks_per_block;                                              
40014044:   034b5ab3            divu    s5,s6,s4                                          
      if (block < fs->block_map_singly_blocks)                                            
40014048:   14db6263            bltu    s6,a3,4001418c <rtems_rfs_block_map_shrink+0x220> 
      else if (block < fs->block_map_doubly_blocks)                                       
4001404c:   03cca683            lw  a3,60(s9)                                             <== NOT EXECUTED
40014050:   1cdb7463            bgeu    s6,a3,40014218 <rtems_rfs_block_map_shrink+0x2ac> <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,                    
40014054:   00c12583            lw  a1,12(sp)                                             <== NOT EXECUTED
40014058:   00100693            li  a3,1                                                  <== NOT EXECUTED
4001405c:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
        doubly        = singly / fs->blocks_per_block;                                    
40014060:   034adbb3            divu    s7,s5,s4                                          <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,                    
40014064:   008b8793            addi    a5,s7,8                                           <== NOT EXECUTED
40014068:   00279793            slli    a5,a5,0x2                                         <== NOT EXECUTED
4001406c:   00fc07b3            add a5,s8,a5                                              <== NOT EXECUTED
40014070:   0047a603            lw  a2,4(a5)                                              <== NOT EXECUTED
        doubly_singly = singly % fs->blocks_per_block;                                    
40014074:   034afb33            remu    s6,s5,s4                                          <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,                    
40014078:   d04f20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         <== NOT EXECUTED
        if (rc > 0)                                                                       
4001407c:   0ca04a63            bgtz    a0,40014150 <rtems_rfs_block_map_shrink+0x1e4>    <== NOT EXECUTED
        singly = rtems_rfs_block_get_number (&map->doubly_buffer,                         
40014080:   04cc2603            lw  a2,76(s8)                                             <== NOT EXECUTED
40014084:   002b1793            slli    a5,s6,0x2                                         <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                    
40014088:   00100693            li  a3,1                                                  <== NOT EXECUTED
        singly = rtems_rfs_block_get_number (&map->doubly_buffer,                         
4001408c:   01c62603            lw  a2,28(a2)                                             <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                    
40014090:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40014094:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
        singly = rtems_rfs_block_get_number (&map->doubly_buffer,                         
40014098:   00f607b3            add a5,a2,a5                                              <== NOT EXECUTED
4001409c:   0007cd83            lbu s11,0(a5)                                             <== NOT EXECUTED
400140a0:   0037c303            lbu t1,3(a5)                                              <== NOT EXECUTED
400140a4:   0017c883            lbu a7,1(a5)                                              <== NOT EXECUTED
400140a8:   0027c603            lbu a2,2(a5)                                              <== NOT EXECUTED
400140ac:   018d9d93            slli    s11,s11,0x18                                      <== NOT EXECUTED
400140b0:   006dedb3            or  s11,s11,t1                                            <== NOT EXECUTED
400140b4:   01089793            slli    a5,a7,0x10                                        <== NOT EXECUTED
400140b8:   00861613            slli    a2,a2,0x8                                         <== NOT EXECUTED
400140bc:   00fdedb3            or  s11,s11,a5                                            <== NOT EXECUTED
400140c0:   00cdedb3            or  s11,s11,a2                                            <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                    
400140c4:   000d8613            mv  a2,s11                                                <== NOT EXECUTED
400140c8:   cb4f20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         <== NOT EXECUTED
        if (rc > 0)                                                                       
400140cc:   08a04263            bgtz    a0,40014150 <rtems_rfs_block_map_shrink+0x1e4>    <== NOT EXECUTED
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,                  
400140d0:   040c2783            lw  a5,64(s8)                                             <== NOT EXECUTED
400140d4:   00299693            slli    a3,s3,0x2                                         <== NOT EXECUTED
400140d8:   01c7a783            lw  a5,28(a5)                                             <== NOT EXECUTED
400140dc:   00d787b3            add a5,a5,a3                                              <== NOT EXECUTED
400140e0:   0007cd03            lbu s10,0(a5)                                             <== NOT EXECUTED
400140e4:   0037c603            lbu a2,3(a5)                                              <== NOT EXECUTED
400140e8:   0017c683            lbu a3,1(a5)                                              <== NOT EXECUTED
400140ec:   0027c783            lbu a5,2(a5)                                              <== NOT EXECUTED
400140f0:   018d1d13            slli    s10,s10,0x18                                      <== NOT EXECUTED
400140f4:   00cd6d33            or  s10,s10,a2                                            <== NOT EXECUTED
400140f8:   01069693            slli    a3,a3,0x10                                        <== NOT EXECUTED
400140fc:   00dd6d33            or  s10,s10,a3                                            <== NOT EXECUTED
40014100:   00879793            slli    a5,a5,0x8                                         <== NOT EXECUTED
40014104:   00fd6d33            or  s10,s10,a5                                            <== NOT EXECUTED
        if (direct == 0)                                                                  
40014108:   ee0998e3            bnez    s3,40013ff8 <rtems_rfs_block_map_shrink+0x8c>     <== NOT EXECUTED
          rc = rtems_rfs_group_bitmap_free (fs, false, singly);                           
4001410c:   000d8613            mv  a2,s11                                                <== NOT EXECUTED
40014110:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014114:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
40014118:   f11f30ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             <== NOT EXECUTED
          if (rc > 0)                                                                     
4001411c:   02a04a63            bgtz    a0,40014150 <rtems_rfs_block_map_shrink+0x1e4>    <== NOT EXECUTED
          map->last_map_block = singly;                                                   
40014120:   01bc2e23            sw  s11,28(s8)                                            <== NOT EXECUTED
  if ((index == 0) ||                                                                     
40014124:   000b0863            beqz    s6,40014134 <rtems_rfs_block_map_shrink+0x1c8>    <== NOT EXECUTED
40014128:   ed4af8e3            bgeu    s5,s4,40013ff8 <rtems_rfs_block_map_shrink+0x8c>  <== NOT EXECUTED
      ((indirect == 0) && (index == RTEMS_RFS_INODE_BLOCKS)))                             
4001412c:   00500793            li  a5,5                                                  <== NOT EXECUTED
40014130:   ecfb14e3            bne s6,a5,40013ff8 <rtems_rfs_block_map_shrink+0x8c>      <== NOT EXECUTED
40014134:   00c12603            lw  a2,12(sp)                                             <== NOT EXECUTED
40014138:   000b0713            mv  a4,s6                                                 <== NOT EXECUTED
4001413c:   000b8693            mv  a3,s7                                                 <== NOT EXECUTED
40014140:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
40014144:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
40014148:   9b4ff0ef            jal ra,400132fc <rtems_rfs_block_map_indirect_shrink.part.0><== NOT EXECUTED
          if (rc)                                                                         
4001414c:   ea0506e3            beqz    a0,40013ff8 <rtems_rfs_block_map_shrink+0x8c>     <== NOT EXECUTED
   */                                                                                     
  if (rtems_rfs_block_pos_past_end (&map->bpos, &map->size))                              
    rtems_rfs_block_size_get_bpos (&map->size, &map->bpos);                               
                                                                                          
  return 0;                                                                               
}                                                                                         
40014150:   04c12083            lw  ra,76(sp)                                             
40014154:   04812403            lw  s0,72(sp)                                             
40014158:   04412483            lw  s1,68(sp)                                             
4001415c:   04012903            lw  s2,64(sp)                                             
40014160:   03c12983            lw  s3,60(sp)                                             
40014164:   03812a03            lw  s4,56(sp)                                             
40014168:   03412a83            lw  s5,52(sp)                                             
4001416c:   03012b03            lw  s6,48(sp)                                             
40014170:   02c12b83            lw  s7,44(sp)                                             
40014174:   02812c03            lw  s8,40(sp)                                             
40014178:   02412c83            lw  s9,36(sp)                                             
4001417c:   02012d03            lw  s10,32(sp)                                            
40014180:   01c12d83            lw  s11,28(sp)                                            
40014184:   05010113            addi    sp,sp,80                                          
40014188:   00008067            ret                                                       
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,                    
4001418c:   008a8793            addi    a5,s5,8                                           
40014190:   00279793            slli    a5,a5,0x2                                         
40014194:   00fc07b3            add a5,s8,a5                                              
40014198:   0047a603            lw  a2,4(a5)                                              
4001419c:   00100693            li  a3,1                                                  
400141a0:   00090593            mv  a1,s2                                                 
400141a4:   000c8513            mv  a0,s9                                                 
400141a8:   bd4f20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
        if (rc > 0)                                                                       
400141ac:   faa042e3            bgtz    a0,40014150 <rtems_rfs_block_map_shrink+0x1e4>    <== NEVER TAKEN
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,                  
400141b0:   040c2683            lw  a3,64(s8)                                             
400141b4:   00299793            slli    a5,s3,0x2                                         
400141b8:   01c6a683            lw  a3,28(a3)                                             
400141bc:   00f687b3            add a5,a3,a5                                              
400141c0:   0007cd03            lbu s10,0(a5)                                             
400141c4:   0037c603            lbu a2,3(a5)                                              
400141c8:   0017c683            lbu a3,1(a5)                                              
400141cc:   0027c783            lbu a5,2(a5)                                              
400141d0:   018d1d13            slli    s10,s10,0x18                                      
400141d4:   00cd6d33            or  s10,s10,a2                                            
400141d8:   01069693            slli    a3,a3,0x10                                        
400141dc:   00dd6d33            or  s10,s10,a3                                            
400141e0:   00879793            slli    a5,a5,0x8                                         
400141e4:   00fd6d33            or  s10,s10,a5                                            
  if ((index == 0) ||                                                                     
400141e8:   00098863            beqz    s3,400141f8 <rtems_rfs_block_map_shrink+0x28c>    <== NEVER TAKEN
400141ec:   e14b76e3            bgeu    s6,s4,40013ff8 <rtems_rfs_block_map_shrink+0x8c>  
      ((indirect == 0) && (index == RTEMS_RFS_INODE_BLOCKS)))                             
400141f0:   00500793            li  a5,5                                                  
400141f4:   e0f992e3            bne s3,a5,40013ff8 <rtems_rfs_block_map_shrink+0x8c>      
400141f8:   00098713            mv  a4,s3                                                 
400141fc:   000a8693            mv  a3,s5                                                 
40014200:   00090613            mv  a2,s2                                                 
40014204:   000c0593            mv  a1,s8                                                 
40014208:   000c8513            mv  a0,s9                                                 
4001420c:   8f0ff0ef            jal ra,400132fc <rtems_rfs_block_map_indirect_shrink.part.0>
        if (rc)                                                                           
40014210:   de0504e3            beqz    a0,40013ff8 <rtems_rfs_block_map_shrink+0x8c>     <== ALWAYS TAKEN
40014214:   f3dff06f            j   40014150 <rtems_rfs_block_map_shrink+0x1e4>           <== NOT EXECUTED
  if (map->size.count == 0)                                                               
40014218:   04079863            bnez    a5,40014268 <rtems_rfs_block_map_shrink+0x2fc>    
    rtems_rfs_block_size_get_bpos (&map->size, &map->bpos);                               
4001421c:   00cc2703            lw  a4,12(s8)                                             
    map->last_map_block = 0;                                                              
40014220:   000c2e23            sw  zero,28(s8)                                           
    map->last_data_block = 0;                                                             
40014224:   020c2023            sw  zero,32(s8)                                           
    rtems_rfs_block_size_get_bpos (&map->size, &map->bpos);                               
40014228:   00fc2823            sw  a5,16(s8)                                             
4001422c:   00ec2a23            sw  a4,20(s8)                                             
40014230:   000c2c23            sw  zero,24(s8)                                           
40014234:   00070663            beqz    a4,40014240 <rtems_rfs_block_map_shrink+0x2d4>    <== ALWAYS TAKEN
40014238:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
4001423c:   00fc2823            sw  a5,16(s8)                                             <== NOT EXECUTED
  return 0;                                                                               
40014240:   00000513            li  a0,0                                                  
40014244:   f0dff06f            j   40014150 <rtems_rfs_block_map_shrink+0x1e4>           
40014248:   00048413            mv  s0,s1                                                 
4001424c:   d85ff06f            j   40013fd0 <rtems_rfs_block_map_shrink+0x64>            
    printf ("rtems-rfs: block-map-shrink: entry: blocks=%zd count=%" PRIu32 "\n",         
40014250:   008c2603            lw  a2,8(s8)                                              <== NOT EXECUTED
40014254:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014258:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
4001425c:   ec850513            addi    a0,a0,-312 # 40022ec8 <IMFS_LIMITS_AND_OPTIONS+0xe8><== NOT EXECUTED
40014260:   f98ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014264:   d5dff06f            j   40013fc0 <rtems_rfs_block_map_shrink+0x54>            <== NOT EXECUTED
  if (rtems_rfs_block_pos_past_end (&map->bpos, &map->size))                              
40014268:   010c2703            lw  a4,16(s8)                                             
4001426c:   02f77063            bgeu    a4,a5,4001428c <rtems_rfs_block_map_shrink+0x320> 
40014270:   fff78693            addi    a3,a5,-1                                          
40014274:   fce696e3            bne a3,a4,40014240 <rtems_rfs_block_map_shrink+0x2d4>     
40014278:   00cc2703            lw  a4,12(s8)                                             
4001427c:   014c2683            lw  a3,20(s8)                                             
40014280:   fad764e3            bltu    a4,a3,40014228 <rtems_rfs_block_map_shrink+0x2bc> 
  return 0;                                                                               
40014284:   00000513            li  a0,0                                                  <== NOT EXECUTED
40014288:   ec9ff06f            j   40014150 <rtems_rfs_block_map_shrink+0x1e4>           <== NOT EXECUTED
    rtems_rfs_block_size_get_bpos (&map->size, &map->bpos);                               
4001428c:   00cc2703            lw  a4,12(s8)                                             <== NOT EXECUTED
40014290:   f99ff06f            j   40014228 <rtems_rfs_block_map_shrink+0x2bc>           <== NOT EXECUTED
                                                                                          

400142f4 <rtems_rfs_buffer_bdbuf_release>: int rtems_rfs_buffer_bdbuf_release (rtems_rfs_buffer* buffer, bool modified) {
400142f4:   ff010113            addi    sp,sp,-16                                         
400142f8:   00812423            sw  s0,8(sp)                                              
400142fc:   00912223            sw  s1,4(sp)                                              
40014300:   00050413            mv  s0,a0                                                 
40014304:   00058493            mv  s1,a1                                                 
  rtems_status_code sc;                                                                   
  int               rc = 0;                                                               
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))                                   
40014308:   04000513            li  a0,64                                                 
4001430c:   00000593            li  a1,0                                                  
{                                                                                         
40014310:   00112623            sw  ra,12(sp)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))                                   
40014314:   df9f50ef            jal ra,4000a10c <rtems_rfs_trace>                         
40014318:   02050263            beqz    a0,4001433c <rtems_rfs_buffer_bdbuf_release+0x48> <== ALWAYS TAKEN
    printf ("rtems-rfs: bdbuf-release: block=%" PRIuPTR " bdbuf=%" PRIu32 " %s\n",        
4001431c:   03442583            lw  a1,52(s0)                                             <== NOT EXECUTED
40014320:   01842603            lw  a2,24(s0)                                             <== NOT EXECUTED
40014324:   04049863            bnez    s1,40014374 <rtems_rfs_buffer_bdbuf_release+0x80> <== NOT EXECUTED
40014328:   400226b7            lui a3,0x40022                                            <== NOT EXECUTED
4001432c:   b1c68693            addi    a3,a3,-1252 # 40021b1c <IMFS_node_control_sym_link+0x5bc><== NOT EXECUTED
40014330:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014334:   f1050513            addi    a0,a0,-240 # 40022f10 <IMFS_LIMITS_AND_OPTIONS+0x130><== NOT EXECUTED
40014338:   ec0ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
            ((intptr_t) buffer->user),                                                    
            buffer->block, modified ? "(modified)" : "");                                 
                                                                                          
  if (modified)                                                                           
    sc = rtems_bdbuf_release_modified (buffer);                                           
4001433c:   00040513            mv  a0,s0                                                 
  if (modified)                                                                           
40014340:   02048663            beqz    s1,4001436c <rtems_rfs_buffer_bdbuf_release+0x78> 
    sc = rtems_bdbuf_release_modified (buffer);                                           
40014344:   e49fc0ef            jal ra,4001118c <rtems_bdbuf_release_modified>            
#endif                                                                                    
    rc = EIO;                                                                             
  }                                                                                       
                                                                                          
  return rc;                                                                              
}                                                                                         
40014348:   00c12083            lw  ra,12(sp)                                             
4001434c:   00812403            lw  s0,8(sp)                                              
    rc = EIO;                                                                             
40014350:   00153513            seqz    a0,a0                                             
40014354:   40a00533            neg a0,a0                                                 
40014358:   ffb57513            andi    a0,a0,-5                                          
}                                                                                         
4001435c:   00412483            lw  s1,4(sp)                                              
40014360:   00550513            addi    a0,a0,5                                           
40014364:   01010113            addi    sp,sp,16                                          
40014368:   00008067            ret                                                       
    sc = rtems_bdbuf_release (buffer);                                                    
4001436c:   d25fc0ef            jal ra,40011090 <rtems_bdbuf_release>                     
40014370:   fd9ff06f            j   40014348 <rtems_rfs_buffer_bdbuf_release+0x54>        
    printf ("rtems-rfs: bdbuf-release: block=%" PRIuPTR " bdbuf=%" PRIu32 " %s\n",        
40014374:   400236b7            lui a3,0x40023                                            <== NOT EXECUTED
40014378:   f0468693            addi    a3,a3,-252 # 40022f04 <IMFS_LIMITS_AND_OPTIONS+0x124><== NOT EXECUTED
4001437c:   fb5ff06f            j   40014330 <rtems_rfs_buffer_bdbuf_release+0x3c>        <== NOT EXECUTED
                                                                                          

40006c64 <rtems_rfs_buffer_close>: {
40006c64:   ff010113            addi    sp,sp,-16                                         
40006c68:   00812423            sw  s0,8(sp)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                                     
40006c6c:   00000593            li  a1,0                                                  
{                                                                                         
40006c70:   00050413            mv  s0,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                                     
40006c74:   01000513            li  a0,16                                                 
{                                                                                         
40006c78:   00112623            sw  ra,12(sp)                                             
40006c7c:   00912223            sw  s1,4(sp)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                                     
40006c80:   48c030ef            jal ra,4000a10c <rtems_rfs_trace>                         
40006c84:   0a051a63            bnez    a0,40006d38 <rtems_rfs_buffer_close+0xd4>         <== NEVER TAKEN
  rc = rtems_rfs_buffer_setblksize (fs, rtems_rfs_fs_media_block_size (fs));              
40006c88:   01042783            lw  a5,16(s0)                                             
40006c8c:   00040513            mv  a0,s0                                                 
40006c90:   0207a583            lw  a1,32(a5)                                             
40006c94:   ea5ff0ef            jal ra,40006b38 <rtems_rfs_buffer_setblksize>             
40006c98:   00050493            mv  s1,a0                                                 
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                         
40006c9c:   02a04463            bgtz    a0,40006cc4 <rtems_rfs_buffer_close+0x60>         <== NEVER TAKEN
  if (close (fs->device) < 0)                                                             
40006ca0:   00c42503            lw  a0,12(s0)                                             
40006ca4:   1800b0ef            jal ra,40011e24 <close>                                   
40006ca8:   04054a63            bltz    a0,40006cfc <rtems_rfs_buffer_close+0x98>         <== NEVER TAKEN
}                                                                                         
40006cac:   00c12083            lw  ra,12(sp)                                             
40006cb0:   00812403            lw  s0,8(sp)                                              
40006cb4:   00048513            mv  a0,s1                                                 
40006cb8:   00412483            lw  s1,4(sp)                                              
40006cbc:   01010113            addi    sp,sp,16                                          
40006cc0:   00008067            ret                                                       
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                         
40006cc4:   01000513            li  a0,16                                                 <== NOT EXECUTED
40006cc8:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006ccc:   440030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40006cd0:   fc0508e3            beqz    a0,40006ca0 <rtems_rfs_buffer_close+0x3c>         <== NOT EXECUTED
    printf ("rtems-rfs: buffer-close: set media block size failed: %d: %s\n",             
40006cd4:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40006cd8:   28c180ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40006cdc:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40006ce0:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006ce4:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40006ce8:   9fc50513            addi    a0,a0,-1540 # 400219fc <IMFS_node_control_sym_link+0x49c><== NOT EXECUTED
40006cec:   d0dfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (close (fs->device) < 0)                                                             
40006cf0:   00c42503            lw  a0,12(s0)                                             <== NOT EXECUTED
40006cf4:   1300b0ef            jal ra,40011e24 <close>                                   <== NOT EXECUTED
40006cf8:   fa055ae3            bgez    a0,40006cac <rtems_rfs_buffer_close+0x48>         <== NOT EXECUTED
    rc = errno;                                                                           
40006cfc:   78d160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40006d00:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                                   
40006d04:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006d08:   01000513            li  a0,16                                                 <== NOT EXECUTED
    rc = errno;                                                                           
40006d0c:   0007a483            lw  s1,0(a5)                                              <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                                   
40006d10:   3fc030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40006d14:   f8050ce3            beqz    a0,40006cac <rtems_rfs_buffer_close+0x48>         <== NOT EXECUTED
      printf ("rtems-rfs: buffer-close: file close failed: %d: %s\n",                     
40006d18:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40006d1c:   248180ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40006d20:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40006d24:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006d28:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40006d2c:   a3c50513            addi    a0,a0,-1476 # 40021a3c <IMFS_node_control_sym_link+0x4dc><== NOT EXECUTED
40006d30:   cc9fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  return rc;                                                                              
40006d34:   f79ff06f            j   40006cac <rtems_rfs_buffer_close+0x48>                <== NOT EXECUTED
    printf ("rtems-rfs: buffer-close: closing\n");                                        
40006d38:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006d3c:   9d850513            addi    a0,a0,-1576 # 400219d8 <IMFS_node_control_sym_link+0x478><== NOT EXECUTED
40006d40:   d01fa0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
40006d44:   f45ff06f            j   40006c88 <rtems_rfs_buffer_close+0x24>                <== NOT EXECUTED
                                                                                          

4000633c <rtems_rfs_buffer_handle_release.part.0>: rtems_rfs_buffer_handle_release (rtems_rfs_file_system* fs,
4000633c:   ff010113            addi    sp,sp,-16                                         <== NOT EXECUTED
40006340:   00812423            sw  s0,8(sp)                                              <== NOT EXECUTED
40006344:   00912223            sw  s1,4(sp)                                              <== NOT EXECUTED
40006348:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
4000634c:   00058493            mv  s1,a1                                                 <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))                          
40006350:   20000513            li  a0,512                                                <== NOT EXECUTED
40006354:   00000593            li  a1,0                                                  <== NOT EXECUTED
rtems_rfs_buffer_handle_release (rtems_rfs_file_system*   fs,                             
40006358:   00112623            sw  ra,12(sp)                                             <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))                          
4000635c:   5b1030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40006360:   02050c63            beqz    a0,40006398 <rtems_rfs_buffer_handle_release.part.0+0x5c><== NOT EXECUTED
      printf ("rtems-rfs: buffer-release: block=%" PRIu32 " %s refs=%d %s\n",             
40006364:   0004c783            lbu a5,0(s1)                                              <== NOT EXECUTED
40006368:   0044a583            lw  a1,4(s1)                                              <== NOT EXECUTED
4000636c:   0e079063            bnez    a5,4000644c <rtems_rfs_buffer_handle_release.part.0+0x110><== NOT EXECUTED
40006370:   0084a783            lw  a5,8(s1)                                              <== NOT EXECUTED
40006374:   40022637            lui a2,0x40022                                            <== NOT EXECUTED
40006378:   b1c60613            addi    a2,a2,-1252 # 40021b1c <IMFS_node_control_sym_link+0x5bc><== NOT EXECUTED
4000637c:   0307a683            lw  a3,48(a5)                                             <== NOT EXECUTED
40006380:   0e068063            beqz    a3,40006460 <rtems_rfs_buffer_handle_release.part.0+0x124><== NOT EXECUTED
40006384:   40022737            lui a4,0x40022                                            <== NOT EXECUTED
40006388:   b1c70713            addi    a4,a4,-1252 # 40021b1c <IMFS_node_control_sym_link+0x5bc><== NOT EXECUTED
4000638c:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
40006390:   60050513            addi    a0,a0,1536 # 40021600 <IMFS_node_control_sym_link+0xa0><== NOT EXECUTED
40006394:   e64fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    if (rtems_rfs_buffer_refs (handle) > 0)                                               
40006398:   0084a783            lw  a5,8(s1)                                              <== NOT EXECUTED
4000639c:   0307a503            lw  a0,48(a5)                                             <== NOT EXECUTED
400063a0:   00a05663            blez    a0,400063ac <rtems_rfs_buffer_handle_release.part.0+0x70><== NOT EXECUTED
      rtems_rfs_buffer_refs_down (handle);                                                
400063a4:   fff50513            addi    a0,a0,-1                                          <== NOT EXECUTED
400063a8:   02a7a823            sw  a0,48(a5)                                             <== NOT EXECUTED
    if (rtems_rfs_buffer_refs (handle) == 0)                                              
400063ac:   08051263            bnez    a0,40006430 <rtems_rfs_buffer_handle_release.part.0+0xf4><== NOT EXECUTED
  next           = the_node->next;                                                        
400063b0:   0007a583            lw  a1,0(a5)                                              <== NOT EXECUTED
  previous       = the_node->previous;                                                    
400063b4:   0047a603            lw  a2,4(a5)                                              <== NOT EXECUTED
      fs->buffers_count--;                                                                
400063b8:   05042683            lw  a3,80(s0)                                             <== NOT EXECUTED
      if (rtems_rfs_fs_no_local_cache (fs))                                               
400063bc:   00042703            lw  a4,0(s0)                                              <== NOT EXECUTED
  next->previous = previous;                                                              
400063c0:   00c5a223            sw  a2,4(a1)                                              <== NOT EXECUTED
  previous->next = next;                                                                  
400063c4:   00b62023            sw  a1,0(a2)                                              <== NOT EXECUTED
      fs->buffers_count--;                                                                
400063c8:   fff68693            addi    a3,a3,-1                                          <== NOT EXECUTED
400063cc:   04d42823            sw  a3,80(s0)                                             <== NOT EXECUTED
      if (rtems_rfs_fs_no_local_cache (fs))                                               
400063d0:   00277713            andi    a4,a4,2                                           <== NOT EXECUTED
400063d4:   0c071a63            bnez    a4,400064a8 <rtems_rfs_buffer_handle_release.part.0+0x16c><== NOT EXECUTED
        if ((fs->release_count +                                                          
400063d8:   06042703            lw  a4,96(s0)                                             <== NOT EXECUTED
400063dc:   07042603            lw  a2,112(s0)                                            <== NOT EXECUTED
400063e0:   04042683            lw  a3,64(s0)                                             <== NOT EXECUTED
400063e4:   00c70733            add a4,a4,a2                                              <== NOT EXECUTED
400063e8:   0ed77463            bgeu    a4,a3,400064d0 <rtems_rfs_buffer_handle_release.part.0+0x194><== NOT EXECUTED
        if (rtems_rfs_buffer_dirty (handle))                                              
400063ec:   0004c703            lbu a4,0(s1)                                              <== NOT EXECUTED
400063f0:   06070e63            beqz    a4,4000646c <rtems_rfs_buffer_handle_release.part.0+0x130><== NOT EXECUTED
  old_last = tail->previous;                                                              
400063f4:   06c42683            lw  a3,108(s0)                                            <== NOT EXECUTED
  return &the_chain->Tail.Node;                                                           
400063f8:   06840713            addi    a4,s0,104                                         <== NOT EXECUTED
  the_node->next = tail;                                                                  
400063fc:   00e7a023            sw  a4,0(a5)                                              <== NOT EXECUTED
          fs->release_modified_count++;                                                   
40006400:   07042703            lw  a4,112(s0)                                            <== NOT EXECUTED
  tail->previous = the_node;                                                              
40006404:   06f42623            sw  a5,108(s0)                                            <== NOT EXECUTED
  old_last->next = the_node;                                                              
40006408:   00f6a023            sw  a5,0(a3)                                              <== NOT EXECUTED
  the_node->previous = old_last;                                                          
4000640c:   00d7a223            sw  a3,4(a5)                                              <== NOT EXECUTED
40006410:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
40006414:   06e42823            sw  a4,112(s0)                                            <== NOT EXECUTED
}                                                                                         
40006418:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
4000641c:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
    handle->buffer = NULL;                                                                
40006420:   0004a423            sw  zero,8(s1)                                            <== NOT EXECUTED
}                                                                                         
40006424:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
40006428:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
4000642c:   00008067            ret                                                       <== NOT EXECUTED
40006430:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
40006434:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
    handle->buffer = NULL;                                                                
40006438:   0004a423            sw  zero,8(s1)                                            <== NOT EXECUTED
  int rc = 0;                                                                             
4000643c:   00000513            li  a0,0                                                  <== NOT EXECUTED
}                                                                                         
40006440:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
40006444:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
40006448:   00008067            ret                                                       <== NOT EXECUTED
      printf ("rtems-rfs: buffer-release: block=%" PRIu32 " %s refs=%d %s\n",             
4000644c:   0084a783            lw  a5,8(s1)                                              <== NOT EXECUTED
40006450:   40021637            lui a2,0x40021                                            <== NOT EXECUTED
40006454:   5e860613            addi    a2,a2,1512 # 400215e8 <IMFS_node_control_sym_link+0x88><== NOT EXECUTED
40006458:   0307a683            lw  a3,48(a5)                                             <== NOT EXECUTED
4000645c:   f20694e3            bnez    a3,40006384 <rtems_rfs_buffer_handle_release.part.0+0x48><== NOT EXECUTED
40006460:   40021737            lui a4,0x40021                                            <== NOT EXECUTED
40006464:   5f070713            addi    a4,a4,1520 # 400215f0 <IMFS_node_control_sym_link+0x90><== NOT EXECUTED
40006468:   f25ff06f            j   4000638c <rtems_rfs_buffer_handle_release.part.0+0x50><== NOT EXECUTED
  old_last = tail->previous;                                                              
4000646c:   05c42683            lw  a3,92(s0)                                             <== NOT EXECUTED
  return &the_chain->Tail.Node;                                                           
40006470:   05840713            addi    a4,s0,88                                          <== NOT EXECUTED
  the_node->next = tail;                                                                  
40006474:   00e7a023            sw  a4,0(a5)                                              <== NOT EXECUTED
          fs->release_count++;                                                            
40006478:   06042703            lw  a4,96(s0)                                             <== NOT EXECUTED
  tail->previous = the_node;                                                              
4000647c:   04f42e23            sw  a5,92(s0)                                             <== NOT EXECUTED
  old_last->next = the_node;                                                              
40006480:   00f6a023            sw  a5,0(a3)                                              <== NOT EXECUTED
  the_node->previous = old_last;                                                          
40006484:   00d7a223            sw  a3,4(a5)                                              <== NOT EXECUTED
40006488:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
4000648c:   06e42023            sw  a4,96(s0)                                             <== NOT EXECUTED
}                                                                                         
40006490:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
40006494:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
    handle->buffer = NULL;                                                                
40006498:   0004a423            sw  zero,8(s1)                                            <== NOT EXECUTED
}                                                                                         
4000649c:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
400064a0:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
400064a4:   00008067            ret                                                       <== NOT EXECUTED
        rc = rtems_rfs_buffer_io_release (handle->buffer,                                 
400064a8:   0004c583            lbu a1,0(s1)                                              <== NOT EXECUTED
400064ac:   00078513            mv  a0,a5                                                 <== NOT EXECUTED
        handle->buffer->user = (void*) 0;                                                 
400064b0:   0207aa23            sw  zero,52(a5)                                           <== NOT EXECUTED
        rc = rtems_rfs_buffer_io_release (handle->buffer,                                 
400064b4:   6410d0ef            jal ra,400142f4 <rtems_rfs_buffer_bdbuf_release>          <== NOT EXECUTED
}                                                                                         
400064b8:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
400064bc:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
    handle->buffer = NULL;                                                                
400064c0:   0004a423            sw  zero,8(s1)                                            <== NOT EXECUTED
}                                                                                         
400064c4:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
400064c8:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
400064cc:   00008067            ret                                                       <== NOT EXECUTED
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))                    
400064d0:   20000513            li  a0,512                                                <== NOT EXECUTED
400064d4:   00000593            li  a1,0                                                  <== NOT EXECUTED
400064d8:   435030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400064dc:   08051263            bnez    a0,40006560 <rtems_rfs_buffer_handle_release.part.0+0x224><== NOT EXECUTED
          if (fs->release_count > fs->release_modified_count)                             
400064e0:   06042703            lw  a4,96(s0)                                             <== NOT EXECUTED
400064e4:   07042783            lw  a5,112(s0)                                            <== NOT EXECUTED
400064e8:   02e7f863            bgeu    a5,a4,40006518 <rtems_rfs_buffer_handle_release.part.0+0x1dc><== NOT EXECUTED
  return _Chain_Immutable_head( the_chain )->next;                                        
400064ec:   05442503            lw  a0,84(s0)                                             <== NOT EXECUTED
  return &the_chain->Tail.Node;                                                           
400064f0:   05840793            addi    a5,s0,88                                          <== NOT EXECUTED
400064f4:   05440693            addi    a3,s0,84                                          <== NOT EXECUTED
  if ( !_Chain_Is_empty(the_chain))                                                       
400064f8:   04f50c63            beq a0,a5,40006550 <rtems_rfs_buffer_handle_release.part.0+0x214><== NOT EXECUTED
  new_first = old_first->next;                                                            
400064fc:   00052783            lw  a5,0(a0)                                              <== NOT EXECUTED
  head->next = new_first;                                                                 
40006500:   04f42a23            sw  a5,84(s0)                                             <== NOT EXECUTED
  new_first->previous = head;                                                             
40006504:   00d7a223            sw  a3,4(a5)                                              <== NOT EXECUTED
            fs->release_count--;                                                          
40006508:   fff70713            addi    a4,a4,-1                                          <== NOT EXECUTED
4000650c:   06e42023            sw  a4,96(s0)                                             <== NOT EXECUTED
            modified = false;                                                             
40006510:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006514:   02c0006f            j   40006540 <rtems_rfs_buffer_handle_release.part.0+0x204><== NOT EXECUTED
  return _Chain_Immutable_head( the_chain )->next;                                        
40006518:   06442503            lw  a0,100(s0)                                            <== NOT EXECUTED
  return &the_chain->Tail.Node;                                                           
4000651c:   06840713            addi    a4,s0,104                                         <== NOT EXECUTED
40006520:   06440693            addi    a3,s0,100                                         <== NOT EXECUTED
  if ( !_Chain_Is_empty(the_chain))                                                       
40006524:   02e50a63            beq a0,a4,40006558 <rtems_rfs_buffer_handle_release.part.0+0x21c><== NOT EXECUTED
  new_first = old_first->next;                                                            
40006528:   00052703            lw  a4,0(a0)                                              <== NOT EXECUTED
  head->next = new_first;                                                                 
4000652c:   06e42223            sw  a4,100(s0)                                            <== NOT EXECUTED
  new_first->previous = head;                                                             
40006530:   00d72223            sw  a3,4(a4)                                              <== NOT EXECUTED
            fs->release_modified_count--;                                                 
40006534:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
40006538:   06f42823            sw  a5,112(s0)                                            <== NOT EXECUTED
            modified = true;                                                              
4000653c:   00100593            li  a1,1                                                  <== NOT EXECUTED
          buffer->user = (void*) 0;                                                       
40006540:   02052a23            sw  zero,52(a0)                                           <== NOT EXECUTED
          rc = rtems_rfs_buffer_io_release (buffer, modified);                            
40006544:   5b10d0ef            jal ra,400142f4 <rtems_rfs_buffer_bdbuf_release>          <== NOT EXECUTED
                                          rtems_rfs_buffer_link (handle));                
40006548:   0084a783            lw  a5,8(s1)                                              <== NOT EXECUTED
4000654c:   ea1ff06f            j   400063ec <rtems_rfs_buffer_handle_release.part.0+0xb0><== NOT EXECUTED
    return NULL;                                                                          
40006550:   00000513            li  a0,0                                                  <== NOT EXECUTED
40006554:   fb5ff06f            j   40006508 <rtems_rfs_buffer_handle_release.part.0+0x1cc><== NOT EXECUTED
40006558:   00000513            li  a0,0                                                  <== NOT EXECUTED
4000655c:   fd9ff06f            j   40006534 <rtems_rfs_buffer_handle_release.part.0+0x1f8><== NOT EXECUTED
            printf ("rtems-rfs: buffer-release: local cache overflow:"                    
40006560:   06042583            lw  a1,96(s0)                                             <== NOT EXECUTED
40006564:   07042783            lw  a5,112(s0)                                            <== NOT EXECUTED
40006568:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
4000656c:   63450513            addi    a0,a0,1588 # 40021634 <IMFS_node_control_sym_link+0xd4><== NOT EXECUTED
40006570:   00f585b3            add a1,a1,a5                                              <== NOT EXECUTED
40006574:   c84fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40006578:   f69ff06f            j   400064e0 <rtems_rfs_buffer_handle_release.part.0+0x1a4><== NOT EXECUTED
                                                                                          

4000657c <rtems_rfs_buffer_handle_request>: if (rtems_rfs_buffer_handle_has_block (handle))
4000657c:   0085a783            lw  a5,8(a1)                                              
{                                                                                         
40006580:   fe010113            addi    sp,sp,-32                                         
40006584:   00812c23            sw  s0,24(sp)                                             
40006588:   00912a23            sw  s1,20(sp)                                             
4000658c:   01212823            sw  s2,16(sp)                                             
40006590:   01412423            sw  s4,8(sp)                                              
40006594:   00112e23            sw  ra,28(sp)                                             
40006598:   01312623            sw  s3,12(sp)                                             
4000659c:   00058413            mv  s0,a1                                                 
400065a0:   00050493            mv  s1,a0                                                 
400065a4:   00060913            mv  s2,a2                                                 
400065a8:   00068a13            mv  s4,a3                                                 
  if (rtems_rfs_buffer_handle_has_block (handle))                                         
400065ac:   04078263            beqz    a5,400065f0 <rtems_rfs_buffer_handle_request+0x74>
    if (block && (rtems_rfs_buffer_bnum (handle) == block))                               
400065b0:   00060663            beqz    a2,400065bc <rtems_rfs_buffer_handle_request+0x40><== NEVER TAKEN
400065b4:   0045a783            lw  a5,4(a1)                                              
400065b8:   0cc78a63            beq a5,a2,4000668c <rtems_rfs_buffer_handle_request+0x110>
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))                          
400065bc:   10000513            li  a0,256                                                
400065c0:   00000593            li  a1,0                                                  
400065c4:   349030ef            jal ra,4000a10c <rtems_rfs_trace>                         
400065c8:   16051c63            bnez    a0,40006740 <rtems_rfs_buffer_handle_request+0x1c4><== NEVER TAKEN
  if (rtems_rfs_buffer_handle_has_block (handle))                                         
400065cc:   00842783            lw  a5,8(s0)                                              
400065d0:   00078c63            beqz    a5,400065e8 <rtems_rfs_buffer_handle_request+0x6c><== NEVER TAKEN
400065d4:   00040593            mv  a1,s0                                                 
400065d8:   00048513            mv  a0,s1                                                 
400065dc:   d61ff0ef            jal ra,4000633c <rtems_rfs_buffer_handle_release.part.0>  
400065e0:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
400065e4:   0aa04663            bgtz    a0,40006690 <rtems_rfs_buffer_handle_request+0x114><== NEVER TAKEN
    handle->dirty = false;                                                                
400065e8:   00040023            sb  zero,0(s0)                                            
    handle->bnum = 0;                                                                     
400065ec:   00042223            sw  zero,4(s0)                                            
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))                            
400065f0:   10000513            li  a0,256                                                
400065f4:   00000593            li  a1,0                                                  
400065f8:   315030ef            jal ra,4000a10c <rtems_rfs_trace>                         
400065fc:   12051463            bnez    a0,40006724 <rtems_rfs_buffer_handle_request+0x1a8><== NEVER TAKEN
  if (fs->buffers_count)                                                                  
40006600:   0504a783            lw  a5,80(s1)                                             
40006604:   0c079e63            bnez    a5,400066e0 <rtems_rfs_buffer_handle_request+0x164>
  if (!rtems_rfs_fs_no_local_cache (fs) &&                                                
40006608:   0004a783            lw  a5,0(s1)                                              
      !rtems_rfs_buffer_handle_has_block (handle))                                        
4000660c:   00842503            lw  a0,8(s0)                                              
  if (!rtems_rfs_fs_no_local_cache (fs) &&                                                
40006610:   0027f793            andi    a5,a5,2                                           
40006614:   0a079063            bnez    a5,400066b4 <rtems_rfs_buffer_handle_request+0x138>
40006618:   14050e63            beqz    a0,40006774 <rtems_rfs_buffer_handle_request+0x1f8>
  rtems_rfs_buffer_refs_up (handle);                                                      
4000661c:   03052703            lw  a4,48(a0)                                             
  old_last = tail->previous;                                                              
40006620:   04c4a683            lw  a3,76(s1)                                             
  return &the_chain->Tail.Node;                                                           
40006624:   04848613            addi    a2,s1,72                                          
40006628:   00170713            addi    a4,a4,1                                           
  fs->buffers_count++;                                                                    
4000662c:   0504a783            lw  a5,80(s1)                                             
  rtems_rfs_buffer_refs_up (handle);                                                      
40006630:   02e52823            sw  a4,48(a0)                                             
  the_node->next = tail;                                                                  
40006634:   00c52023            sw  a2,0(a0)                                              
  tail->previous = the_node;                                                              
40006638:   04a4a623            sw  a0,76(s1)                                             
  old_last->next = the_node;                                                              
4000663c:   00a6a023            sw  a0,0(a3)                                              
  the_node->previous = old_last;                                                          
40006640:   00d52223            sw  a3,4(a0)                                              
  fs->buffers_count++;                                                                    
40006644:   00178793            addi    a5,a5,1                                           
40006648:   04f4a823            sw  a5,80(s1)                                             
  handle->buffer->user = (void*) ((intptr_t) block);                                      
4000664c:   03252a23            sw  s2,52(a0)                                             
  handle->bnum = block;                                                                   
40006650:   01242223            sw  s2,4(s0)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))                            
40006654:   10000513            li  a0,256                                                
40006658:   00000593            li  a1,0                                                  
4000665c:   2b1030ef            jal ra,4000a10c <rtems_rfs_trace>                         
40006660:   02050663            beqz    a0,4000668c <rtems_rfs_buffer_handle_request+0x110><== ALWAYS TAKEN
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
40006664:   0e0a1c63            bnez    s4,4000675c <rtems_rfs_buffer_handle_request+0x1e0><== NOT EXECUTED
40006668:   40021637            lui a2,0x40021                                            <== NOT EXECUTED
4000666c:   67460613            addi    a2,a2,1652 # 40021674 <IMFS_node_control_sym_link+0x114><== NOT EXECUTED
            block, read ? "read" : "get", handle->buffer->block,                          
40006670:   00842783            lw  a5,8(s0)                                              <== NOT EXECUTED
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
40006674:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
40006678:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
4000667c:   0307a703            lw  a4,48(a5)                                             <== NOT EXECUTED
40006680:   0187a683            lw  a3,24(a5)                                             <== NOT EXECUTED
40006684:   74050513            addi    a0,a0,1856 # 40021740 <IMFS_node_control_sym_link+0x1e0><== NOT EXECUTED
40006688:   b70fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  return 0;                                                                               
4000668c:   00000993            li  s3,0                                                  
}                                                                                         
40006690:   01c12083            lw  ra,28(sp)                                             
40006694:   01812403            lw  s0,24(sp)                                             
40006698:   01412483            lw  s1,20(sp)                                             
4000669c:   01012903            lw  s2,16(sp)                                             
400066a0:   00812a03            lw  s4,8(sp)                                              
400066a4:   00098513            mv  a0,s3                                                 
400066a8:   00c12983            lw  s3,12(sp)                                             
400066ac:   02010113            addi    sp,sp,32                                          
400066b0:   00008067            ret                                                       
  if (!rtems_rfs_buffer_handle_has_block (handle))                                        
400066b4:   f60514e3            bnez    a0,4000661c <rtems_rfs_buffer_handle_request+0xa0><== NEVER TAKEN
    rc = rtems_rfs_buffer_io_request (fs, block, read, &handle->buffer);                  
400066b8:   00840693            addi    a3,s0,8                                           
400066bc:   000a0613            mv  a2,s4                                                 
400066c0:   00090593            mv  a1,s2                                                 
400066c4:   00048513            mv  a0,s1                                                 
400066c8:   3d50d0ef            jal ra,4001429c <rtems_rfs_buffer_bdbuf_request>          
400066cc:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
400066d0:   0ca04c63            bgtz    a0,400067a8 <rtems_rfs_buffer_handle_request+0x22c><== NEVER TAKEN
    rtems_chain_set_off_chain (rtems_rfs_buffer_link(handle));                            
400066d4:   00842503            lw  a0,8(s0)                                              
  node->next = NULL;                                                                      
400066d8:   00052023            sw  zero,0(a0)                                            
RTEMS_INLINE_ROUTINE void rtems_chain_set_off_chain(                                      
  rtems_chain_node *node                                                                  
)                                                                                         
{                                                                                         
  _Chain_Set_off_chain( node );                                                           
}                                                                                         
400066dc:   f41ff06f            j   4000661c <rtems_rfs_buffer_handle_request+0xa0>       
    handle->buffer = rtems_rfs_scan_chain (&fs->buffers,                                  
400066e0:   00090613            mv  a2,s2                                                 
400066e4:   05048593            addi    a1,s1,80                                          
400066e8:   04448513            addi    a0,s1,68                                          
400066ec:   a79ff0ef            jal ra,40006164 <rtems_rfs_scan_chain>                    
400066f0:   00a42423            sw  a0,8(s0)                                              
    if (rtems_rfs_buffer_handle_has_block (handle) &&                                     
400066f4:   06050a63            beqz    a0,40006768 <rtems_rfs_buffer_handle_request+0x1ec>
        rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))                          
400066f8:   10000513            li  a0,256                                                
400066fc:   00000593            li  a1,0                                                  
40006700:   20d030ef            jal ra,4000a10c <rtems_rfs_trace>                         
    if (rtems_rfs_buffer_handle_has_block (handle) &&                                     
40006704:   f00502e3            beqz    a0,40006608 <rtems_rfs_buffer_handle_request+0x8c><== ALWAYS TAKEN
              rtems_rfs_buffer_refs (handle) + 1);                                        
40006708:   00842783            lw  a5,8(s0)                                              <== NOT EXECUTED
      printf ("rtems-rfs: buffer-request: buffer shared: refs: %d\n",                     
4000670c:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
40006710:   6d450513            addi    a0,a0,1748 # 400216d4 <IMFS_node_control_sym_link+0x174><== NOT EXECUTED
40006714:   0307a583            lw  a1,48(a5)                                             <== NOT EXECUTED
40006718:   00158593            addi    a1,a1,1                                           <== NOT EXECUTED
4000671c:   adcfb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40006720:   ee9ff06f            j   40006608 <rtems_rfs_buffer_handle_request+0x8c>       <== NOT EXECUTED
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 "\n", block);                     
40006724:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
40006728:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
4000672c:   6ac50513            addi    a0,a0,1708 # 400216ac <IMFS_node_control_sym_link+0x14c><== NOT EXECUTED
40006730:   ac8fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (fs->buffers_count)                                                                  
40006734:   0504a783            lw  a5,80(s1)                                             <== NOT EXECUTED
40006738:   ec0788e3            beqz    a5,40006608 <rtems_rfs_buffer_handle_request+0x8c><== NOT EXECUTED
4000673c:   fa5ff06f            j   400066e0 <rtems_rfs_buffer_handle_request+0x164>      <== NOT EXECUTED
      printf ("rtems-rfs: buffer-request: handle has buffer: %" PRIu32 "\n",              
40006740:   00442583            lw  a1,4(s0)                                              <== NOT EXECUTED
40006744:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
40006748:   67850513            addi    a0,a0,1656 # 40021678 <IMFS_node_control_sym_link+0x118><== NOT EXECUTED
4000674c:   aacfb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (rtems_rfs_buffer_handle_has_block (handle))                                         
40006750:   00842783            lw  a5,8(s0)                                              <== NOT EXECUTED
40006754:   e80790e3            bnez    a5,400065d4 <rtems_rfs_buffer_handle_request+0x58><== NOT EXECUTED
40006758:   e91ff06f            j   400065e8 <rtems_rfs_buffer_handle_request+0x6c>       <== NOT EXECUTED
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
4000675c:   40021637            lui a2,0x40021                                            <== NOT EXECUTED
40006760:   66c60613            addi    a2,a2,1644 # 4002166c <IMFS_node_control_sym_link+0x10c><== NOT EXECUTED
40006764:   f0dff06f            j   40006670 <rtems_rfs_buffer_handle_request+0xf4>       <== NOT EXECUTED
  if (!rtems_rfs_fs_no_local_cache (fs) &&                                                
40006768:   0004a783            lw  a5,0(s1)                                              
4000676c:   0027f793            andi    a5,a5,2                                           
40006770:   f40794e3            bnez    a5,400066b8 <rtems_rfs_buffer_handle_request+0x13c>
    if (fs->release_count)                                                                
40006774:   0604a783            lw  a5,96(s1)                                             
40006778:   06079a63            bnez    a5,400067ec <rtems_rfs_buffer_handle_request+0x270>
    if (!rtems_rfs_buffer_handle_has_block (handle) &&                                    
4000677c:   0704a783            lw  a5,112(s1)                                            
40006780:   f2078ce3            beqz    a5,400066b8 <rtems_rfs_buffer_handle_request+0x13c>
      handle->buffer = rtems_rfs_scan_chain (&fs->release_modified,                       
40006784:   00090613            mv  a2,s2                                                 
40006788:   07048593            addi    a1,s1,112                                         
4000678c:   06448513            addi    a0,s1,100                                         
40006790:   9d5ff0ef            jal ra,40006164 <rtems_rfs_scan_chain>                    
40006794:   00a42423            sw  a0,8(s0)                                              
      if (rtems_rfs_buffer_handle_has_block (handle))                                     
40006798:   f20500e3            beqz    a0,400066b8 <rtems_rfs_buffer_handle_request+0x13c>
        rtems_rfs_buffer_mark_dirty (handle);                                             
4000679c:   00100793            li  a5,1                                                  
400067a0:   00f40023            sb  a5,0(s0)                                              
400067a4:   e79ff06f            j   4000661c <rtems_rfs_buffer_handle_request+0xa0>       
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))                        
400067a8:   10000513            li  a0,256                                                <== NOT EXECUTED
400067ac:   00000593            li  a1,0                                                  <== NOT EXECUTED
400067b0:   15d030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400067b4:   ec050ee3            beqz    a0,40006690 <rtems_rfs_buffer_handle_request+0x114><== NOT EXECUTED
        printf ("rtems-rfs: buffer-request: block=%" PRIu32 ": bdbuf-%s: %d: %s\n",       
400067b8:   040a1863            bnez    s4,40006808 <rtems_rfs_buffer_handle_request+0x28c><== NOT EXECUTED
400067bc:   40021437            lui s0,0x40021                                            <== NOT EXECUTED
400067c0:   67440413            addi    s0,s0,1652 # 40021674 <IMFS_node_control_sym_link+0x114><== NOT EXECUTED
400067c4:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
400067c8:   79c180ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400067cc:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
400067d0:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
400067d4:   00098693            mv  a3,s3                                                 <== NOT EXECUTED
400067d8:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
400067dc:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
400067e0:   70850513            addi    a0,a0,1800 # 40021708 <IMFS_node_control_sym_link+0x1a8><== NOT EXECUTED
400067e4:   a14fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400067e8:   ea9ff06f            j   40006690 <rtems_rfs_buffer_handle_request+0x114>      <== NOT EXECUTED
      handle->buffer = rtems_rfs_scan_chain (&fs->release,                                
400067ec:   00090613            mv  a2,s2                                                 
400067f0:   06048593            addi    a1,s1,96                                          
400067f4:   05448513            addi    a0,s1,84                                          
400067f8:   96dff0ef            jal ra,40006164 <rtems_rfs_scan_chain>                    
400067fc:   00a42423            sw  a0,8(s0)                                              
    if (!rtems_rfs_buffer_handle_has_block (handle) &&                                    
40006800:   e0051ee3            bnez    a0,4000661c <rtems_rfs_buffer_handle_request+0xa0>
40006804:   f79ff06f            j   4000677c <rtems_rfs_buffer_handle_request+0x200>      
        printf ("rtems-rfs: buffer-request: block=%" PRIu32 ": bdbuf-%s: %d: %s\n",       
40006808:   40021437            lui s0,0x40021                                            <== NOT EXECUTED
4000680c:   66c40413            addi    s0,s0,1644 # 4002166c <IMFS_node_control_sym_link+0x10c><== NOT EXECUTED
40006810:   fb5ff06f            j   400067c4 <rtems_rfs_buffer_handle_request+0x248>      <== NOT EXECUTED
                                                                                          

40006828 <rtems_rfs_buffer_open>: {
40006828:   f8010113            addi    sp,sp,-128                                        
4000682c:   06812c23            sw  s0,120(sp)                                            
40006830:   06912a23            sw  s1,116(sp)                                            
40006834:   00058413            mv  s0,a1                                                 
40006838:   00050493            mv  s1,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                      
4000683c:   00000593            li  a1,0                                                  
40006840:   02000513            li  a0,32                                                 
{                                                                                         
40006844:   06112e23            sw  ra,124(sp)                                            
40006848:   07212823            sw  s2,112(sp)                                            
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                      
4000684c:   0c1030ef            jal ra,4000a10c <rtems_rfs_trace>                         
40006850:   0a051863            bnez    a0,40006900 <rtems_rfs_buffer_open+0xd8>          <== NEVER TAKEN
  fs->device = open (name, O_RDWR);                                                       
40006854:   00200593            li  a1,2                                                  
40006858:   00048513            mv  a0,s1                                                 
4000685c:   3d50b0ef            jal ra,40012430 <open>                                    
40006860:   00a42623            sw  a0,12(s0)                                             
  if (fs->device < 0)                                                                     
40006864:   0c054063            bltz    a0,40006924 <rtems_rfs_buffer_open+0xfc>          <== NEVER TAKEN
  if (fstat (fs->device, &st) < 0)                                                        
40006868:   00810593            addi    a1,sp,8                                           
4000686c:   71c0b0ef            jal ra,40011f88 <fstat>                                   
40006870:   14054463            bltz    a0,400069b8 <rtems_rfs_buffer_open+0x190>         <== NEVER TAKEN
  if (!S_ISBLK (st.st_mode))                                                              
40006874:   01812683            lw  a3,24(sp)                                             
40006878:   0000f7b7            lui a5,0xf                                                
4000687c:   00006737            lui a4,0x6                                                
40006880:   00d7f7b3            and a5,a5,a3                                              
40006884:   04e79663            bne a5,a4,400068d0 <rtems_rfs_buffer_open+0xa8>           
static inline int rtems_disk_fd_get_disk_device(                                          
  int fd,                                                                                 
  rtems_disk_device **dd_ptr                                                              
)                                                                                         
{                                                                                         
  return ioctl(fd, RTEMS_BLKIO_GETDISKDEV, dd_ptr);                                       
40006888:   00c42503            lw  a0,12(s0)                                             
4000688c:   400445b7            lui a1,0x40044                                            
40006890:   01040613            addi    a2,s0,16                                          
40006894:   20958593            addi    a1,a1,521 # 40044209 <WorkAreaBase+0x16dc9>       
40006898:   0390b0ef            jal ra,400120d0 <ioctl>                                   
4000689c:   00050913            mv  s2,a0                                                 
  if (rv != 0)                                                                            
400068a0:   0e051a63            bnez    a0,40006994 <rtems_rfs_buffer_open+0x16c>         <== NEVER TAKEN
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                      
400068a4:   02000513            li  a0,32                                                 
400068a8:   00000593            li  a1,0                                                  
400068ac:   061030ef            jal ra,4000a10c <rtems_rfs_trace>                         
400068b0:   0a051863            bnez    a0,40006960 <rtems_rfs_buffer_open+0x138>         <== NEVER TAKEN
}                                                                                         
400068b4:   07c12083            lw  ra,124(sp)                                            
400068b8:   07812403            lw  s0,120(sp)                                            
400068bc:   07412483            lw  s1,116(sp)                                            
400068c0:   00090513            mv  a0,s2                                                 
400068c4:   07012903            lw  s2,112(sp)                                            
400068c8:   08010113            addi    sp,sp,128                                         
400068cc:   00008067            ret                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                                    
400068d0:   00800513            li  a0,8                                                  <== NOT EXECUTED
400068d4:   00000593            li  a1,0                                                  <== NOT EXECUTED
400068d8:   035030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400068dc:   06051663            bnez    a0,40006948 <rtems_rfs_buffer_open+0x120>         <== NOT EXECUTED
    return ENXIO;                                                                         
400068e0:   00600913            li  s2,6                                                  <== NOT EXECUTED
}                                                                                         
400068e4:   07c12083            lw  ra,124(sp)                                            <== NOT EXECUTED
400068e8:   07812403            lw  s0,120(sp)                                            <== NOT EXECUTED
400068ec:   07412483            lw  s1,116(sp)                                            <== NOT EXECUTED
400068f0:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
400068f4:   07012903            lw  s2,112(sp)                                            <== NOT EXECUTED
400068f8:   08010113            addi    sp,sp,128                                         <== NOT EXECUTED
400068fc:   00008067            ret                                                       <== NOT EXECUTED
    printf ("rtems-rfs: buffer-open: opening: %s\n", name);                               
40006900:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
40006904:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40006908:   77c50513            addi    a0,a0,1916 # 4002177c <IMFS_node_control_sym_link+0x21c><== NOT EXECUTED
4000690c:   8ecfb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  fs->device = open (name, O_RDWR);                                                       
40006910:   00200593            li  a1,2                                                  <== NOT EXECUTED
40006914:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40006918:   3190b0ef            jal ra,40012430 <open>                                    <== NOT EXECUTED
4000691c:   00a42623            sw  a0,12(s0)                                             <== NOT EXECUTED
  if (fs->device < 0)                                                                     
40006920:   f40554e3            bgez    a0,40006868 <rtems_rfs_buffer_open+0x40>          <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                                    
40006924:   00800513            li  a0,8                                                  <== NOT EXECUTED
40006928:   00000593            li  a1,0                                                  <== NOT EXECUTED
4000692c:   7e0030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40006930:   fa0508e3            beqz    a0,400068e0 <rtems_rfs_buffer_open+0xb8>          <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: cannot open file\n");                              
40006934:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
40006938:   7a450513            addi    a0,a0,1956 # 400217a4 <IMFS_node_control_sym_link+0x244><== NOT EXECUTED
4000693c:   904fb0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
    return ENXIO;                                                                         
40006940:   00600913            li  s2,6                                                  <== NOT EXECUTED
40006944:   fa1ff06f            j   400068e4 <rtems_rfs_buffer_open+0xbc>                 <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: '%s' is not a block device\n", name);              
40006948:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000694c:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40006950:   80050513            addi    a0,a0,-2048 # 40021800 <IMFS_node_control_sym_link+0x2a0><== NOT EXECUTED
40006954:   8a4fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return ENXIO;                                                                         
40006958:   00600913            li  s2,6                                                  <== NOT EXECUTED
4000695c:   f59ff06f            j   400068b4 <rtems_rfs_buffer_open+0x8c>                 <== NOT EXECUTED
            rtems_rfs_fs_media_blocks (fs),                                               
40006960:   01042783            lw  a5,16(s0)                                             <== NOT EXECUTED
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",           
40006964:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006968:   86450513            addi    a0,a0,-1948 # 40021864 <IMFS_node_control_sym_link+0x304><== NOT EXECUTED
4000696c:   0207a603            lw  a2,32(a5) # f020 <bsp_section_bss_size+0x9a70>        <== NOT EXECUTED
40006970:   01c7a583            lw  a1,28(a5)                                             <== NOT EXECUTED
40006974:   884fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
}                                                                                         
40006978:   07c12083            lw  ra,124(sp)                                            <== NOT EXECUTED
4000697c:   07812403            lw  s0,120(sp)                                            <== NOT EXECUTED
40006980:   07412483            lw  s1,116(sp)                                            <== NOT EXECUTED
40006984:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40006988:   07012903            lw  s2,112(sp)                                            <== NOT EXECUTED
4000698c:   08010113            addi    sp,sp,128                                         <== NOT EXECUTED
40006990:   00008067            ret                                                       <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                                    
40006994:   00800513            li  a0,8                                                  <== NOT EXECUTED
40006998:   00000593            li  a1,0                                                  <== NOT EXECUTED
4000699c:   770030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400069a0:   f40500e3            beqz    a0,400068e0 <rtems_rfs_buffer_open+0xb8>          <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: cannot obtain the disk\n");                        
400069a4:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400069a8:   83450513            addi    a0,a0,-1996 # 40021834 <IMFS_node_control_sym_link+0x2d4><== NOT EXECUTED
400069ac:   894fb0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
    return ENXIO;                                                                         
400069b0:   00600913            li  s2,6                                                  <== NOT EXECUTED
400069b4:   f01ff06f            j   400068b4 <rtems_rfs_buffer_open+0x8c>                 <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                                    
400069b8:   00800513            li  a0,8                                                  <== NOT EXECUTED
400069bc:   00000593            li  a1,0                                                  <== NOT EXECUTED
400069c0:   74c030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400069c4:   f0050ee3            beqz    a0,400068e0 <rtems_rfs_buffer_open+0xb8>          <== NOT EXECUTED
              name, strerror (errno));                                                    
400069c8:   2c0170ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: stat '%s' failed: %s\n",                           
400069cc:   00052503            lw  a0,0(a0)                                              <== NOT EXECUTED
    return ENXIO;                                                                         
400069d0:   00600913            li  s2,6                                                  <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: stat '%s' failed: %s\n",                           
400069d4:   590180ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400069d8:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400069dc:   40021537            lui a0,0x40021                                            <== NOT EXECUTED
400069e0:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
400069e4:   7d050513            addi    a0,a0,2000 # 400217d0 <IMFS_node_control_sym_link+0x270><== NOT EXECUTED
400069e8:   810fb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400069ec:   ec9ff06f            j   400068b4 <rtems_rfs_buffer_open+0x8c>                 <== NOT EXECUTED
                                                                                          

40006b38 <rtems_rfs_buffer_setblksize>: {
40006b38:   fe010113            addi    sp,sp,-32                                         
40006b3c:   00812c23            sw  s0,24(sp)                                             
40006b40:   00b12623            sw  a1,12(sp)                                             
40006b44:   00050413            mv  s0,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))                                
40006b48:   00000593            li  a1,0                                                  
40006b4c:   40000513            li  a0,1024                                               
{                                                                                         
40006b50:   00112e23            sw  ra,28(sp)                                             
40006b54:   00912a23            sw  s1,20(sp)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))                                
40006b58:   5b4030ef            jal ra,4000a10c <rtems_rfs_trace>                         
40006b5c:   0e051a63            bnez    a0,40006c50 <rtems_rfs_buffer_setblksize+0x118>   <== NEVER TAKEN
  rc = rtems_rfs_buffers_release (fs);                                                    
40006b60:   00040513            mv  a0,s0                                                 
40006b64:   f41ff0ef            jal ra,40006aa4 <rtems_rfs_buffers_release>               
40006b68:   00050493            mv  s1,a0                                                 
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))                    
40006b6c:   04a04263            bgtz    a0,40006bb0 <rtems_rfs_buffer_setblksize+0x78>    <== NEVER TAKEN
  rc = rtems_rfs_buffer_sync (fs);                                                        
40006b70:   00040513            mv  a0,s0                                                 
40006b74:   e7dff0ef            jal ra,400069f0 <rtems_rfs_buffer_sync>                   
40006b78:   00050493            mv  s1,a0                                                 
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))                    
40006b7c:   06a04863            bgtz    a0,40006bec <rtems_rfs_buffer_setblksize+0xb4>    <== NEVER TAKEN
  rc = fs->disk->ioctl (fs->disk, RTEMS_BLKIO_SETBLKSIZE, &size);                         
40006b80:   01042503            lw  a0,16(s0)                                             
40006b84:   800445b7            lui a1,0x80044                                            
40006b88:   00c10613            addi    a2,sp,12                                          
40006b8c:   03852783            lw  a5,56(a0)                                             
40006b90:   20458593            addi    a1,a1,516 # 80044204 <RamEnd+0x3f044204>          
40006b94:   000780e7            jalr    a5                                                
  if (rc < 0)                                                                             
40006b98:   08054e63            bltz    a0,40006c34 <rtems_rfs_buffer_setblksize+0xfc>    <== NEVER TAKEN
}                                                                                         
40006b9c:   01c12083            lw  ra,28(sp)                                             
40006ba0:   01812403            lw  s0,24(sp)                                             
40006ba4:   01412483            lw  s1,20(sp)                                             
40006ba8:   02010113            addi    sp,sp,32                                          
40006bac:   00008067            ret                                                       
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))                    
40006bb0:   40000513            li  a0,1024                                               <== NOT EXECUTED
40006bb4:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006bb8:   554030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40006bbc:   fa050ae3            beqz    a0,40006b70 <rtems_rfs_buffer_setblksize+0x38>    <== NOT EXECUTED
    printf ("rtems-rfs: buffer-setblksize: buffer release failed: %d: %s\n",              
40006bc0:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40006bc4:   3a0180ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40006bc8:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40006bcc:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006bd0:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40006bd4:   95c50513            addi    a0,a0,-1700 # 4002195c <IMFS_node_control_sym_link+0x3fc><== NOT EXECUTED
40006bd8:   e21fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  rc = rtems_rfs_buffer_sync (fs);                                                        
40006bdc:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40006be0:   e11ff0ef            jal ra,400069f0 <rtems_rfs_buffer_sync>                   <== NOT EXECUTED
40006be4:   00050493            mv  s1,a0                                                 <== NOT EXECUTED
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))                    
40006be8:   f8a05ce3            blez    a0,40006b80 <rtems_rfs_buffer_setblksize+0x48>    <== NOT EXECUTED
40006bec:   40000513            li  a0,1024                                               <== NOT EXECUTED
40006bf0:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006bf4:   518030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40006bf8:   f80504e3            beqz    a0,40006b80 <rtems_rfs_buffer_setblksize+0x48>    <== NOT EXECUTED
    printf ("rtems-rfs: buffer-setblksize: device sync failed: %d: %s\n",                 
40006bfc:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40006c00:   364180ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40006c04:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40006c08:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006c0c:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40006c10:   99c50513            addi    a0,a0,-1636 # 4002199c <IMFS_node_control_sym_link+0x43c><== NOT EXECUTED
40006c14:   de5fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  rc = fs->disk->ioctl (fs->disk, RTEMS_BLKIO_SETBLKSIZE, &size);                         
40006c18:   01042503            lw  a0,16(s0)                                             <== NOT EXECUTED
40006c1c:   800445b7            lui a1,0x80044                                            <== NOT EXECUTED
40006c20:   00c10613            addi    a2,sp,12                                          <== NOT EXECUTED
40006c24:   03852783            lw  a5,56(a0)                                             <== NOT EXECUTED
40006c28:   20458593            addi    a1,a1,516 # 80044204 <RamEnd+0x3f044204>          <== NOT EXECUTED
40006c2c:   000780e7            jalr    a5                                                <== NOT EXECUTED
  if (rc < 0)                                                                             
40006c30:   f60556e3            bgez    a0,40006b9c <rtems_rfs_buffer_setblksize+0x64>    <== NOT EXECUTED
    rc = errno;                                                                           
40006c34:   054170ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
}                                                                                         
40006c38:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
40006c3c:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
    rc = errno;                                                                           
40006c40:   00052503            lw  a0,0(a0)                                              <== NOT EXECUTED
}                                                                                         
40006c44:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
40006c48:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
40006c4c:   00008067            ret                                                       <== NOT EXECUTED
    printf ("rtems-rfs: buffer-setblksize: block size: %" PRIu32 "\n", size);             
40006c50:   00c12583            lw  a1,12(sp)                                             <== NOT EXECUTED
40006c54:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006c58:   92c50513            addi    a0,a0,-1748 # 4002192c <IMFS_node_control_sym_link+0x3cc><== NOT EXECUTED
40006c5c:   d9dfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40006c60:   f01ff06f            j   40006b60 <rtems_rfs_buffer_setblksize+0x28>           <== NOT EXECUTED
                                                                                          

400069f0 <rtems_rfs_buffer_sync>: {
400069f0:   ff010113            addi    sp,sp,-16                                         
400069f4:   00812423            sw  s0,8(sp)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                      
400069f8:   00000593            li  a1,0                                                  
{                                                                                         
400069fc:   00050413            mv  s0,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                      
40006a00:   02000513            li  a0,32                                                 
{                                                                                         
40006a04:   00112623            sw  ra,12(sp)                                             
40006a08:   00912223            sw  s1,4(sp)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                      
40006a0c:   700030ef            jal ra,4000a10c <rtems_rfs_trace>                         
40006a10:   02051863            bnez    a0,40006a40 <rtems_rfs_buffer_sync+0x50>          <== NEVER TAKEN
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                                    
40006a14:   01042503            lw  a0,16(s0)                                             
  int result = 0;                                                                         
40006a18:   00000493            li  s1,0                                                  
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                                    
40006a1c:   7f80a0ef            jal ra,40011214 <rtems_bdbuf_syncdev>                     
40006a20:   00050413            mv  s0,a0                                                 
  if (sc != RTEMS_SUCCESSFUL)                                                             
40006a24:   02051e63            bnez    a0,40006a60 <rtems_rfs_buffer_sync+0x70>          <== NEVER TAKEN
}                                                                                         
40006a28:   00c12083            lw  ra,12(sp)                                             
40006a2c:   00812403            lw  s0,8(sp)                                              
40006a30:   00048513            mv  a0,s1                                                 
40006a34:   00412483            lw  s1,4(sp)                                              
40006a38:   01010113            addi    sp,sp,16                                          
40006a3c:   00008067            ret                                                       
    printf ("rtems-rfs: buffer-sync: syncing\n");                                         
40006a40:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006a44:   89450513            addi    a0,a0,-1900 # 40021894 <IMFS_node_control_sym_link+0x334><== NOT EXECUTED
40006a48:   ff9fa0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                                    
40006a4c:   01042503            lw  a0,16(s0)                                             <== NOT EXECUTED
  int result = 0;                                                                         
40006a50:   00000493            li  s1,0                                                  <== NOT EXECUTED
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                                    
40006a54:   7c00a0ef            jal ra,40011214 <rtems_bdbuf_syncdev>                     <== NOT EXECUTED
40006a58:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                                             
40006a5c:   fc0506e3            beqz    a0,40006a28 <rtems_rfs_buffer_sync+0x38>          <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                    
40006a60:   02000513            li  a0,32                                                 <== NOT EXECUTED
40006a64:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006a68:   6a4030ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
    result = EIO;                                                                         
40006a6c:   00500493            li  s1,5                                                  <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                                    
40006a70:   fa050ce3            beqz    a0,40006a28 <rtems_rfs_buffer_sync+0x38>          <== NOT EXECUTED
      printf ("rtems-rfs: buffer-sync: device sync failed: %s\n",                         
40006a74:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40006a78:   6b4030ef            jal ra,4000a12c <rtems_status_text>                       <== NOT EXECUTED
40006a7c:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
40006a80:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006a84:   8b450513            addi    a0,a0,-1868 # 400218b4 <IMFS_node_control_sym_link+0x354><== NOT EXECUTED
40006a88:   f71fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
}                                                                                         
40006a8c:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
40006a90:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
40006a94:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40006a98:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
40006a9c:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
40006aa0:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

40006aa4 <rtems_rfs_buffers_release>: int rtems_rfs_buffers_release (rtems_rfs_file_system* fs) {
40006aa4:   ff010113            addi    sp,sp,-16                                         
40006aa8:   00812423            sw  s0,8(sp)                                              
  int rrc = 0;                                                                            
  int rc;                                                                                 
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))                                   
40006aac:   00000593            li  a1,0                                                  
{                                                                                         
40006ab0:   00050413            mv  s0,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))                                   
40006ab4:   04000513            li  a0,64                                                 
{                                                                                         
40006ab8:   00112623            sw  ra,12(sp)                                             
40006abc:   00912223            sw  s1,4(sp)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))                                   
40006ac0:   64c030ef            jal ra,4000a10c <rtems_rfs_trace>                         
40006ac4:   04051c63            bnez    a0,40006b1c <rtems_rfs_buffers_release+0x78>      <== NEVER TAKEN
    printf ("rtems-rfs: buffers-release: active:%" PRIu32 " "                             
            "release:%" PRIu32 " release-modified:%" PRIu32 "\n",                         
            fs->buffers_count, fs->release_count, fs->release_modified_count);            
                                                                                          
  rc = rtems_rfs_release_chain (&fs->release,                                             
40006ac8:   06040593            addi    a1,s0,96                                          
40006acc:   00000613            li  a2,0                                                  
40006ad0:   05440513            addi    a0,s0,84                                          
40006ad4:   fb0ff0ef            jal ra,40006284 <rtems_rfs_release_chain>                 
40006ad8:   fff54793            not a5,a0                                                 
40006adc:   00050493            mv  s1,a0                                                 
                                &fs->release_count,                                       
                                false);                                                   
  if ((rc > 0) && (rrc == 0))                                                             
40006ae0:   41f7d793            srai    a5,a5,0x1f                                        
    rrc = rc;                                                                             
  rc = rtems_rfs_release_chain (&fs->release_modified,                                    
40006ae4:   07040593            addi    a1,s0,112                                         
40006ae8:   06440513            addi    a0,s0,100                                         
40006aec:   00100613            li  a2,1                                                  
40006af0:   00f4f433            and s0,s1,a5                                              
40006af4:   f90ff0ef            jal ra,40006284 <rtems_rfs_release_chain>                 
                                &fs->release_modified_count,                              
                                true);                                                    
  if ((rc > 0) && (rrc == 0))                                                             
40006af8:   00a05663            blez    a0,40006b04 <rtems_rfs_buffers_release+0x60>      <== ALWAYS TAKEN
40006afc:   00904463            bgtz    s1,40006b04 <rtems_rfs_buffers_release+0x60>      <== NOT EXECUTED
40006b00:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    rrc = rc;                                                                             
                                                                                          
  return rrc;                                                                             
}                                                                                         
40006b04:   00c12083            lw  ra,12(sp)                                             
40006b08:   00040513            mv  a0,s0                                                 
40006b0c:   00812403            lw  s0,8(sp)                                              
40006b10:   00412483            lw  s1,4(sp)                                              
40006b14:   01010113            addi    sp,sp,16                                          
40006b18:   00008067            ret                                                       
    printf ("rtems-rfs: buffers-release: active:%" PRIu32 " "                             
40006b1c:   07042683            lw  a3,112(s0)                                            <== NOT EXECUTED
40006b20:   06042603            lw  a2,96(s0)                                             <== NOT EXECUTED
40006b24:   05042583            lw  a1,80(s0)                                             <== NOT EXECUTED
40006b28:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40006b2c:   8e450513            addi    a0,a0,-1820 # 400218e4 <IMFS_node_control_sym_link+0x384><== NOT EXECUTED
40006b30:   ec9fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40006b34:   f95ff06f            j   40006ac8 <rtems_rfs_buffers_release+0x24>             <== NOT EXECUTED
                                                                                          

40014874 <rtems_rfs_dir_add_entry>: rtems_rfs_dir_add_entry (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, const char* name, size_t length, rtems_rfs_ino ino) {
40014874:   f4010113            addi    sp,sp,-192                                        
40014878:   0b312623            sw  s3,172(sp)                                            
4001487c:   09912a23            sw  s9,148(sp)                                            
40014880:   00058993            mv  s3,a1                                                 
40014884:   00050c93            mv  s9,a0                                                 
  rtems_rfs_block_map     map;                                                            
  rtems_rfs_block_pos     bpos;                                                           
  rtems_rfs_buffer_handle buffer;                                                         
  int                     rc;                                                             
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                                    
40014888:   00000593            li  a1,0                                                  
4001488c:   20000537            lui a0,0x20000                                            
{                                                                                         
40014890:   0b212823            sw  s2,176(sp)                                            
40014894:   0b412423            sw  s4,168(sp)                                            
40014898:   0b512223            sw  s5,164(sp)                                            
4001489c:   0a112e23            sw  ra,188(sp)                                            
400148a0:   0a812c23            sw  s0,184(sp)                                            
400148a4:   0a912a23            sw  s1,180(sp)                                            
400148a8:   0b612023            sw  s6,160(sp)                                            
400148ac:   09712e23            sw  s7,156(sp)                                            
400148b0:   09812c23            sw  s8,152(sp)                                            
400148b4:   09a12823            sw  s10,144(sp)                                           
400148b8:   09b12623            sw  s11,140(sp)                                           
400148bc:   00060a13            mv  s4,a2                                                 
400148c0:   00068913            mv  s2,a3                                                 
400148c4:   00070a93            mv  s5,a4                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                                    
400148c8:   845f50ef            jal ra,4000a10c <rtems_rfs_trace>                         
400148cc:   2a051c63            bnez    a0,40014b84 <rtems_rfs_dir_add_entry+0x310>       <== NEVER TAKEN
    for (c = 0; c < length; c++)                                                          
      printf ("%c", name[c]);                                                             
    printf (", len=%zd\n", length);                                                       
  }                                                                                       
                                                                                          
  rc = rtems_rfs_block_map_open (fs, dir, &map);                                          
400148d0:   03010613            addi    a2,sp,48                                          
400148d4:   00098593            mv  a1,s3                                                 
400148d8:   000c8513            mv  a0,s9                                                 
400148dc:   c9dfe0ef            jal ra,40013578 <rtems_rfs_block_map_open>                
400148e0:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
400148e4:   0ca04663            bgtz    a0,400149b0 <rtems_rfs_dir_add_entry+0x13c>       <== NEVER TAKEN
      int           elength;                                                              
                                                                                          
      elength = rtems_rfs_dir_entry_length (entry);                                       
      eino    = rtems_rfs_dir_entry_ino (entry);                                          
                                                                                          
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                           
400148e8:   00010d37            lui s10,0x10                                              
      {                                                                                   
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                                         
400148ec:   00a90793            addi    a5,s2,10                                          
  handle->dirty = false;                                                                  
400148f0:   02010223            sb  zero,36(sp)                                           
  handle->bnum  = 0;                                                                      
400148f4:   02012423            sw  zero,40(sp)                                           
  handle->buffer = NULL;                                                                  
400148f8:   02012623            sw  zero,44(sp)                                           
  bpos->bno = 0;                                                                          
400148fc:   00012c23            sw  zero,24(sp)                                           
  bpos->boff = 0;                                                                         
40014900:   00012e23            sw  zero,28(sp)                                           
  bpos->block = 0;                                                                        
40014904:   02012023            sw  zero,32(sp)                                           
      if (rc != ENXIO)                                                                    
40014908:   00600b13            li  s6,6                                                  
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                           
4001490c:   fffd0d13            addi    s10,s10,-1 # ffff <bsp_section_bss_size+0xaa4f>   
        }                                                                                 
                                                                                          
        break;                                                                            
      }                                                                                   
                                                                                          
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40014910:   00a00d93            li  s11,10                                                
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                                         
40014914:   00f12623            sw  a5,12(sp)                                             
    rc = rtems_rfs_block_map_find (fs, &map, &bpos, &block);                              
40014918:   01410693            addi    a3,sp,20                                          
4001491c:   01810613            addi    a2,sp,24                                          
40014920:   03010593            addi    a1,sp,48                                          
40014924:   000c8513            mv  a0,s9                                                 
40014928:   818ff0ef            jal ra,40013940 <rtems_rfs_block_map_find>                
4001492c:   00050413            mv  s0,a0                                                 
    if (rc > 0)                                                                           
40014930:   28a05a63            blez    a0,40014bc4 <rtems_rfs_dir_add_entry+0x350>       
      if (rc != ENXIO)                                                                    
40014934:   31651e63            bne a0,s6,40014c50 <rtems_rfs_dir_add_entry+0x3dc>        
      rc = rtems_rfs_block_map_grow (fs, &map, 1, &block);                                
40014938:   01410693            addi    a3,sp,20                                          
4001493c:   00100613            li  a2,1                                                  
40014940:   03010593            addi    a1,sp,48                                          
40014944:   000c8513            mv  a0,s9                                                 
40014948:   a40ff0ef            jal ra,40013b88 <rtems_rfs_block_map_grow>                
4001494c:   00050413            mv  s0,a0                                                 
      if (rc > 0)                                                                         
40014950:   2ca04463            bgtz    a0,40014c18 <rtems_rfs_dir_add_entry+0x3a4>       <== NEVER TAKEN
    bpos.bno++;                                                                           
40014954:   01812783            lw  a5,24(sp)                                             
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);                      
40014958:   01412603            lw  a2,20(sp)                                             
4001495c:   00000693            li  a3,0                                                  
    bpos.bno++;                                                                           
40014960:   00178793            addi    a5,a5,1                                           
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);                      
40014964:   02410593            addi    a1,sp,36                                          
40014968:   000c8513            mv  a0,s9                                                 
    bpos.bno++;                                                                           
4001496c:   00f12c23            sw  a5,24(sp)                                             
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);                      
40014970:   c0df10ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40014974:   00050413            mv  s0,a0                                                 
    if (rc > 0)                                                                           
40014978:   06a05c63            blez    a0,400149f0 <rtems_rfs_dir_add_entry+0x17c>       <== ALWAYS TAKEN
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                                
4001497c:   20000537            lui a0,0x20000                                            <== NOT EXECUTED
40014980:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014984:   f88f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40014988:   30051063            bnez    a0,40014c88 <rtems_rfs_dir_add_entry+0x414>       <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4001498c:   02410593            addi    a1,sp,36                                          <== NOT EXECUTED
40014990:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
40014994:   e81f10ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
      offset += elength;                                                                  
    }                                                                                     
  }                                                                                       
                                                                                          
  rtems_rfs_buffer_handle_close (fs, &buffer);                                            
  rtems_rfs_block_map_close (fs, &map);                                                   
40014998:   03010593            addi    a1,sp,48                                          <== NOT EXECUTED
4001499c:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
400149a0:   02010223            sb  zero,36(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
400149a4:   02012423            sw  zero,40(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
400149a8:   02012623            sw  zero,44(sp)                                           <== NOT EXECUTED
400149ac:   da1fe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
  return rc;                                                                              
}                                                                                         
400149b0:   0bc12083            lw  ra,188(sp)                                            
400149b4:   00040513            mv  a0,s0                                                 
400149b8:   0b812403            lw  s0,184(sp)                                            
400149bc:   0b412483            lw  s1,180(sp)                                            
400149c0:   0b012903            lw  s2,176(sp)                                            
400149c4:   0ac12983            lw  s3,172(sp)                                            
400149c8:   0a812a03            lw  s4,168(sp)                                            
400149cc:   0a412a83            lw  s5,164(sp)                                            
400149d0:   0a012b03            lw  s6,160(sp)                                            
400149d4:   09c12b83            lw  s7,156(sp)                                            
400149d8:   09812c03            lw  s8,152(sp)                                            
400149dc:   09412c83            lw  s9,148(sp)                                            
400149e0:   09012d03            lw  s10,144(sp)                                           
400149e4:   08c12d83            lw  s11,140(sp)                                           
400149e8:   0c010113            addi    sp,sp,192                                         
400149ec:   00008067            ret                                                       
    entry  = rtems_rfs_buffer_data (&buffer);                                             
400149f0:   02c12783            lw  a5,44(sp)                                             
      memset (entry, 0xff, rtems_rfs_fs_block_size (fs));                                 
400149f4:   008ca603            lw  a2,8(s9)                                              
400149f8:   0ff00593            li  a1,255                                                
    entry  = rtems_rfs_buffer_data (&buffer);                                             
400149fc:   01c7ac03            lw  s8,28(a5)                                             
      memset (entry, 0xff, rtems_rfs_fs_block_size (fs));                                 
40014a00:   000c0513            mv  a0,s8                                                 
40014a04:   135090ef            jal ra,4001e338 <memset>                                  
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))            
40014a08:   008ca503            lw  a0,8(s9)                                              
40014a0c:   ff650793            addi    a5,a0,-10 # 1ffffff6 <RamSize+0x1efffff6>         
40014a10:   f00784e3            beqz    a5,40014918 <rtems_rfs_dir_add_entry+0xa4>        <== NEVER TAKEN
    offset = 0;                                                                           
40014a14:   00000b93            li  s7,0                                                  
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))            
40014a18:   00000593            li  a1,0                                                  
40014a1c:   02c0006f            j   40014a48 <rtems_rfs_dir_add_entry+0x1d4>              
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40014a20:   129dd463            bge s11,s1,40014b48 <rtems_rfs_dir_add_entry+0x2d4>       
40014a24:   01cca683            lw  a3,28(s9)                                             
      entry  += elength;                                                                  
40014a28:   009c0c33            add s8,s8,s1                                              
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40014a2c:   10d4fe63            bgeu    s1,a3,40014b48 <rtems_rfs_dir_add_entry+0x2d4>    
40014a30:   10040c63            beqz    s0,40014b48 <rtems_rfs_dir_add_entry+0x2d4>       <== NEVER TAKEN
40014a34:   014ca683            lw  a3,20(s9)                                             
40014a38:   1086e863            bltu    a3,s0,40014b48 <rtems_rfs_dir_add_entry+0x2d4>    
      offset += elength;                                                                  
40014a3c:   009b8bb3            add s7,s7,s1                                              
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))            
40014a40:   000b8593            mv  a1,s7                                                 
40014a44:   ecfbfae3            bgeu    s7,a5,40014918 <rtems_rfs_dir_add_entry+0xa4>     
      entry  += elength;                                                                  
40014a48:   009c4603            lbu a2,9(s8)                                              
40014a4c:   008c4483            lbu s1,8(s8)                                              
      eino    = rtems_rfs_dir_entry_ino (entry);                                          
40014a50:   000c4403            lbu s0,0(s8)                                              
40014a54:   001c4803            lbu a6,1(s8)                                              
40014a58:   00861613            slli    a2,a2,0x8                                         
40014a5c:   00966633            or  a2,a2,s1                                              
40014a60:   00861493            slli    s1,a2,0x8                                         
40014a64:   003c4883            lbu a7,3(s8)                                              
40014a68:   002c4683            lbu a3,2(s8)                                              
40014a6c:   00865613            srli    a2,a2,0x8                                         
40014a70:   01841413            slli    s0,s0,0x18                                        
40014a74:   01081813            slli    a6,a6,0x10                                        
40014a78:   00c4e633            or  a2,s1,a2                                              
40014a7c:   01046433            or  s0,s0,a6                                              
40014a80:   01061493            slli    s1,a2,0x10                                        
40014a84:   01146433            or  s0,s0,a7                                              
40014a88:   00869693            slli    a3,a3,0x8                                         
40014a8c:   0104d493            srli    s1,s1,0x10                                        
40014a90:   00d46433            or  s0,s0,a3                                              
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                           
40014a94:   f9a496e3            bne s1,s10,40014a20 <rtems_rfs_dir_add_entry+0x1ac>       
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                                         
40014a98:   00c12783            lw  a5,12(sp)                                             
            (rtems_rfs_fs_block_size (fs) - offset))                                      
40014a9c:   40b505b3            sub a1,a0,a1                                              
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                                         
40014aa0:   e6b7fce3            bgeu    a5,a1,40014918 <rtems_rfs_dir_add_entry+0xa4>     
          hash = rtems_rfs_dir_hash (name, length);                                       
40014aa4:   00090593            mv  a1,s2                                                 
40014aa8:   000a0513            mv  a0,s4                                                 
40014aac:   469000ef            jal ra,40015714 <rtems_rfs_dir_hash>                      
          rtems_rfs_dir_set_entry_length (entry,                                          
40014ab0:   00c12e83            lw  t4,12(sp)                                             
          rtems_rfs_dir_set_entry_hash (entry, hash);                                     
40014ab4:   01855e13            srli    t3,a0,0x18                                        
40014ab8:   01055313            srli    t1,a0,0x10                                        
          rtems_rfs_dir_set_entry_length (entry,                                          
40014abc:   010e9713            slli    a4,t4,0x10                                        
40014ac0:   01075713            srli    a4,a4,0x10                                        
          rtems_rfs_dir_set_entry_hash (entry, hash);                                     
40014ac4:   00855893            srli    a7,a0,0x8                                         
          hash = rtems_rfs_dir_hash (name, length);                                       
40014ac8:   00050793            mv  a5,a0                                                 
          rtems_rfs_dir_set_entry_length (entry,                                          
40014acc:   00875713            srli    a4,a4,0x8                                         
          rtems_rfs_dir_set_entry_ino (entry, ino);                                       
40014ad0:   018ad813            srli    a6,s5,0x18                                        
40014ad4:   008ad693            srli    a3,s5,0x8                                         
40014ad8:   010ad513            srli    a0,s5,0x10                                        
          memcpy (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length);                        
40014adc:   00090613            mv  a2,s2                                                 
40014ae0:   000a0593            mv  a1,s4                                                 
          rtems_rfs_dir_set_entry_hash (entry, hash);                                     
40014ae4:   01cc0223            sb  t3,4(s8)                                              
40014ae8:   006c02a3            sb  t1,5(s8)                                              
40014aec:   011c0323            sb  a7,6(s8)                                              
40014af0:   00fc03a3            sb  a5,7(s8)                                              
          rtems_rfs_dir_set_entry_ino (entry, ino);                                       
40014af4:   010c0023            sb  a6,0(s8)                                              
40014af8:   00ac00a3            sb  a0,1(s8)                                              
40014afc:   00dc0123            sb  a3,2(s8)                                              
          rtems_rfs_dir_set_entry_length (entry,                                          
40014b00:   00ec0423            sb  a4,8(s8)                                              
40014b04:   01dc04a3            sb  t4,9(s8)                                              
          rtems_rfs_dir_set_entry_ino (entry, ino);                                       
40014b08:   015c01a3            sb  s5,3(s8)                                              
          memcpy (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length);                        
40014b0c:   00ac0513            addi    a0,s8,10                                          
40014b10:   5e0090ef            jal ra,4001e0f0 <memcpy>                                  
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40014b14:   02410593            addi    a1,sp,36                                          
          rtems_rfs_buffer_mark_dirty (&buffer);                                          
40014b18:   00100793            li  a5,1                                                  
40014b1c:   000c8513            mv  a0,s9                                                 
40014b20:   02f10223            sb  a5,36(sp)                                             
40014b24:   cf1f10ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
          rtems_rfs_block_map_close (fs, &map);                                           
40014b28:   03010593            addi    a1,sp,48                                          
40014b2c:   000c8513            mv  a0,s9                                                 
  handle->dirty = false;                                                                  
40014b30:   02010223            sb  zero,36(sp)                                           
  handle->bnum  = 0;                                                                      
40014b34:   02012423            sw  zero,40(sp)                                           
  handle->buffer = NULL;                                                                  
40014b38:   02012623            sw  zero,44(sp)                                           
          return 0;                                                                       
40014b3c:   00000413            li  s0,0                                                  
          rtems_rfs_block_map_close (fs, &map);                                           
40014b40:   c0dfe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
          return 0;                                                                       
40014b44:   e6dff06f            j   400149b0 <rtems_rfs_dir_add_entry+0x13c>              
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                              
40014b48:   20000537            lui a0,0x20000                                            <== NOT EXECUTED
40014b4c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014b50:   dbcf50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40014b54:   0a051263            bnez    a0,40014bf8 <rtems_rfs_dir_add_entry+0x384>       <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40014b58:   02410593            addi    a1,sp,36                                          <== NOT EXECUTED
40014b5c:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
40014b60:   cb5f10ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
        rtems_rfs_block_map_close (fs, &map);                                             
40014b64:   03010593            addi    a1,sp,48                                          <== NOT EXECUTED
40014b68:   000c8513            mv  a0,s9                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40014b6c:   02010223            sb  zero,36(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40014b70:   02012423            sw  zero,40(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40014b74:   02012623            sw  zero,44(sp)                                           <== NOT EXECUTED
        return EIO;                                                                       
40014b78:   00500413            li  s0,5                                                  <== NOT EXECUTED
        rtems_rfs_block_map_close (fs, &map);                                             
40014b7c:   bd1fe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
        return EIO;                                                                       
40014b80:   e31ff06f            j   400149b0 <rtems_rfs_dir_add_entry+0x13c>              <== NOT EXECUTED
    printf ("rtems-rfs: dir-add-entry: dir=%" PRId32 ", name=",                           
40014b84:   0089a583            lw  a1,8(s3)                                              <== NOT EXECUTED
40014b88:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014b8c:   1e850513            addi    a0,a0,488 # 400231e8 <IMFS_LIMITS_AND_OPTIONS+0x408><== NOT EXECUTED
40014b90:   e69ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40014b94:   00090e63            beqz    s2,40014bb0 <rtems_rfs_dir_add_entry+0x33c>       <== NOT EXECUTED
40014b98:   000a0413            mv  s0,s4                                                 <== NOT EXECUTED
40014b9c:   014904b3            add s1,s2,s4                                              <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
40014ba0:   00044503            lbu a0,0(s0)                                              <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40014ba4:   00140413            addi    s0,s0,1                                           <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
40014ba8:   06d090ef            jal ra,4001e414 <putchar>                                 <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40014bac:   fe849ae3            bne s1,s0,40014ba0 <rtems_rfs_dir_add_entry+0x32c>        <== NOT EXECUTED
    printf (", len=%zd\n", length);                                                       
40014bb0:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014bb4:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40014bb8:   21050513            addi    a0,a0,528 # 40023210 <IMFS_LIMITS_AND_OPTIONS+0x430><== NOT EXECUTED
40014bbc:   e3dec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014bc0:   d11ff06f            j   400148d0 <rtems_rfs_dir_add_entry+0x5c>               <== NOT EXECUTED
    bpos.bno++;                                                                           
40014bc4:   01812783            lw  a5,24(sp)                                             
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);                      
40014bc8:   01412603            lw  a2,20(sp)                                             
40014bcc:   00100693            li  a3,1                                                  
    bpos.bno++;                                                                           
40014bd0:   00178793            addi    a5,a5,1                                           
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);                      
40014bd4:   02410593            addi    a1,sp,36                                          
40014bd8:   000c8513            mv  a0,s9                                                 
    bpos.bno++;                                                                           
40014bdc:   00f12c23            sw  a5,24(sp)                                             
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);                      
40014be0:   99df10ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40014be4:   00050413            mv  s0,a0                                                 
    if (rc > 0)                                                                           
40014be8:   d8a04ae3            bgtz    a0,4001497c <rtems_rfs_dir_add_entry+0x108>       <== NEVER TAKEN
    entry  = rtems_rfs_buffer_data (&buffer);                                             
40014bec:   02c12783            lw  a5,44(sp)                                             
40014bf0:   01c7ac03            lw  s8,28(a5)                                             
    if (!read)                                                                            
40014bf4:   e15ff06f            j   40014a08 <rtems_rfs_dir_add_entry+0x194>              
          printf ("rtems-rfs: dir-add-entry: "                                            
40014bf8:   0089a583            lw  a1,8(s3)                                              <== NOT EXECUTED
40014bfc:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014c00:   000b8713            mv  a4,s7                                                 <== NOT EXECUTED
40014c04:   00040693            mv  a3,s0                                                 <== NOT EXECUTED
40014c08:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40014c0c:   2ec50513            addi    a0,a0,748 # 400232ec <IMFS_LIMITS_AND_OPTIONS+0x50c><== NOT EXECUTED
40014c10:   de9ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014c14:   f45ff06f            j   40014b58 <rtems_rfs_dir_add_entry+0x2e4>              <== NOT EXECUTED
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                              
40014c18:   20000537            lui a0,0x20000                                            <== NOT EXECUTED
40014c1c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014c20:   cecf50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40014c24:   d60504e3            beqz    a0,4001498c <rtems_rfs_dir_add_entry+0x118>       <== NOT EXECUTED
          printf ("rtems-rfs: dir-add-entry: "                                            
40014c28:   0089a483            lw  s1,8(s3)                                              <== NOT EXECUTED
40014c2c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40014c30:   3340a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40014c34:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40014c38:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014c3c:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
40014c40:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40014c44:   26050513            addi    a0,a0,608 # 40023260 <IMFS_LIMITS_AND_OPTIONS+0x480><== NOT EXECUTED
40014c48:   db1ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014c4c:   d41ff06f            j   4001498c <rtems_rfs_dir_add_entry+0x118>              <== NOT EXECUTED
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                              
40014c50:   20000537            lui a0,0x20000                                            <== NOT EXECUTED
40014c54:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014c58:   cb4f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40014c5c:   d20508e3            beqz    a0,4001498c <rtems_rfs_dir_add_entry+0x118>       <== NOT EXECUTED
          printf ("rtems-rfs: dir-add-entry: "                                            
40014c60:   0089a483            lw  s1,8(s3)                                              <== NOT EXECUTED
40014c64:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40014c68:   2fc0a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40014c6c:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40014c70:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014c74:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
40014c78:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40014c7c:   21c50513            addi    a0,a0,540 # 4002321c <IMFS_LIMITS_AND_OPTIONS+0x43c><== NOT EXECUTED
40014c80:   d79ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014c84:   d09ff06f            j   4001498c <rtems_rfs_dir_add_entry+0x118>              <== NOT EXECUTED
        printf ("rtems-rfs: dir-add-entry: "                                              
40014c88:   0089a483            lw  s1,8(s3)                                              <== NOT EXECUTED
40014c8c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40014c90:   2d40a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40014c94:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40014c98:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014c9c:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
40014ca0:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40014ca4:   2a450513            addi    a0,a0,676 # 400232a4 <IMFS_LIMITS_AND_OPTIONS+0x4c4><== NOT EXECUTED
40014ca8:   d51ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014cac:   ce1ff06f            j   4001498c <rtems_rfs_dir_add_entry+0x118>              <== NOT EXECUTED
                                                                                          

40014cb0 <rtems_rfs_dir_del_entry>: int rtems_rfs_dir_del_entry (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, rtems_rfs_ino ino, uint32_t offset) {
40014cb0:   f6010113            addi    sp,sp,-160                                        
40014cb4:   09212823            sw  s2,144(sp)                                            
40014cb8:   09512223            sw  s5,132(sp)                                            
40014cbc:   00058913            mv  s2,a1                                                 
40014cc0:   00050a93            mv  s5,a0                                                 
  rtems_rfs_block_no      block;                                                          
  rtems_rfs_buffer_handle buffer;                                                         
  bool                    search;                                                         
  int                     rc;                                                             
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                                    
40014cc4:   00000593            li  a1,0                                                  
40014cc8:   40000537            lui a0,0x40000                                            
{                                                                                         
40014ccc:   07712e23            sw  s7,124(sp)                                            
40014cd0:   07812c23            sw  s8,120(sp)                                            
40014cd4:   08112e23            sw  ra,156(sp)                                            
40014cd8:   08812c23            sw  s0,152(sp)                                            
40014cdc:   08912a23            sw  s1,148(sp)                                            
40014ce0:   09312623            sw  s3,140(sp)                                            
40014ce4:   09412423            sw  s4,136(sp)                                            
40014ce8:   09612023            sw  s6,128(sp)                                            
40014cec:   07912a23            sw  s9,116(sp)                                            
40014cf0:   07a12823            sw  s10,112(sp)                                           
40014cf4:   07b12623            sw  s11,108(sp)                                           
40014cf8:   00060c13            mv  s8,a2                                                 
40014cfc:   00068b93            mv  s7,a3                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                                    
40014d00:   c0cf50ef            jal ra,4000a10c <rtems_rfs_trace>                         
40014d04:   1c051263            bnez    a0,40014ec8 <rtems_rfs_dir_del_entry+0x218>       <== NEVER TAKEN
    printf ("rtems-rfs: dir-del-entry: dir=%" PRId32 ", entry=%" PRId32 " offset=%" PRIu32 "\n",
            rtems_rfs_inode_ino (dir), ino, offset);                                      
                                                                                          
  rc = rtems_rfs_block_map_open (fs, dir, &map);                                          
40014d08:   01010613            addi    a2,sp,16                                          
40014d0c:   00090593            mv  a1,s2                                                 
40014d10:   000a8513            mv  a0,s5                                                 
40014d14:   865fe0ef            jal ra,40013578 <rtems_rfs_block_map_open>                
40014d18:   00050b13            mv  s6,a0                                                 
  if (rc > 0)                                                                             
40014d1c:   04a05263            blez    a0,40014d60 <rtems_rfs_dir_del_entry+0xb0>        <== ALWAYS TAKEN
  }                                                                                       
                                                                                          
  rtems_rfs_buffer_handle_close (fs, &buffer);                                            
  rtems_rfs_block_map_close (fs, &map);                                                   
  return rc;                                                                              
}                                                                                         
40014d20:   09c12083            lw  ra,156(sp)                                            
40014d24:   09812403            lw  s0,152(sp)                                            
40014d28:   09412483            lw  s1,148(sp)                                            
40014d2c:   09012903            lw  s2,144(sp)                                            
40014d30:   08c12983            lw  s3,140(sp)                                            
40014d34:   08812a03            lw  s4,136(sp)                                            
40014d38:   08412a83            lw  s5,132(sp)                                            
40014d3c:   07c12b83            lw  s7,124(sp)                                            
40014d40:   07812c03            lw  s8,120(sp)                                            
40014d44:   07412c83            lw  s9,116(sp)                                            
40014d48:   07012d03            lw  s10,112(sp)                                           
40014d4c:   06c12d83            lw  s11,108(sp)                                           
40014d50:   000b0513            mv  a0,s6                                                 
40014d54:   08012b03            lw  s6,128(sp)                                            
40014d58:   0a010113            addi    sp,sp,160                                         
40014d5c:   00008067            ret                                                       
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);                               
40014d60:   00010713            mv  a4,sp                                                 
40014d64:   000b8613            mv  a2,s7                                                 
40014d68:   00000693            li  a3,0                                                  
40014d6c:   01010593            addi    a1,sp,16                                          
40014d70:   000a8513            mv  a0,s5                                                 
40014d74:   d19fe0ef            jal ra,40013a8c <rtems_rfs_block_map_seek>                
40014d78:   00050b13            mv  s6,a0                                                 
  if (rc > 0)                                                                             
40014d7c:   18a04663            bgtz    a0,40014f08 <rtems_rfs_dir_del_entry+0x258>       <== NEVER TAKEN
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                           
40014d80:   00010cb7            lui s9,0x10                                               
  handle->dirty = false;                                                                  
40014d84:   00010223            sb  zero,4(sp)                                            
  handle->bnum  = 0;                                                                      
40014d88:   00012423            sw  zero,8(sp)                                            
  handle->buffer = NULL;                                                                  
40014d8c:   00012623            sw  zero,12(sp)                                           
40014d90:   fffc8c93            addi    s9,s9,-1 # ffff <bsp_section_bss_size+0xaa4f>     
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40014d94:   00a00d13            li  s10,10                                                
      if (rc == ENXIO)                                                                    
40014d98:   00600993            li  s3,6                                                  
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);                      
40014d9c:   00012603            lw  a2,0(sp)                                              
40014da0:   00100693            li  a3,1                                                  
40014da4:   00410593            addi    a1,sp,4                                           
40014da8:   000a8513            mv  a0,s5                                                 
40014dac:   fd0f10ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40014db0:   00050b13            mv  s6,a0                                                 
    if (rc > 0)                                                                           
40014db4:   2ca04063            bgtz    a0,40015074 <rtems_rfs_dir_del_entry+0x3c4>       <== NEVER TAKEN
      eoffset = offset % rtems_rfs_fs_block_size (fs);                                    
40014db8:   008aa583            lw  a1,8(s5)                                              
    if (search)                                                                           
40014dbc:   0c0b8263            beqz    s7,40014e80 <rtems_rfs_dir_del_entry+0x1d0>       <== NEVER TAKEN
      eoffset = offset % rtems_rfs_fs_block_size (fs);                                    
40014dc0:   02bbf7b3            remu    a5,s7,a1                                          
40014dc4:   00078a13            mv  s4,a5                                                 
    entry = rtems_rfs_buffer_data (&buffer) + eoffset;                                    
40014dc8:   00c12703            lw  a4,12(sp)                                             
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))           
40014dcc:   ff658613            addi    a2,a1,-10                                         
    entry = rtems_rfs_buffer_data (&buffer) + eoffset;                                    
40014dd0:   01c72d83            lw  s11,28(a4)                                            
40014dd4:   00fd8db3            add s11,s11,a5                                            
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))           
40014dd8:   02c7ea63            bltu    a5,a2,40014e0c <rtems_rfs_dir_del_entry+0x15c>    
40014ddc:   0800006f            j   40014e5c <rtems_rfs_dir_del_entry+0x1ac>              <== NOT EXECUTED
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40014de0:   0a9d5663            bge s10,s1,40014e8c <rtems_rfs_dir_del_entry+0x1dc>       
40014de4:   01caa783            lw  a5,28(s5)                                             
40014de8:   0af4f263            bgeu    s1,a5,40014e8c <rtems_rfs_dir_del_entry+0x1dc>    
40014dec:   0a040063            beqz    s0,40014e8c <rtems_rfs_dir_del_entry+0x1dc>       <== NEVER TAKEN
40014df0:   014aa783            lw  a5,20(s5)                                             
40014df4:   0887ec63            bltu    a5,s0,40014e8c <rtems_rfs_dir_del_entry+0x1dc>    
      if (ino == rtems_rfs_dir_entry_ino (entry))                                         
40014df8:   128c0663            beq s8,s0,40014f24 <rtems_rfs_dir_del_entry+0x274>        
      eoffset += elength;                                                                 
40014dfc:   009a0a33            add s4,s4,s1                                              <== NOT EXECUTED
      if (!search)                                                                        
40014e00:   200b9463            bnez    s7,40015008 <rtems_rfs_dir_del_entry+0x358>       <== NOT EXECUTED
      entry   += elength;                                                                 
40014e04:   009d8db3            add s11,s11,s1                                            <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))           
40014e08:   04ca7a63            bgeu    s4,a2,40014e5c <rtems_rfs_dir_del_entry+0x1ac>    <== NOT EXECUTED
      entry   += elength;                                                                 
40014e0c:   009dc783            lbu a5,9(s11)                                             
40014e10:   008dc803            lbu a6,8(s11)                                             
      eino    = rtems_rfs_dir_entry_ino (entry);                                          
40014e14:   000dc403            lbu s0,0(s11)                                             
40014e18:   001dc683            lbu a3,1(s11)                                             
40014e1c:   00879793            slli    a5,a5,0x8                                         
40014e20:   0107e7b3            or  a5,a5,a6                                              
40014e24:   00879493            slli    s1,a5,0x8                                         
40014e28:   003dc503            lbu a0,3(s11)                                             
40014e2c:   002dc703            lbu a4,2(s11)                                             
40014e30:   0087d793            srli    a5,a5,0x8                                         
40014e34:   00f4e7b3            or  a5,s1,a5                                              
40014e38:   01841413            slli    s0,s0,0x18                                        
40014e3c:   01069693            slli    a3,a3,0x10                                        
40014e40:   01079493            slli    s1,a5,0x10                                        
40014e44:   00d46433            or  s0,s0,a3                                              
40014e48:   00a46433            or  s0,s0,a0                                              
40014e4c:   00871793            slli    a5,a4,0x8                                         
40014e50:   0104d493            srli    s1,s1,0x10                                        
40014e54:   00f46433            or  s0,s0,a5                                              
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                           
40014e58:   f99494e3            bne s1,s9,40014de0 <rtems_rfs_dir_del_entry+0x130>        
    if (rc == 0)                                                                          
40014e5c:   040b1263            bnez    s6,40014ea0 <rtems_rfs_dir_del_entry+0x1f0>       <== NOT EXECUTED
      rc = rtems_rfs_block_map_next_block (fs, &map, &block);                             
40014e60:   00010613            mv  a2,sp                                                 <== NOT EXECUTED
40014e64:   01010593            addi    a1,sp,16                                          <== NOT EXECUTED
40014e68:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40014e6c:   ce9fe0ef            jal ra,40013b54 <rtems_rfs_block_map_next_block>          <== NOT EXECUTED
40014e70:   00050b13            mv  s6,a0                                                 <== NOT EXECUTED
      if (rc == ENXIO)                                                                    
40014e74:   25350263            beq a0,s3,400150b8 <rtems_rfs_dir_del_entry+0x408>        <== NOT EXECUTED
  while (rc == 0)                                                                         
40014e78:   f20502e3            beqz    a0,40014d9c <rtems_rfs_dir_del_entry+0xec>        <== NOT EXECUTED
40014e7c:   0240006f            j   40014ea0 <rtems_rfs_dir_del_entry+0x1f0>              <== NOT EXECUTED
40014e80:   00000793            li  a5,0                                                  <== NOT EXECUTED
      eoffset = 0;                                                                        
40014e84:   00000a13            li  s4,0                                                  <== NOT EXECUTED
40014e88:   f41ff06f            j   40014dc8 <rtems_rfs_dir_del_entry+0x118>              <== NOT EXECUTED
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                              
40014e8c:   40000537            lui a0,0x40000                                            <== NOT EXECUTED
40014e90:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014e94:   a78f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
        rc = EIO;                                                                         
40014e98:   00500b13            li  s6,5                                                  <== NOT EXECUTED
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                              
40014e9c:   04051463            bnez    a0,40014ee4 <rtems_rfs_dir_del_entry+0x234>       <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40014ea0:   00410593            addi    a1,sp,4                                           <== NOT EXECUTED
40014ea4:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40014ea8:   96df10ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
  rtems_rfs_block_map_close (fs, &map);                                                   
40014eac:   01010593            addi    a1,sp,16                                          <== NOT EXECUTED
40014eb0:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40014eb4:   00010223            sb  zero,4(sp)                                            <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40014eb8:   00012423            sw  zero,8(sp)                                            <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40014ebc:   00012623            sw  zero,12(sp)                                           <== NOT EXECUTED
40014ec0:   88dfe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
  return rc;                                                                              
40014ec4:   e5dff06f            j   40014d20 <rtems_rfs_dir_del_entry+0x70>               <== NOT EXECUTED
    printf ("rtems-rfs: dir-del-entry: dir=%" PRId32 ", entry=%" PRId32 " offset=%" PRIu32 "\n",
40014ec8:   00892583            lw  a1,8(s2)                                              <== NOT EXECUTED
40014ecc:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014ed0:   000b8693            mv  a3,s7                                                 <== NOT EXECUTED
40014ed4:   000c0613            mv  a2,s8                                                 <== NOT EXECUTED
40014ed8:   33450513            addi    a0,a0,820 # 40023334 <IMFS_LIMITS_AND_OPTIONS+0x554><== NOT EXECUTED
40014edc:   b1dec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014ee0:   e29ff06f            j   40014d08 <rtems_rfs_dir_del_entry+0x58>               <== NOT EXECUTED
          printf ("rtems-rfs: dir-del-entry: "                                            
40014ee4:   00012703            lw  a4,0(sp)                                              <== NOT EXECUTED
40014ee8:   00892583            lw  a1,8(s2)                                              <== NOT EXECUTED
40014eec:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014ef0:   000a0793            mv  a5,s4                                                 <== NOT EXECUTED
40014ef4:   00040693            mv  a3,s0                                                 <== NOT EXECUTED
40014ef8:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40014efc:   3b450513            addi    a0,a0,948 # 400233b4 <IMFS_LIMITS_AND_OPTIONS+0x5d4><== NOT EXECUTED
40014f00:   af9ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  while (rc == 0)                                                                         
40014f04:   f9dff06f            j   40014ea0 <rtems_rfs_dir_del_entry+0x1f0>              <== NOT EXECUTED
    if (rc == ENXIO)                                                                      
40014f08:   00600793            li  a5,6                                                  <== NOT EXECUTED
40014f0c:   00f51463            bne a0,a5,40014f14 <rtems_rfs_dir_del_entry+0x264>        <== NOT EXECUTED
      rc = ENOENT;                                                                        
40014f10:   00200b13            li  s6,2                                                  <== NOT EXECUTED
    rtems_rfs_block_map_close (fs, &map);                                                 
40014f14:   01010593            addi    a1,sp,16                                          <== NOT EXECUTED
40014f18:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40014f1c:   831fe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
    return rc;                                                                            
40014f20:   e01ff06f            j   40014d20 <rtems_rfs_dir_del_entry+0x70>               <== NOT EXECUTED
        remaining = rtems_rfs_fs_block_size (fs) - (eoffset + elength);                   
40014f24:   009a09b3            add s3,s4,s1                                              
40014f28:   413589b3            sub s3,a1,s3                                              
        memmove (entry, entry + elength, remaining);                                      
40014f2c:   00098613            mv  a2,s3                                                 
40014f30:   009d85b3            add a1,s11,s1                                             
40014f34:   000d8513            mv  a0,s11                                                
40014f38:   2e0090ef            jal ra,4001e218 <memmove>                                 
        memset (entry + remaining, 0xff, elength);                                        
40014f3c:   00048613            mv  a2,s1                                                 
40014f40:   0ff00593            li  a1,255                                                
40014f44:   013d8533            add a0,s11,s3                                             
40014f48:   3f0090ef            jal ra,4001e338 <memset>                                  
        elength = rtems_rfs_dir_entry_length (entry);                                     
40014f4c:   009dc783            lbu a5,9(s11)                                             
40014f50:   008dc703            lbu a4,8(s11)                                             
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                              
40014f54:   40000537            lui a0,0x40000                                            
40014f58:   00879793            slli    a5,a5,0x8                                         
40014f5c:   00e7e7b3            or  a5,a5,a4                                              
40014f60:   00879493            slli    s1,a5,0x8                                         
40014f64:   0087d793            srli    a5,a5,0x8                                         
40014f68:   00f4e7b3            or  a5,s1,a5                                              
40014f6c:   01079493            slli    s1,a5,0x10                                        
40014f70:   00000593            li  a1,0                                                  
40014f74:   0104d493            srli    s1,s1,0x10                                        
40014f78:   994f50ef            jal ra,4000a10c <rtems_rfs_trace>                         
40014f7c:   02050c63            beqz    a0,40014fb4 <rtems_rfs_dir_del_entry+0x304>       <== ALWAYS TAKEN
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");                        
40014f80:   02012703            lw  a4,32(sp)                                             <== NOT EXECUTED
40014f84:   01812783            lw  a5,24(sp)                                             <== NOT EXECUTED
          printf ("rtems-rfs: dir-del-entry: "                                            
40014f88:   00012683            lw  a3,0(sp)                                              <== NOT EXECUTED
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");                        
40014f8c:   00f76633            or  a2,a4,a5                                              <== NOT EXECUTED
40014f90:   06061263            bnez    a2,40014ff4 <rtems_rfs_dir_del_entry+0x344>       <== NOT EXECUTED
          printf ("rtems-rfs: dir-del-entry: "                                            
40014f94:   400227b7            lui a5,0x40022                                            <== NOT EXECUTED
40014f98:   44478793            addi    a5,a5,1092 # 40022444 <IMFS_node_control_sym_link+0xee4><== NOT EXECUTED
40014f9c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014fa0:   000a0713            mv  a4,s4                                                 <== NOT EXECUTED
40014fa4:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40014fa8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40014fac:   40050513            addi    a0,a0,1024 # 40023400 <IMFS_LIMITS_AND_OPTIONS+0x620><== NOT EXECUTED
40014fb0:   a49ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
        if ((elength == RTEMS_RFS_DIR_ENTRY_EMPTY) &&                                     
40014fb4:   000107b7            lui a5,0x10                                               
40014fb8:   fff78793            addi    a5,a5,-1 # ffff <bsp_section_bss_size+0xaa4f>     
40014fbc:   04f48a63            beq s1,a5,40015010 <rtems_rfs_dir_del_entry+0x360>        
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40014fc0:   00410593            addi    a1,sp,4                                           
        rtems_rfs_buffer_mark_dirty (&buffer);                                            
40014fc4:   00100793            li  a5,1                                                  
40014fc8:   000a8513            mv  a0,s5                                                 
40014fcc:   00f10223            sb  a5,4(sp)                                              
40014fd0:   845f10ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
        rtems_rfs_block_map_close (fs, &map);                                             
40014fd4:   01010593            addi    a1,sp,16                                          
40014fd8:   000a8513            mv  a0,s5                                                 
  handle->dirty = false;                                                                  
40014fdc:   00010223            sb  zero,4(sp)                                            
  handle->bnum  = 0;                                                                      
40014fe0:   00012423            sw  zero,8(sp)                                            
  handle->buffer = NULL;                                                                  
40014fe4:   00012623            sw  zero,12(sp)                                           
        return 0;                                                                         
40014fe8:   00000b13            li  s6,0                                                  
        rtems_rfs_block_map_close (fs, &map);                                             
40014fec:   f60fe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
        return 0;                                                                         
40014ff0:   d31ff06f            j   40014d20 <rtems_rfs_dir_del_entry+0x70>               
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");                        
40014ff4:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
40014ff8:   f8f70ee3            beq a4,a5,40014f94 <rtems_rfs_dir_del_entry+0x2e4>        <== NOT EXECUTED
          printf ("rtems-rfs: dir-del-entry: "                                            
40014ffc:   400227b7            lui a5,0x40022                                            <== NOT EXECUTED
40015000:   44878793            addi    a5,a5,1096 # 40022448 <IMFS_node_control_sym_link+0xee8><== NOT EXECUTED
40015004:   f99ff06f            j   40014f9c <rtems_rfs_dir_del_entry+0x2ec>              <== NOT EXECUTED
        rc = EIO;                                                                         
40015008:   00500b13            li  s6,5                                                  <== NOT EXECUTED
  while (rc == 0)                                                                         
4001500c:   e95ff06f            j   40014ea0 <rtems_rfs_dir_del_entry+0x1f0>              <== NOT EXECUTED
        if ((elength == RTEMS_RFS_DIR_ENTRY_EMPTY) &&                                     
40015010:   fa0a18e3            bnez    s4,40014fc0 <rtems_rfs_dir_del_entry+0x310>       <== ALWAYS TAKEN
            (eoffset == 0) && rtems_rfs_block_map_last (&map))                            
40015014:   02012703            lw  a4,32(sp)                                             <== NOT EXECUTED
40015018:   01812783            lw  a5,24(sp)                                             <== NOT EXECUTED
4001501c:   00f766b3            or  a3,a4,a5                                              <== NOT EXECUTED
40015020:   08069663            bnez    a3,400150ac <rtems_rfs_dir_del_entry+0x3fc>       <== NOT EXECUTED
          rc = rtems_rfs_block_map_shrink (fs, &map, 1);                                  
40015024:   00100613            li  a2,1                                                  <== NOT EXECUTED
40015028:   01010593            addi    a1,sp,16                                          <== NOT EXECUTED
4001502c:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40015030:   f3dfe0ef            jal ra,40013f6c <rtems_rfs_block_map_shrink>              <== NOT EXECUTED
40015034:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
          if (rc > 0)                                                                     
40015038:   f8a054e3            blez    a0,40014fc0 <rtems_rfs_dir_del_entry+0x310>       <== NOT EXECUTED
            if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                          
4001503c:   40000537            lui a0,0x40000                                            <== NOT EXECUTED
40015040:   00000593            li  a1,0                                                  <== NOT EXECUTED
40015044:   8c8f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015048:   f6050ce3            beqz    a0,40014fc0 <rtems_rfs_dir_del_entry+0x310>       <== NOT EXECUTED
              printf ("rtems-rfs: dir-del-entry: "                                        
4001504c:   00892483            lw  s1,8(s2)                                              <== NOT EXECUTED
40015050:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40015054:   711090ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40015058:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
4001505c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015060:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
40015064:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40015068:   46050513            addi    a0,a0,1120 # 40023460 <IMFS_LIMITS_AND_OPTIONS+0x680><== NOT EXECUTED
4001506c:   98dec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015070:   f51ff06f            j   40014fc0 <rtems_rfs_dir_del_entry+0x310>              <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                                
40015074:   40000537            lui a0,0x40000                                            <== NOT EXECUTED
40015078:   00000593            li  a1,0                                                  <== NOT EXECUTED
4001507c:   890f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015080:   e20500e3            beqz    a0,40014ea0 <rtems_rfs_dir_del_entry+0x1f0>       <== NOT EXECUTED
        printf ("rtems-rfs: dir-del-entry: "                                              
40015084:   00892403            lw  s0,8(s2)                                              <== NOT EXECUTED
40015088:   000b0513            mv  a0,s6                                                 <== NOT EXECUTED
4001508c:   6d9090ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40015090:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40015094:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015098:   000b0613            mv  a2,s6                                                 <== NOT EXECUTED
4001509c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400150a0:   36c50513            addi    a0,a0,876 # 4002336c <IMFS_LIMITS_AND_OPTIONS+0x58c><== NOT EXECUTED
400150a4:   955ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400150a8:   df9ff06f            j   40014ea0 <rtems_rfs_dir_del_entry+0x1f0>              <== NOT EXECUTED
            (eoffset == 0) && rtems_rfs_block_map_last (&map))                            
400150ac:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
400150b0:   f0f718e3            bne a4,a5,40014fc0 <rtems_rfs_dir_del_entry+0x310>        <== NOT EXECUTED
400150b4:   f71ff06f            j   40015024 <rtems_rfs_dir_del_entry+0x374>              <== NOT EXECUTED
        rc = ENOENT;                                                                      
400150b8:   00200b13            li  s6,2                                                  <== NOT EXECUTED
400150bc:   de5ff06f            j   40014ea0 <rtems_rfs_dir_del_entry+0x1f0>              <== NOT EXECUTED
                                                                                          

400154bc <rtems_rfs_dir_empty>: int rtems_rfs_dir_empty (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir) {
400154bc:   f7010113            addi    sp,sp,-144                                        
400154c0:   09212023            sw  s2,128(sp)                                            
400154c4:   07412c23            sw  s4,120(sp)                                            
400154c8:   00058913            mv  s2,a1                                                 
400154cc:   00050a13            mv  s4,a0                                                 
  rtems_rfs_buffer_handle buffer;                                                         
  rtems_rfs_block_no      block;                                                          
  bool                    empty;                                                          
  int                     rc;                                                             
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                         
400154d0:   00000593            li  a1,0                                                  
400154d4:   80000537            lui a0,0x80000                                            
{                                                                                         
400154d8:   08112623            sw  ra,140(sp)                                            
400154dc:   08812423            sw  s0,136(sp)                                            
400154e0:   08912223            sw  s1,132(sp)                                            
400154e4:   07312e23            sw  s3,124(sp)                                            
400154e8:   07512a23            sw  s5,116(sp)                                            
400154ec:   07612823            sw  s6,112(sp)                                            
400154f0:   07712623            sw  s7,108(sp)                                            
400154f4:   07812423            sw  s8,104(sp)                                            
400154f8:   07912223            sw  s9,100(sp)                                            
400154fc:   07a12023            sw  s10,96(sp)                                            
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                         
40015500:   c0df40ef            jal ra,4000a10c <rtems_rfs_trace>                         
40015504:   1e051663            bnez    a0,400156f0 <rtems_rfs_dir_empty+0x234>           <== NEVER TAKEN
    printf ("rtems-rfs: dir-empty: dir=%" PRId32 "\n", rtems_rfs_inode_ino (dir));        
                                                                                          
  empty = true;                                                                           
                                                                                          
  rc = rtems_rfs_block_map_open (fs, dir, &map);                                          
40015508:   01010613            addi    a2,sp,16                                          
4001550c:   00090593            mv  a1,s2                                                 
40015510:   000a0513            mv  a0,s4                                                 
40015514:   864fe0ef            jal ra,40013578 <rtems_rfs_block_map_open>                
40015518:   00050d13            mv  s10,a0                                                
  if (rc > 0)                                                                             
4001551c:   04a05063            blez    a0,4001555c <rtems_rfs_dir_empty+0xa0>            <== ALWAYS TAKEN
    rc = ENOTEMPTY;                                                                       
                                                                                          
  rtems_rfs_buffer_handle_close (fs, &buffer);                                            
  rtems_rfs_block_map_close (fs, &map);                                                   
  return rc;                                                                              
}                                                                                         
40015520:   08c12083            lw  ra,140(sp)                                            
40015524:   08812403            lw  s0,136(sp)                                            
40015528:   08412483            lw  s1,132(sp)                                            
4001552c:   08012903            lw  s2,128(sp)                                            
40015530:   07c12983            lw  s3,124(sp)                                            
40015534:   07812a03            lw  s4,120(sp)                                            
40015538:   07412a83            lw  s5,116(sp)                                            
4001553c:   07012b03            lw  s6,112(sp)                                            
40015540:   06c12b83            lw  s7,108(sp)                                            
40015544:   06812c03            lw  s8,104(sp)                                            
40015548:   06412c83            lw  s9,100(sp)                                            
4001554c:   000d0513            mv  a0,s10                                                
40015550:   06012d03            lw  s10,96(sp)                                            
40015554:   09010113            addi    sp,sp,144                                         
40015558:   00008067            ret                                                       
  rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);                                    
4001555c:   00010713            mv  a4,sp                                                 
40015560:   00000613            li  a2,0                                                  
40015564:   00000693            li  a3,0                                                  
40015568:   01010593            addi    a1,sp,16                                          
4001556c:   000a0513            mv  a0,s4                                                 
40015570:   d1cfe0ef            jal ra,40013a8c <rtems_rfs_block_map_seek>                
40015574:   00050d13            mv  s10,a0                                                
  if (rc > 0)                                                                             
40015578:   18a04663            bgtz    a0,40015704 <rtems_rfs_dir_empty+0x248>           <== NEVER TAKEN
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                           
4001557c:   00010ab7            lui s5,0x10                                               
  handle->dirty = false;                                                                  
40015580:   00010223            sb  zero,4(sp)                                            
  handle->bnum  = 0;                                                                      
40015584:   00012423            sw  zero,8(sp)                                            
  handle->buffer = NULL;                                                                  
40015588:   00012623            sw  zero,12(sp)                                           
4001558c:   fffa8a93            addi    s5,s5,-1 # ffff <bsp_section_bss_size+0xaa4f>     
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40015590:   00a00b13            li  s6,10                                                 
      if (((elength != (RTEMS_RFS_DIR_ENTRY_SIZE + 1)) ||                                 
40015594:   00b00b93            li  s7,11                                                 
           (entry[RTEMS_RFS_DIR_ENTRY_SIZE] != '.')) &&                                   
40015598:   00c00c13            li  s8,12                                                 
          printf ("rtems-rfs: dir-empty: "                                                
4001559c:   400239b7            lui s3,0x40023                                            
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);                      
400155a0:   00012603            lw  a2,0(sp)                                              
400155a4:   00100693            li  a3,1                                                  
400155a8:   00410593            addi    a1,sp,4                                           
400155ac:   000a0513            mv  a0,s4                                                 
400155b0:   fcdf00ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
400155b4:   00050d13            mv  s10,a0                                                
    if (rc > 0)                                                                           
400155b8:   0ca04063            bgtz    a0,40015678 <rtems_rfs_dir_empty+0x1bc>           <== NEVER TAKEN
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))            
400155bc:   008a2503            lw  a0,8(s4)                                              
    entry  = rtems_rfs_buffer_data (&buffer);                                             
400155c0:   00c12783            lw  a5,12(sp)                                             
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))            
400155c4:   ff650513            addi    a0,a0,-10 # 7ffffff6 <RamEnd+0x3efffff6>          
    entry  = rtems_rfs_buffer_data (&buffer);                                             
400155c8:   01c7a783            lw  a5,28(a5)                                             
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))            
400155cc:   0e050e63            beqz    a0,400156c8 <rtems_rfs_dir_empty+0x20c>           <== NEVER TAKEN
    offset = 0;                                                                           
400155d0:   00000c93            li  s9,0                                                  
          ((elength != (RTEMS_RFS_DIR_ENTRY_SIZE + 2)) ||                                 
400155d4:   02e00713            li  a4,46                                                 
400155d8:   0240006f            j   400155fc <rtems_rfs_dir_empty+0x140>                  
           (entry[RTEMS_RFS_DIR_ENTRY_SIZE] != '.')) &&                                   
400155dc:   09841a63            bne s0,s8,40015670 <rtems_rfs_dir_empty+0x1b4>            
          ((elength != (RTEMS_RFS_DIR_ENTRY_SIZE + 2)) ||                                 
400155e0:   00a7c683            lbu a3,10(a5)                                             
400155e4:   08e69663            bne a3,a4,40015670 <rtems_rfs_dir_empty+0x1b4>            
           (entry[RTEMS_RFS_DIR_ENTRY_SIZE] != '.') ||                                    
400155e8:   00b7c683            lbu a3,11(a5)                                             
400155ec:   08e69263            bne a3,a4,40015670 <rtems_rfs_dir_empty+0x1b4>            
      offset += elength;                                                                  
400155f0:   008c8cb3            add s9,s9,s0                                              
      entry  += elength;                                                                  
400155f4:   008787b3            add a5,a5,s0                                              
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))            
400155f8:   0cacf863            bgeu    s9,a0,400156c8 <rtems_rfs_dir_empty+0x20c>        
      elength = rtems_rfs_dir_entry_length (entry);                                       
400155fc:   0097c603            lbu a2,9(a5)                                              
40015600:   0087c403            lbu s0,8(a5)                                              
      eino    = rtems_rfs_dir_entry_ino (entry);                                          
40015604:   0007c483            lbu s1,0(a5)                                              
40015608:   0017c583            lbu a1,1(a5)                                              
4001560c:   00861613            slli    a2,a2,0x8                                         
40015610:   00866633            or  a2,a2,s0                                              
40015614:   00861413            slli    s0,a2,0x8                                         
40015618:   0037c803            lbu a6,3(a5)                                              
4001561c:   0027c683            lbu a3,2(a5)                                              
40015620:   00865613            srli    a2,a2,0x8                                         
40015624:   01849493            slli    s1,s1,0x18                                        
40015628:   01059593            slli    a1,a1,0x10                                        
4001562c:   00c46433            or  s0,s0,a2                                              
40015630:   00b4e4b3            or  s1,s1,a1                                              
40015634:   01041413            slli    s0,s0,0x10                                        
40015638:   0104e4b3            or  s1,s1,a6                                              
4001563c:   00869693            slli    a3,a3,0x8                                         
40015640:   01045413            srli    s0,s0,0x10                                        
40015644:   00d4e4b3            or  s1,s1,a3                                              
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                           
40015648:   09540063            beq s0,s5,400156c8 <rtems_rfs_dir_empty+0x20c>            
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
4001564c:   048b5a63            bge s6,s0,400156a0 <rtems_rfs_dir_empty+0x1e4>            
40015650:   01ca2683            lw  a3,28(s4)                                             
40015654:   04d47663            bgeu    s0,a3,400156a0 <rtems_rfs_dir_empty+0x1e4>        
40015658:   04048463            beqz    s1,400156a0 <rtems_rfs_dir_empty+0x1e4>           <== NEVER TAKEN
4001565c:   014a2683            lw  a3,20(s4)                                             
40015660:   0496e063            bltu    a3,s1,400156a0 <rtems_rfs_dir_empty+0x1e4>        
      if (((elength != (RTEMS_RFS_DIR_ENTRY_SIZE + 1)) ||                                 
40015664:   f7741ce3            bne s0,s7,400155dc <rtems_rfs_dir_empty+0x120>            
40015668:   00a7c683            lbu a3,10(a5)                                             
4001566c:   f8e682e3            beq a3,a4,400155f0 <rtems_rfs_dir_empty+0x134>            
  if ((rc == 0) && !empty)                                                                
40015670:   000d1463            bnez    s10,40015678 <rtems_rfs_dir_empty+0x1bc>          <== NEVER TAKEN
    rc = ENOTEMPTY;                                                                       
40015674:   05a00d13            li  s10,90                                                
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40015678:   00410593            addi    a1,sp,4                                           
4001567c:   000a0513            mv  a0,s4                                                 
40015680:   994f10ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
  rtems_rfs_block_map_close (fs, &map);                                                   
40015684:   01010593            addi    a1,sp,16                                          
40015688:   000a0513            mv  a0,s4                                                 
  handle->dirty = false;                                                                  
4001568c:   00010223            sb  zero,4(sp)                                            
  handle->bnum  = 0;                                                                      
40015690:   00012423            sw  zero,8(sp)                                            
  handle->buffer = NULL;                                                                  
40015694:   00012623            sw  zero,12(sp)                                           
40015698:   8b4fe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
  return rc;                                                                              
4001569c:   e85ff06f            j   40015520 <rtems_rfs_dir_empty+0x64>                   
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_EMPTY))                                  
400156a0:   00000513            li  a0,0                                                  <== NOT EXECUTED
400156a4:   00100593            li  a1,1                                                  <== NOT EXECUTED
400156a8:   a65f40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400156ac:   00050e63            beqz    a0,400156c8 <rtems_rfs_dir_empty+0x20c>           <== NOT EXECUTED
          printf ("rtems-rfs: dir-empty: "                                                
400156b0:   00892583            lw  a1,8(s2)                                              <== NOT EXECUTED
400156b4:   000c8713            mv  a4,s9                                                 <== NOT EXECUTED
400156b8:   00048693            mv  a3,s1                                                 <== NOT EXECUTED
400156bc:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
400156c0:   5a898513            addi    a0,s3,1448 # 400235a8 <IMFS_LIMITS_AND_OPTIONS+0x7c8><== NOT EXECUTED
400156c4:   b34ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
      rc = rtems_rfs_block_map_next_block (fs, &map, &block);                             
400156c8:   00010613            mv  a2,sp                                                 
400156cc:   01010593            addi    a1,sp,16                                          
400156d0:   000a0513            mv  a0,s4                                                 
400156d4:   c80fe0ef            jal ra,40013b54 <rtems_rfs_block_map_next_block>          
      if (rc > 0)                                                                         
400156d8:   eca054e3            blez    a0,400155a0 <rtems_rfs_dir_empty+0xe4>            <== NEVER TAKEN
          rc = 0;                                                                         
400156dc:   ffa50793            addi    a5,a0,-6                                          
400156e0:   00f037b3            snez    a5,a5                                             
400156e4:   40f007b3            neg a5,a5                                                 
400156e8:   00f57d33            and s10,a0,a5                                             
400156ec:   f8dff06f            j   40015678 <rtems_rfs_dir_empty+0x1bc>                  
    printf ("rtems-rfs: dir-empty: dir=%" PRId32 "\n", rtems_rfs_inode_ino (dir));        
400156f0:   00892583            lw  a1,8(s2)                                              <== NOT EXECUTED
400156f4:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
400156f8:   58850513            addi    a0,a0,1416 # 40023588 <IMFS_LIMITS_AND_OPTIONS+0x7a8><== NOT EXECUTED
400156fc:   afcec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015700:   e09ff06f            j   40015508 <rtems_rfs_dir_empty+0x4c>                   <== NOT EXECUTED
    rtems_rfs_block_map_close (fs, &map);                                                 
40015704:   01010593            addi    a1,sp,16                                          <== NOT EXECUTED
40015708:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4001570c:   840fe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
    return rc;                                                                            
40015710:   e11ff06f            j   40015520 <rtems_rfs_dir_empty+0x64>                   <== NOT EXECUTED
                                                                                          

40014380 <rtems_rfs_dir_lookup_ino>: rtems_rfs_inode_handle* inode, const char* name, int length, rtems_rfs_ino* ino, uint32_t* offset) {
40014380:   f5010113            addi    sp,sp,-176                                        
40014384:   09712623            sw  s7,140(sp)                                            
40014388:   07b12e23            sw  s11,124(sp)                                           
4001438c:   00058b93            mv  s7,a1                                                 
40014390:   00050d93            mv  s11,a0                                                
  rtems_rfs_block_map     map;                                                            
  rtems_rfs_buffer_handle entries;                                                        
  int                     rc;                                                             
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                                   
40014394:   00000593            li  a1,0                                                  
40014398:   04000537            lui a0,0x4000                                             
{                                                                                         
4001439c:   0a812423            sw  s0,168(sp)                                            
400143a0:   09512a23            sw  s5,148(sp)                                            
400143a4:   09612823            sw  s6,144(sp)                                            
400143a8:   0a112623            sw  ra,172(sp)                                            
400143ac:   0a912223            sw  s1,164(sp)                                            
400143b0:   0b212023            sw  s2,160(sp)                                            
400143b4:   09312e23            sw  s3,156(sp)                                            
400143b8:   09412c23            sw  s4,152(sp)                                            
400143bc:   09812423            sw  s8,136(sp)                                            
400143c0:   09912223            sw  s9,132(sp)                                            
400143c4:   09a12023            sw  s10,128(sp)                                           
400143c8:   00060b13            mv  s6,a2                                                 
400143cc:   00068a93            mv  s5,a3                                                 
400143d0:   00070413            mv  s0,a4                                                 
400143d4:   00f12623            sw  a5,12(sp)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                                   
400143d8:   d35f50ef            jal ra,4000a10c <rtems_rfs_trace>                         
400143dc:   34051263            bnez    a0,40014720 <rtems_rfs_dir_lookup_ino+0x3a0>      <== NEVER TAKEN
      printf ("%c", name[c]);                                                             
    printf (", len=%d\n", length);                                                        
  }                                                                                       
                                                                                          
  *ino = RTEMS_RFS_EMPTY_INO;                                                             
  *offset = 0;                                                                            
400143e0:   00c12783            lw  a5,12(sp)                                             
  *ino = RTEMS_RFS_EMPTY_INO;                                                             
400143e4:   00042023            sw  zero,0(s0)                                            
                                                                                          
  rc = rtems_rfs_block_map_open (fs, inode, &map);                                        
400143e8:   02010613            addi    a2,sp,32                                          
  *offset = 0;                                                                            
400143ec:   0007a023            sw  zero,0(a5)                                            
  rc = rtems_rfs_block_map_open (fs, inode, &map);                                        
400143f0:   000b8593            mv  a1,s7                                                 
400143f4:   000d8513            mv  a0,s11                                                
400143f8:   980ff0ef            jal ra,40013578 <rtems_rfs_block_map_open>                
400143fc:   00050a13            mv  s4,a0                                                 
  if (rc > 0)                                                                             
40014400:   2ea04463            bgtz    a0,400146e8 <rtems_rfs_dir_lookup_ino+0x368>      <== NEVER TAKEN
    uint32_t           hash;                                                              
                                                                                          
    /*                                                                                    
     * Calculate the hash of the look up string.                                          
     */                                                                                   
    hash = rtems_rfs_dir_hash (name, length);                                             
40014404:   000a8593            mv  a1,s5                                                 
40014408:   000b0513            mv  a0,s6                                                 
  handle->dirty = false;                                                                  
4001440c:   00010a23            sb  zero,20(sp)                                           
  handle->bnum  = 0;                                                                      
40014410:   00012c23            sw  zero,24(sp)                                           
  handle->buffer = NULL;                                                                  
40014414:   00012e23            sw  zero,28(sp)                                           
40014418:   2fc010ef            jal ra,40015714 <rtems_rfs_dir_hash>                      
4001441c:   00050993            mv  s3,a0                                                 
                                                                                          
    /*                                                                                    
     * Locate the first block. The map points to the start after open so just             
     * seek 0. If an error the block will be 0.                                           
     */                                                                                   
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);                                  
40014420:   01010713            addi    a4,sp,16                                          
40014424:   00000613            li  a2,0                                                  
40014428:   00000693            li  a3,0                                                  
4001442c:   02010593            addi    a1,sp,32                                          
40014430:   000d8513            mv  a0,s11                                                
40014434:   e58ff0ef            jal ra,40013a8c <rtems_rfs_block_map_seek>                
40014438:   00050a13            mv  s4,a0                                                 
    if (rc > 0)                                                                           
4001443c:   32a04263            bgtz    a0,40014760 <rtems_rfs_dir_lookup_ino+0x3e0>      <== NEVER TAKEN
                                                                                          
        ehash  = rtems_rfs_dir_entry_hash (entry);                                        
        elength = rtems_rfs_dir_entry_length (entry);                                     
        *ino = rtems_rfs_dir_entry_ino (entry);                                           
                                                                                          
        if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                         
40014440:   00010937            lui s2,0x10                                               
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))   
40014444:   00a00493            li  s1,10                                                 
        if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                         
40014448:   fff90913            addi    s2,s2,-1 # ffff <bsp_section_bss_size+0xaa4f>     
        }                                                                                 
                                                                                          
        if (ehash == hash)                                                                
        {                                                                                 
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_CHECK))                     
            printf ("rtems-rfs: dir-lookup-ino: "                                         
4001444c:   40023cb7            lui s9,0x40023                                            
    while ((rc == 0) && block)                                                            
40014450:   180a1663            bnez    s4,400145dc <rtems_rfs_dir_lookup_ino+0x25c>      <== NEVER TAKEN
40014454:   01012783            lw  a5,16(sp)                                             
40014458:   36078063            beqz    a5,400147b8 <rtems_rfs_dir_lookup_ino+0x438>      <== NEVER TAKEN
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                               
4001445c:   04000537            lui a0,0x4000                                             
40014460:   00000593            li  a1,0                                                  
40014464:   ca9f50ef            jal ra,4000a10c <rtems_rfs_trace>                         
40014468:   22051e63            bnez    a0,400146a4 <rtems_rfs_dir_lookup_ino+0x324>      <== NEVER TAKEN
      rc = rtems_rfs_buffer_handle_request (fs, &entries, block, true);                   
4001446c:   01012603            lw  a2,16(sp)                                             
40014470:   00100693            li  a3,1                                                  
40014474:   01410593            addi    a1,sp,20                                          
40014478:   000d8513            mv  a0,s11                                                
4001447c:   900f20ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40014480:   00050a13            mv  s4,a0                                                 
      if (rc > 0)                                                                         
40014484:   36a04863            bgtz    a0,400147f4 <rtems_rfs_dir_lookup_ino+0x474>      <== NEVER TAKEN
      entry = rtems_rfs_buffer_data (&entries);                                           
40014488:   01c12703            lw  a4,28(sp)                                             
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))   
4001448c:   008da783            lw  a5,8(s11)                                             
      map.bpos.boff = 0;                                                                  
40014490:   02012a23            sw  zero,52(sp)                                           
      entry = rtems_rfs_buffer_data (&entries);                                           
40014494:   01c72c03            lw  s8,28(a4)                                             
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))   
40014498:   02979263            bne a5,s1,400144bc <rtems_rfs_dir_lookup_ino+0x13c>       
4001449c:   2200006f            j   400146bc <rtems_rfs_dir_lookup_ino+0x33c>             <== NOT EXECUTED
            rtems_rfs_block_map_close (fs, &map);                                         
            return 0;                                                                     
          }                                                                               
        }                                                                                 
                                                                                          
        map.bpos.boff += elength;                                                         
400144a0:   03412683            lw  a3,52(sp)                                             
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))   
400144a4:   008da783            lw  a5,8(s11)                                             
        entry += elength;                                                                 
400144a8:   01ac0c33            add s8,s8,s10                                             
        map.bpos.boff += elength;                                                         
400144ac:   00dd0333            add t1,s10,a3                                             
400144b0:   02612a23            sw  t1,52(sp)                                             
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))   
400144b4:   ff678793            addi    a5,a5,-10                                         
400144b8:   20f37263            bgeu    t1,a5,400146bc <rtems_rfs_dir_lookup_ino+0x33c>   
        if (ehash == hash)                                                                
400144bc:   009c4683            lbu a3,9(s8)                                              
        *ino = rtems_rfs_dir_entry_ino (entry);                                           
400144c0:   000c4783            lbu a5,0(s8)                                              
400144c4:   001c4303            lbu t1,1(s8)                                              
400144c8:   008c4f03            lbu t5,8(s8)                                              
        ehash  = rtems_rfs_dir_entry_hash (entry);                                        
400144cc:   004c4703            lbu a4,4(s8)                                              
400144d0:   005c4e83            lbu t4,5(s8)                                              
        *ino = rtems_rfs_dir_entry_ino (entry);                                           
400144d4:   003c4e03            lbu t3,3(s8)                                              
400144d8:   002c4503            lbu a0,2(s8)                                              
400144dc:   00869693            slli    a3,a3,0x8                                         
400144e0:   01031313            slli    t1,t1,0x10                                        
400144e4:   01e6e6b3            or  a3,a3,t5                                              
400144e8:   01879793            slli    a5,a5,0x18                                        
        ehash  = rtems_rfs_dir_entry_hash (entry);                                        
400144ec:   007c4583            lbu a1,7(s8)                                              
400144f0:   006c4603            lbu a2,6(s8)                                              
        *ino = rtems_rfs_dir_entry_ino (entry);                                           
400144f4:   0067e7b3            or  a5,a5,t1                                              
400144f8:   00869313            slli    t1,a3,0x8                                         
400144fc:   0086d693            srli    a3,a3,0x8                                         
40014500:   00d366b3            or  a3,t1,a3                                              
        ehash  = rtems_rfs_dir_entry_hash (entry);                                        
40014504:   01871713            slli    a4,a4,0x18                                        
40014508:   010e9e93            slli    t4,t4,0x10                                        
        *ino = rtems_rfs_dir_entry_ino (entry);                                           
4001450c:   01c7e7b3            or  a5,a5,t3                                              
40014510:   00851513            slli    a0,a0,0x8                                         
40014514:   01069d13            slli    s10,a3,0x10                                       
40014518:   00a7e7b3            or  a5,a5,a0                                              
        ehash  = rtems_rfs_dir_entry_hash (entry);                                        
4001451c:   01d76733            or  a4,a4,t4                                              
40014520:   00b76733            or  a4,a4,a1                                              
40014524:   00861693            slli    a3,a2,0x8                                         
        *ino = rtems_rfs_dir_entry_ino (entry);                                           
40014528:   00f42023            sw  a5,0(s0)                                              
4001452c:   010d5d13            srli    s10,s10,0x10                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                                        
40014530:   00d76733            or  a4,a4,a3                                              
        if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                                         
40014534:   192d0463            beq s10,s2,400146bc <rtems_rfs_dir_lookup_ino+0x33c>      
        if (rtems_rfs_dir_entry_valid (fs, elength, *ino))                                
40014538:   09a4d863            bge s1,s10,400145c8 <rtems_rfs_dir_lookup_ino+0x248>      
4001453c:   01cda683            lw  a3,28(s11)                                            
40014540:   08dd7463            bgeu    s10,a3,400145c8 <rtems_rfs_dir_lookup_ino+0x248>  
40014544:   08078263            beqz    a5,400145c8 <rtems_rfs_dir_lookup_ino+0x248>      <== NEVER TAKEN
40014548:   014da683            lw  a3,20(s11)                                            
4001454c:   06f6ee63            bltu    a3,a5,400145c8 <rtems_rfs_dir_lookup_ino+0x248>   
        if (ehash == hash)                                                                
40014550:   f4e998e3            bne s3,a4,400144a0 <rtems_rfs_dir_lookup_ino+0x120>       
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_CHECK))                     
40014554:   08000537            lui a0,0x8000                                             
40014558:   00000593            li  a1,0                                                  
4001455c:   bb1f50ef            jal ra,4000a10c <rtems_rfs_trace>                         
40014560:   10051063            bnez    a0,40014660 <rtems_rfs_dir_lookup_ino+0x2e0>      <== NEVER TAKEN
          if (memcmp (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length) == 0)               
40014564:   00ac0513            addi    a0,s8,10                                          
40014568:   000a8613            mv  a2,s5                                                 
4001456c:   000b0593            mv  a1,s6                                                 
40014570:   309090ef            jal ra,4001e078 <memcmp>                                  
40014574:   f20516e3            bnez    a0,400144a0 <rtems_rfs_dir_lookup_ino+0x120>      <== NEVER TAKEN
            *offset = rtems_rfs_block_map_pos (fs, &map);                                 
40014578:   03010593            addi    a1,sp,48                                          
4001457c:   000d8513            mv  a0,s11                                                
40014580:   f9dfe0ef            jal ra,4001351c <rtems_rfs_block_get_pos>                 
40014584:   00c12783            lw  a5,12(sp)                                             
            if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_FOUND))                   
40014588:   00000593            li  a1,0                                                  
            *offset = rtems_rfs_block_map_pos (fs, &map);                                 
4001458c:   00a7a023            sw  a0,0(a5)                                              
            if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_FOUND))                   
40014590:   10000537            lui a0,0x10000                                            
40014594:   b79f50ef            jal ra,4000a10c <rtems_rfs_trace>                         
40014598:   2a051e63            bnez    a0,40014854 <rtems_rfs_dir_lookup_ino+0x4d4>      <== NEVER TAKEN
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4001459c:   01410593            addi    a1,sp,20                                          
400145a0:   000d8513            mv  a0,s11                                                
400145a4:   a70f20ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
            rtems_rfs_block_map_close (fs, &map);                                         
400145a8:   02010593            addi    a1,sp,32                                          
400145ac:   000d8513            mv  a0,s11                                                
  handle->dirty = false;                                                                  
400145b0:   00010a23            sb  zero,20(sp)                                           
  handle->bnum  = 0;                                                                      
400145b4:   00012c23            sw  zero,24(sp)                                           
  handle->buffer = NULL;                                                                  
400145b8:   00012e23            sw  zero,28(sp)                                           
            return 0;                                                                     
400145bc:   00000a13            li  s4,0                                                  
            rtems_rfs_block_map_close (fs, &map);                                         
400145c0:   98cff0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
            return 0;                                                                     
400145c4:   03c0006f            j   40014600 <rtems_rfs_dir_lookup_ino+0x280>             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                           
400145c8:   04000537            lui a0,0x4000                                             <== NOT EXECUTED
400145cc:   00000593            li  a1,0                                                  <== NOT EXECUTED
400145d0:   b3df50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400145d4:   06051663            bnez    a0,40014640 <rtems_rfs_dir_lookup_ino+0x2c0>      <== NOT EXECUTED
          rc = EIO;                                                                       
400145d8:   00500a13            li  s4,5                                                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
400145dc:   01410593            addi    a1,sp,20                                          
400145e0:   000d8513            mv  a0,s11                                                
400145e4:   a30f20ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
                rtems_rfs_inode_ino (inode), rc, strerror (rc));                          
    }                                                                                     
  }                                                                                       
                                                                                          
  rtems_rfs_buffer_handle_close (fs, &entries);                                           
  rtems_rfs_block_map_close (fs, &map);                                                   
400145e8:   02010593            addi    a1,sp,32                                          
400145ec:   000d8513            mv  a0,s11                                                
  handle->dirty = false;                                                                  
400145f0:   00010a23            sb  zero,20(sp)                                           
  handle->bnum  = 0;                                                                      
400145f4:   00012c23            sw  zero,24(sp)                                           
  handle->buffer = NULL;                                                                  
400145f8:   00012e23            sw  zero,28(sp)                                           
400145fc:   950ff0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
  return rc;                                                                              
}                                                                                         
40014600:   0ac12083            lw  ra,172(sp)                                            
40014604:   0a812403            lw  s0,168(sp)                                            
40014608:   0a412483            lw  s1,164(sp)                                            
4001460c:   0a012903            lw  s2,160(sp)                                            
40014610:   09c12983            lw  s3,156(sp)                                            
40014614:   09412a83            lw  s5,148(sp)                                            
40014618:   09012b03            lw  s6,144(sp)                                            
4001461c:   08c12b83            lw  s7,140(sp)                                            
40014620:   08812c03            lw  s8,136(sp)                                            
40014624:   08412c83            lw  s9,132(sp)                                            
40014628:   08012d03            lw  s10,128(sp)                                           
4001462c:   07c12d83            lw  s11,124(sp)                                           
40014630:   000a0513            mv  a0,s4                                                 
40014634:   09812a03            lw  s4,152(sp)                                            
40014638:   0b010113            addi    sp,sp,176                                         
4001463c:   00008067            ret                                                       
            printf ("rtems-rfs: dir-lookup-ino: "                                         
40014640:   03412703            lw  a4,52(sp)                                             <== NOT EXECUTED
40014644:   00042683            lw  a3,0(s0)                                              <== NOT EXECUTED
40014648:   008ba583            lw  a1,8(s7)                                              <== NOT EXECUTED
4001464c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014650:   000d0613            mv  a2,s10                                                <== NOT EXECUTED
40014654:   07850513            addi    a0,a0,120 # 40023078 <IMFS_LIMITS_AND_OPTIONS+0x298><== NOT EXECUTED
40014658:   ba0ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
4001465c:   f7dff06f            j   400145d8 <rtems_rfs_dir_lookup_ino+0x258>             <== NOT EXECUTED
                    elength, rtems_rfs_dir_entry_ino (entry));                            
40014660:   000c4783            lbu a5,0(s8)                                              <== NOT EXECUTED
40014664:   001c4503            lbu a0,1(s8)                                              <== NOT EXECUTED
40014668:   003c4e03            lbu t3,3(s8)                                              <== NOT EXECUTED
4001466c:   002c4703            lbu a4,2(s8)                                              <== NOT EXECUTED
40014670:   01051513            slli    a0,a0,0x10                                        <== NOT EXECUTED
40014674:   01879793            slli    a5,a5,0x18                                        <== NOT EXECUTED
40014678:   00a7e7b3            or  a5,a5,a0                                              <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                                         
4001467c:   03412683            lw  a3,52(sp)                                             <== NOT EXECUTED
40014680:   03012603            lw  a2,48(sp)                                             <== NOT EXECUTED
40014684:   008ba583            lw  a1,8(s7)                                              <== NOT EXECUTED
40014688:   01c7e7b3            or  a5,a5,t3                                              <== NOT EXECUTED
                    elength, rtems_rfs_dir_entry_ino (entry));                            
4001468c:   00871713            slli    a4,a4,0x8                                         <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                                         
40014690:   00e7e7b3            or  a5,a5,a4                                              <== NOT EXECUTED
40014694:   0c0c8513            addi    a0,s9,192 # 400230c0 <IMFS_LIMITS_AND_OPTIONS+0x2e0><== NOT EXECUTED
40014698:   000d0713            mv  a4,s10                                                <== NOT EXECUTED
4001469c:   b5ced0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400146a0:   ec5ff06f            j   40014564 <rtems_rfs_dir_lookup_ino+0x1e4>             <== NOT EXECUTED
        printf ("rtems-rfs: dir-lookup-ino: block read, ino=%" PRIu32 " bno=%" PRId32 "\n",
400146a4:   03012603            lw  a2,48(sp)                                             <== NOT EXECUTED
400146a8:   008ba583            lw  a1,8(s7)                                              <== NOT EXECUTED
400146ac:   400237b7            lui a5,0x40023                                            <== NOT EXECUTED
400146b0:   00078513            mv  a0,a5                                                 <== NOT EXECUTED
400146b4:   b44ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400146b8:   db5ff06f            j   4001446c <rtems_rfs_dir_lookup_ino+0xec>              <== NOT EXECUTED
      if (rc == 0)                                                                        
400146bc:   f20a10e3            bnez    s4,400145dc <rtems_rfs_dir_lookup_ino+0x25c>      <== NEVER TAKEN
        rc = rtems_rfs_block_map_next_block (fs, &map, &block);                           
400146c0:   01010613            addi    a2,sp,16                                          
400146c4:   02010593            addi    a1,sp,32                                          
400146c8:   000d8513            mv  a0,s11                                                
400146cc:   c88ff0ef            jal ra,40013b54 <rtems_rfs_block_map_next_block>          
400146d0:   00050a13            mv  s4,a0                                                 
        if ((rc > 0) && (rc != ENXIO))                                                    
400146d4:   d6a05ee3            blez    a0,40014450 <rtems_rfs_dir_lookup_ino+0xd0>       <== NEVER TAKEN
400146d8:   00600793            li  a5,6                                                  
400146dc:   0af51263            bne a0,a5,40014780 <rtems_rfs_dir_lookup_ino+0x400>       
          rc = ENOENT;                                                                    
400146e0:   00200a13            li  s4,2                                                  
400146e4:   ef9ff06f            j   400145dc <rtems_rfs_dir_lookup_ino+0x25c>             
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                                 
400146e8:   04000537            lui a0,0x4000                                             <== NOT EXECUTED
400146ec:   00000593            li  a1,0                                                  <== NOT EXECUTED
400146f0:   a1df50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400146f4:   f00506e3            beqz    a0,40014600 <rtems_rfs_dir_lookup_ino+0x280>      <== NOT EXECUTED
      printf ("rtems-rfs: dir-lookup-ino: map open failed for ino %" PRIu32 ": %d: %s",   
400146f8:   008ba403            lw  s0,8(s7)                                              <== NOT EXECUTED
400146fc:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40014700:   0650a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40014704:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40014708:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
4001470c:   000a0613            mv  a2,s4                                                 <== NOT EXECUTED
40014710:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40014714:   f8450513            addi    a0,a0,-124 # 40022f84 <IMFS_LIMITS_AND_OPTIONS+0x1a4><== NOT EXECUTED
40014718:   ae0ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
4001471c:   ee5ff06f            j   40014600 <rtems_rfs_dir_lookup_ino+0x280>             <== NOT EXECUTED
    printf ("rtems-rfs: dir-lookup-ino: lookup ino: root=%" PRId32 ", path=",             
40014720:   008ba583            lw  a1,8(s7)                                              <== NOT EXECUTED
40014724:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014728:   f4050513            addi    a0,a0,-192 # 40022f40 <IMFS_LIMITS_AND_OPTIONS+0x160><== NOT EXECUTED
4001472c:   acced0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40014730:   01505e63            blez    s5,4001474c <rtems_rfs_dir_lookup_ino+0x3cc>      <== NOT EXECUTED
40014734:   000b0493            mv  s1,s6                                                 <== NOT EXECUTED
40014738:   016a8933            add s2,s5,s6                                              <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
4001473c:   0004c503            lbu a0,0(s1)                                              <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40014740:   00148493            addi    s1,s1,1                                           <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
40014744:   4d1090ef            jal ra,4001e414 <putchar>                                 <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40014748:   fe991ae3            bne s2,s1,4001473c <rtems_rfs_dir_lookup_ino+0x3bc>       <== NOT EXECUTED
    printf (", len=%d\n", length);                                                        
4001474c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014750:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
40014754:   f7850513            addi    a0,a0,-136 # 40022f78 <IMFS_LIMITS_AND_OPTIONS+0x198><== NOT EXECUTED
40014758:   aa0ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
4001475c:   c85ff06f            j   400143e0 <rtems_rfs_dir_lookup_ino+0x60>              <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                               
40014760:   04000537            lui a0,0x4000                                             <== NOT EXECUTED
40014764:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014768:   9a5f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
4001476c:   0c051463            bnez    a0,40014834 <rtems_rfs_dir_lookup_ino+0x4b4>      <== NOT EXECUTED
      if (rc == ENXIO)                                                                    
40014770:   00600793            li  a5,6                                                  <== NOT EXECUTED
40014774:   e6fa14e3            bne s4,a5,400145dc <rtems_rfs_dir_lookup_ino+0x25c>       <== NOT EXECUTED
          rc = ENOENT;                                                                    
40014778:   00200a13            li  s4,2                                                  <== NOT EXECUTED
4001477c:   e61ff06f            j   400145dc <rtems_rfs_dir_lookup_ino+0x25c>             <== NOT EXECUTED
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                           
40014780:   04000537            lui a0,0x4000                                             <== NOT EXECUTED
40014784:   00000593            li  a1,0                                                  <== NOT EXECUTED
40014788:   985f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
4001478c:   cc0502e3            beqz    a0,40014450 <rtems_rfs_dir_lookup_ino+0xd0>       <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                                         
40014790:   008bad03            lw  s10,8(s7)                                             <== NOT EXECUTED
40014794:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40014798:   7cc0a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4001479c:   400237b7            lui a5,0x40023                                            <== NOT EXECUTED
400147a0:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
400147a4:   000a0613            mv  a2,s4                                                 <== NOT EXECUTED
400147a8:   000d0593            mv  a1,s10                                                <== NOT EXECUTED
400147ac:   16078513            addi    a0,a5,352 # 40023160 <IMFS_LIMITS_AND_OPTIONS+0x380><== NOT EXECUTED
400147b0:   a48ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
        if (rc == ENXIO)                                                                  
400147b4:   c9dff06f            j   40014450 <rtems_rfs_dir_lookup_ino+0xd0>              <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                               
400147b8:   04000537            lui a0,0x4000                                             <== NOT EXECUTED
400147bc:   00000593            li  a1,0                                                  <== NOT EXECUTED
400147c0:   94df50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400147c4:   e0050ae3            beqz    a0,400145d8 <rtems_rfs_dir_lookup_ino+0x258>      <== NOT EXECUTED
        printf ("rtems-rfs: dir-lookup-ino: block is 0 in ino %" PRIu32 ": %d: %s\n",     
400147c8:   008ba403            lw  s0,8(s7)                                              <== NOT EXECUTED
400147cc:   00500513            li  a0,5                                                  <== NOT EXECUTED
400147d0:   7940a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400147d4:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
400147d8:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
400147dc:   00500613            li  a2,5                                                  <== NOT EXECUTED
400147e0:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400147e4:   1ac50513            addi    a0,a0,428 # 400231ac <IMFS_LIMITS_AND_OPTIONS+0x3cc><== NOT EXECUTED
400147e8:   a10ed0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
      rc = EIO;                                                                           
400147ec:   00500a13            li  s4,5                                                  <== NOT EXECUTED
400147f0:   dedff06f            j   400145dc <rtems_rfs_dir_lookup_ino+0x25c>             <== NOT EXECUTED
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))                             
400147f4:   04000537            lui a0,0x4000                                             <== NOT EXECUTED
400147f8:   00000593            li  a1,0                                                  <== NOT EXECUTED
400147fc:   911f50ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40014800:   dc050ee3            beqz    a0,400145dc <rtems_rfs_dir_lookup_ino+0x25c>      <== NOT EXECUTED
          printf ("rtems-rfs: dir-lookup-ino: block read, ino=%" PRIu32 " block=%" PRId32 ": %d: %s\n",
40014804:   008ba403            lw  s0,8(s7)                                              <== NOT EXECUTED
40014808:   01012483            lw  s1,16(sp)                                             <== NOT EXECUTED
4001480c:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40014810:   7540a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40014814:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
40014818:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
4001481c:   000a0693            mv  a3,s4                                                 <== NOT EXECUTED
40014820:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40014824:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40014828:   03850513            addi    a0,a0,56 # 40023038 <IMFS_LIMITS_AND_OPTIONS+0x258><== NOT EXECUTED
4001482c:   9cced0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014830:   dadff06f            j   400145dc <rtems_rfs_dir_lookup_ino+0x25c>             <== NOT EXECUTED
        printf ("rtems-rfs: dir-lookup-ino: block map find failed: %d: %s\n",             
40014834:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40014838:   72c0a0ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4001483c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40014840:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014844:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40014848:   fc450513            addi    a0,a0,-60 # 40022fc4 <IMFS_LIMITS_AND_OPTIONS+0x1e4><== NOT EXECUTED
4001484c:   9aced0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014850:   f21ff06f            j   40014770 <rtems_rfs_dir_lookup_ino+0x3f0>             <== NOT EXECUTED
              printf ("rtems-rfs: dir-lookup-ino: "                                       
40014854:   00c12783            lw  a5,12(sp)                                             <== NOT EXECUTED
40014858:   00042603            lw  a2,0(s0)                                              <== NOT EXECUTED
4001485c:   008ba583            lw  a1,8(s7)                                              <== NOT EXECUTED
40014860:   0007a683            lw  a3,0(a5)                                              <== NOT EXECUTED
40014864:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40014868:   11c50513            addi    a0,a0,284 # 4002311c <IMFS_LIMITS_AND_OPTIONS+0x33c><== NOT EXECUTED
4001486c:   98ced0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40014870:   d2dff06f            j   4001459c <rtems_rfs_dir_lookup_ino+0x21c>             <== NOT EXECUTED
                                                                                          

400150c0 <rtems_rfs_dir_read>: rtems_rfs_dir_read (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, rtems_rfs_pos_rel offset, struct dirent* dirent, size_t* length) {
400150c0:   f5010113            addi    sp,sp,-176                                        
400150c4:   0a912223            sw  s1,164(sp)                                            
400150c8:   09512a23            sw  s5,148(sp)                                            
400150cc:   00050493            mv  s1,a0                                                 
400150d0:   00058a93            mv  s5,a1                                                 
  rtems_rfs_block_map     map;                                                            
  rtems_rfs_buffer_handle buffer;                                                         
  rtems_rfs_block_no      block;                                                          
  int                     rc;                                                             
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                         
400150d4:   80000537            lui a0,0x80000                                            
400150d8:   00000593            li  a1,0                                                  
{                                                                                         
400150dc:   0b212023            sw  s2,160(sp)                                            
400150e0:   09312e23            sw  s3,156(sp)                                            
400150e4:   09412c23            sw  s4,152(sp)                                            
400150e8:   09a12023            sw  s10,128(sp)                                           
400150ec:   0a112623            sw  ra,172(sp)                                            
400150f0:   0a812423            sw  s0,168(sp)                                            
400150f4:   09612823            sw  s6,144(sp)                                            
400150f8:   09712623            sw  s7,140(sp)                                            
400150fc:   09812423            sw  s8,136(sp)                                            
40015100:   09912223            sw  s9,132(sp)                                            
40015104:   07b12e23            sw  s11,124(sp)                                           
40015108:   00060993            mv  s3,a2                                                 
4001510c:   00068a13            mv  s4,a3                                                 
40015110:   00070d13            mv  s10,a4                                                
40015114:   00078913            mv  s2,a5                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                         
40015118:   ff5f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
4001511c:   1e051c63            bnez    a0,40015314 <rtems_rfs_dir_read+0x254>            <== NEVER TAKEN
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",                  
            rtems_rfs_inode_ino (dir), offset);                                           
                                                                                          
  *length = 0;                                                                            
40015120:   00092023            sw  zero,0(s2)                                            
                                                                                          
  rc = rtems_rfs_block_map_open (fs, dir, &map);                                          
40015124:   02010613            addi    a2,sp,32                                          
40015128:   000a8593            mv  a1,s5                                                 
4001512c:   00048513            mv  a0,s1                                                 
40015130:   c48fe0ef            jal ra,40013578 <rtems_rfs_block_map_open>                
40015134:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40015138:   14a04663            bgtz    a0,40015284 <rtems_rfs_dir_read+0x1c4>            <== NEVER TAKEN
    return rc;                                                                            
                                                                                          
  if (((rtems_rfs_fs_block_size (fs) -                                                    
4001513c:   0084a403            lw  s0,8(s1)                                              
        (offset % rtems_rfs_fs_block_size (fs))) <= RTEMS_RFS_DIR_ENTRY_SIZE))            
40015140:   00000693            li  a3,0                                                  
40015144:   00098513            mv  a0,s3                                                 
40015148:   00040613            mv  a2,s0                                                 
4001514c:   000a0593            mv  a1,s4                                                 
40015150:   185070ef            jal ra,4001cad4 <__moddi3>                                
  if (((rtems_rfs_fs_block_size (fs) -                                                    
40015154:   40a40533            sub a0,s0,a0                                              
40015158:   00a437b3            sltu    a5,s0,a0                                          
4001515c:   40b005b3            neg a1,a1                                                 
40015160:   40f585b3            sub a1,a1,a5                                              
40015164:   16b05063            blez    a1,400152c4 <rtems_rfs_dir_read+0x204>            <== ALWAYS TAKEN
    offset = (((offset / rtems_rfs_fs_block_size (fs)) + 1) *                             
              rtems_rfs_fs_block_size (fs));                                              
                                                                                          
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);                               
40015168:   01010713            addi    a4,sp,16                                          
4001516c:   00098613            mv  a2,s3                                                 
40015170:   000a0693            mv  a3,s4                                                 
40015174:   02010593            addi    a1,sp,32                                          
40015178:   00048513            mv  a0,s1                                                 
4001517c:   911fe0ef            jal ra,40013a8c <rtems_rfs_block_map_seek>                
40015180:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40015184:   16a04c63            bgtz    a0,400152fc <rtems_rfs_dir_read+0x23c>            <== NEVER TAKEN
    entry += map.bpos.boff;                                                               
                                                                                          
    elength = rtems_rfs_dir_entry_length (entry);                                         
    eino    = rtems_rfs_dir_entry_ino (entry);                                            
                                                                                          
    if (elength != RTEMS_RFS_DIR_ENTRY_EMPTY)                                             
40015188:   00010c37            lui s8,0x10                                               
  handle->dirty = false;                                                                  
4001518c:   00010a23            sb  zero,20(sp)                                           
  handle->bnum  = 0;                                                                      
40015190:   00012c23            sw  zero,24(sp)                                           
  handle->buffer = NULL;                                                                  
40015194:   00012e23            sw  zero,28(sp)                                           
40015198:   fffc0c13            addi    s8,s8,-1 # ffff <bsp_section_bss_size+0xaa4f>     
      break;                                                                              
    }                                                                                     
                                                                                          
    *length += rtems_rfs_fs_block_size (fs) - map.bpos.boff;                              
                                                                                          
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                       
4001519c:   80000b37            lui s6,0x80000                                            
400151a0:   00000b93            li  s7,0                                                  
      printf ("rtems-rfs: dir-read: next block: off:%" PRId64 " length:%zd\n",            
400151a4:   40023db7            lui s11,0x40023                                           
              offset, *length);                                                           
                                                                                          
    rc = rtems_rfs_block_map_next_block (fs, &map, &block);                               
    if (rc == ENXIO)                                                                      
400151a8:   00600c93            li  s9,6                                                  
400151ac:   0200006f            j   400151cc <rtems_rfs_dir_read+0x10c>                   
    rc = rtems_rfs_block_map_next_block (fs, &map, &block);                               
400151b0:   01010613            addi    a2,sp,16                                          
400151b4:   02010593            addi    a1,sp,32                                          
400151b8:   00048513            mv  a0,s1                                                 
400151bc:   999fe0ef            jal ra,40013b54 <rtems_rfs_block_map_next_block>          
400151c0:   00050413            mv  s0,a0                                                 
    if (rc == ENXIO)                                                                      
400151c4:   09950c63            beq a0,s9,4001525c <rtems_rfs_dir_read+0x19c>             
  while (rc == 0)                                                                         
400151c8:   08051c63            bnez    a0,40015260 <rtems_rfs_dir_read+0x1a0>            <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);                      
400151cc:   01012603            lw  a2,16(sp)                                             
400151d0:   01410593            addi    a1,sp,20                                          
400151d4:   00100693            li  a3,1                                                  
400151d8:   00048513            mv  a0,s1                                                 
400151dc:   ba0f10ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
400151e0:   00050413            mv  s0,a0                                                 
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                       
400151e4:   000b8593            mv  a1,s7                                                 
400151e8:   000b0513            mv  a0,s6                                                 
    if (rc > 0)                                                                           
400151ec:   06804a63            bgtz    s0,40015260 <rtems_rfs_dir_read+0x1a0>            <== NEVER TAKEN
    entry  = rtems_rfs_buffer_data (&buffer);                                             
400151f0:   01c12783            lw  a5,28(sp)                                             
    entry += map.bpos.boff;                                                               
400151f4:   03412683            lw  a3,52(sp)                                             
    entry  = rtems_rfs_buffer_data (&buffer);                                             
400151f8:   01c7a883            lw  a7,28(a5)                                             
    entry += map.bpos.boff;                                                               
400151fc:   00d888b3            add a7,a7,a3                                              
    elength = rtems_rfs_dir_entry_length (entry);                                         
40015200:   0098c783            lbu a5,9(a7)                                              
40015204:   0088c703            lbu a4,8(a7)                                              
40015208:   00879793            slli    a5,a5,0x8                                         
4001520c:   00e7e7b3            or  a5,a5,a4                                              
40015210:   00879713            slli    a4,a5,0x8                                         
40015214:   0087d793            srli    a5,a5,0x8                                         
40015218:   00f767b3            or  a5,a4,a5                                              
4001521c:   01079793            slli    a5,a5,0x10                                        
40015220:   0107d793            srli    a5,a5,0x10                                        
    if (elength != RTEMS_RFS_DIR_ENTRY_EMPTY)                                             
40015224:   13879063            bne a5,s8,40015344 <rtems_rfs_dir_read+0x284>             
    *length += rtems_rfs_fs_block_size (fs) - map.bpos.boff;                              
40015228:   0084a703            lw  a4,8(s1)                                              
4001522c:   00092783            lw  a5,0(s2)                                              
40015230:   40d70733            sub a4,a4,a3                                              
40015234:   00e787b3            add a5,a5,a4                                              
40015238:   00f92023            sw  a5,0(s2)                                              
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                       
4001523c:   ed1f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
40015240:   f60508e3            beqz    a0,400151b0 <rtems_rfs_dir_read+0xf0>             <== ALWAYS TAKEN
      printf ("rtems-rfs: dir-read: next block: off:%" PRId64 " length:%zd\n",            
40015244:   00092703            lw  a4,0(s2)                                              <== NOT EXECUTED
40015248:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
4001524c:   000a0693            mv  a3,s4                                                 <== NOT EXECUTED
40015250:   550d8513            addi    a0,s11,1360 # 40023550 <IMFS_LIMITS_AND_OPTIONS+0x770><== NOT EXECUTED
40015254:   fa4ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015258:   f59ff06f            j   400151b0 <rtems_rfs_dir_read+0xf0>                    <== NOT EXECUTED
      rc = ENOENT;                                                                        
4001525c:   00200413            li  s0,2                                                  
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40015260:   01410593            addi    a1,sp,20                                          
40015264:   00048513            mv  a0,s1                                                 
40015268:   dacf10ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
  }                                                                                       
                                                                                          
  rtems_rfs_buffer_handle_close (fs, &buffer);                                            
  rtems_rfs_block_map_close (fs, &map);                                                   
4001526c:   02010593            addi    a1,sp,32                                          
40015270:   00048513            mv  a0,s1                                                 
  handle->dirty = false;                                                                  
40015274:   00010a23            sb  zero,20(sp)                                           
  handle->bnum  = 0;                                                                      
40015278:   00012c23            sw  zero,24(sp)                                           
  handle->buffer = NULL;                                                                  
4001527c:   00012e23            sw  zero,28(sp)                                           
40015280:   cccfe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
  return rc;                                                                              
}                                                                                         
40015284:   0ac12083            lw  ra,172(sp)                                            
40015288:   00040513            mv  a0,s0                                                 
4001528c:   0a812403            lw  s0,168(sp)                                            
40015290:   0a412483            lw  s1,164(sp)                                            
40015294:   0a012903            lw  s2,160(sp)                                            
40015298:   09c12983            lw  s3,156(sp)                                            
4001529c:   09812a03            lw  s4,152(sp)                                            
400152a0:   09412a83            lw  s5,148(sp)                                            
400152a4:   09012b03            lw  s6,144(sp)                                            
400152a8:   08c12b83            lw  s7,140(sp)                                            
400152ac:   08812c03            lw  s8,136(sp)                                            
400152b0:   08412c83            lw  s9,132(sp)                                            
400152b4:   08012d03            lw  s10,128(sp)                                           
400152b8:   07c12d83            lw  s11,124(sp)                                           
400152bc:   0b010113            addi    sp,sp,176                                         
400152c0:   00008067            ret                                                       
  if (((rtems_rfs_fs_block_size (fs) -                                                    
400152c4:   06058663            beqz    a1,40015330 <rtems_rfs_dir_read+0x270>            <== ALWAYS TAKEN
    offset = (((offset / rtems_rfs_fs_block_size (fs)) + 1) *                             
400152c8:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
400152cc:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
400152d0:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
400152d4:   00000693            li  a3,0                                                  <== NOT EXECUTED
400152d8:   310070ef            jal ra,4001c5e8 <__divdi3>                                <== NOT EXECUTED
400152dc:   00150993            addi    s3,a0,1 # 80000001 <RamEnd+0x3f000001>            <== NOT EXECUTED
400152e0:   00a9b533            sltu    a0,s3,a0                                          <== NOT EXECUTED
400152e4:   00b50533            add a0,a0,a1                                              <== NOT EXECUTED
400152e8:   03343a33            mulhu   s4,s0,s3                                          <== NOT EXECUTED
400152ec:   02850533            mul a0,a0,s0                                              <== NOT EXECUTED
400152f0:   033409b3            mul s3,s0,s3                                              <== NOT EXECUTED
400152f4:   01450a33            add s4,a0,s4                                              <== NOT EXECUTED
400152f8:   e71ff06f            j   40015168 <rtems_rfs_dir_read+0xa8>                    <== NOT EXECUTED
    if (rc == ENXIO)                                                                      
400152fc:   00600793            li  a5,6                                                  <== NOT EXECUTED
40015300:   02f50e63            beq a0,a5,4001533c <rtems_rfs_dir_read+0x27c>             <== NOT EXECUTED
    rtems_rfs_block_map_close (fs, &map);                                                 
40015304:   02010593            addi    a1,sp,32                                          <== NOT EXECUTED
40015308:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
4001530c:   c40fe0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
    return rc;                                                                            
40015310:   f75ff06f            j   40015284 <rtems_rfs_dir_read+0x1c4>                   <== NOT EXECUTED
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",                  
40015314:   008aa583            lw  a1,8(s5)                                              <== NOT EXECUTED
40015318:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
4001531c:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40015320:   000a0693            mv  a3,s4                                                 <== NOT EXECUTED
40015324:   4a850513            addi    a0,a0,1192 # 400234a8 <IMFS_LIMITS_AND_OPTIONS+0x6c8><== NOT EXECUTED
40015328:   ed0ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
4001532c:   df5ff06f            j   40015120 <rtems_rfs_dir_read+0x60>                    <== NOT EXECUTED
  if (((rtems_rfs_fs_block_size (fs) -                                                    
40015330:   00a00793            li  a5,10                                                 
40015334:   e2a7eae3            bltu    a5,a0,40015168 <rtems_rfs_dir_read+0xa8>          
40015338:   f91ff06f            j   400152c8 <rtems_rfs_dir_read+0x208>                   <== NOT EXECUTED
      rc = ENOENT;                                                                        
4001533c:   00200413            li  s0,2                                                  <== NOT EXECUTED
40015340:   fc5ff06f            j   40015304 <rtems_rfs_dir_read+0x244>                   <== NOT EXECUTED
    eino    = rtems_rfs_dir_entry_ino (entry);                                            
40015344:   0008c683            lbu a3,0(a7)                                              
40015348:   0018c703            lbu a4,1(a7)                                              
4001534c:   0038c603            lbu a2,3(a7)                                              
40015350:   0028c983            lbu s3,2(a7)                                              
40015354:   01869693            slli    a3,a3,0x18                                        
40015358:   01071713            slli    a4,a4,0x10                                        
4001535c:   00e6e6b3            or  a3,a3,a4                                              
40015360:   00c6e6b3            or  a3,a3,a2                                              
40015364:   00899993            slli    s3,s3,0x8                                         
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40015368:   00a00a13            li  s4,10                                                 
    eino    = rtems_rfs_dir_entry_ino (entry);                                            
4001536c:   0136e9b3            or  s3,a3,s3                                              
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))                                  
40015370:   10fa5863            bge s4,a5,40015480 <rtems_rfs_dir_read+0x3c0>             
40015374:   01c4a703            lw  a4,28(s1)                                             
40015378:   10e7f463            bgeu    a5,a4,40015480 <rtems_rfs_dir_read+0x3c0>         
4001537c:   10098263            beqz    s3,40015480 <rtems_rfs_dir_read+0x3c0>            <== NEVER TAKEN
40015380:   0144a703            lw  a4,20(s1)                                             
40015384:   0f376e63            bltu    a4,s3,40015480 <rtems_rfs_dir_read+0x3c0>         
      memset (dirent, 0, sizeof (struct dirent));                                         
40015388:   11800613            li  a2,280                                                
4001538c:   00000593            li  a1,0                                                  
40015390:   000d0513            mv  a0,s10                                                
40015394:   00f12623            sw  a5,12(sp)                                             
40015398:   01112423            sw  a7,8(sp)                                              
4001539c:   79d080ef            jal ra,4001e338 <memset>                                  
      dirent->d_off = rtems_rfs_block_get_pos (fs, &map.bpos);                            
400153a0:   03010593            addi    a1,sp,48                                          
400153a4:   00048513            mv  a0,s1                                                 
400153a8:   974fe0ef            jal ra,4001351c <rtems_rfs_block_get_pos>                 
      *length += elength;                                                                 
400153ac:   00092683            lw  a3,0(s2)                                              
400153b0:   00c12783            lw  a5,12(sp)                                             
      dirent->d_reclen = sizeof (struct dirent);                                          
400153b4:   11800713            li  a4,280                                                
400153b8:   00ed1823            sh  a4,16(s10)                                            
      dirent->d_off = rtems_rfs_block_get_pos (fs, &map.bpos);                            
400153bc:   00ad2423            sw  a0,8(s10)                                             
      *length += elength;                                                                 
400153c0:   00d78733            add a4,a5,a3                                              
      dirent->d_off = rtems_rfs_block_get_pos (fs, &map.bpos);                            
400153c4:   00bd2623            sw  a1,12(s10)                                            
      *length += elength;                                                                 
400153c8:   00e92023            sw  a4,0(s2)                                              
      remaining = rtems_rfs_fs_block_size (fs) - (map.bpos.boff + elength);               
400153cc:   03412603            lw  a2,52(sp)                                             
400153d0:   0084a703            lw  a4,8(s1)                                              
      if (remaining <= RTEMS_RFS_DIR_ENTRY_SIZE)                                          
400153d4:   00812883            lw  a7,8(sp)                                              
400153d8:   40c70733            sub a4,a4,a2                                              
      remaining = rtems_rfs_fs_block_size (fs) - (map.bpos.boff + elength);               
400153dc:   40f70633            sub a2,a4,a5                                              
      if (remaining <= RTEMS_RFS_DIR_ENTRY_SIZE)                                          
400153e0:   00ca4663            blt s4,a2,400153ec <rtems_rfs_dir_read+0x32c>             
        *length += remaining;                                                             
400153e4:   00d70733            add a4,a4,a3                                              <== NOT EXECUTED
400153e8:   00e92023            sw  a4,0(s2)                                              <== NOT EXECUTED
      elength -= RTEMS_RFS_DIR_ENTRY_SIZE;                                                
400153ec:   ff678913            addi    s2,a5,-10                                         
      if (elength > NAME_MAX)                                                             
400153f0:   0ff00793            li  a5,255                                                
400153f4:   0127d463            bge a5,s2,400153fc <rtems_rfs_dir_read+0x33c>             
400153f8:   0ff00913            li  s2,255                                                <== NOT EXECUTED
      memcpy (dirent->d_name, entry + RTEMS_RFS_DIR_ENTRY_SIZE, elength);                 
400153fc:   016d0993            addi    s3,s10,22                                         
40015400:   00a88593            addi    a1,a7,10                                          
40015404:   00090613            mv  a2,s2                                                 
40015408:   00098513            mv  a0,s3                                                 
4001540c:   01112423            sw  a7,8(sp)                                              
40015410:   4e1080ef            jal ra,4001e0f0 <memcpy>                                  
      dirent->d_ino = rtems_rfs_dir_entry_ino (entry);                                    
40015414:   00812883            lw  a7,8(sp)                                              
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                     
40015418:   80000537            lui a0,0x80000                                            
4001541c:   00000593            li  a1,0                                                  
      dirent->d_ino = rtems_rfs_dir_entry_ino (entry);                                    
40015420:   0008c783            lbu a5,0(a7)                                              
40015424:   0018c683            lbu a3,1(a7)                                              
40015428:   0038c603            lbu a2,3(a7)                                              
4001542c:   0028c703            lbu a4,2(a7)                                              
40015430:   01879793            slli    a5,a5,0x18                                        
40015434:   01069693            slli    a3,a3,0x10                                        
40015438:   00d7e7b3            or  a5,a5,a3                                              
4001543c:   00c7e7b3            or  a5,a5,a2                                              
40015440:   00871713            slli    a4,a4,0x8                                         
40015444:   00e7e7b3            or  a5,a5,a4                                              
40015448:   00fd2023            sw  a5,0(s10)                                             
4001544c:   000d2223            sw  zero,4(s10)                                           
      dirent->d_namlen = elength;                                                         
40015450:   012d1a23            sh  s2,20(s10)                                            
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                     
40015454:   cb9f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
40015458:   e00504e3            beqz    a0,40015260 <rtems_rfs_dir_read+0x1a0>            <== ALWAYS TAKEN
        printf ("rtems-rfs: dir-read: found off:%" PRIooff_t                              
4001545c:   000d2703            lw  a4,0(s10)                                             <== NOT EXECUTED
40015460:   004d2783            lw  a5,4(s10)                                             <== NOT EXECUTED
40015464:   008d2603            lw  a2,8(s10)                                             <== NOT EXECUTED
40015468:   00cd2683            lw  a3,12(s10)                                            <== NOT EXECUTED
4001546c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015470:   00098813            mv  a6,s3                                                 <== NOT EXECUTED
40015474:   51850513            addi    a0,a0,1304 # 40023518 <IMFS_LIMITS_AND_OPTIONS+0x738><== NOT EXECUTED
40015478:   d80ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
4001547c:   de5ff06f            j   40015260 <rtems_rfs_dir_read+0x1a0>                   <== NOT EXECUTED
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                   
40015480:   80000537            lui a0,0x80000                                            <== NOT EXECUTED
40015484:   00000593            li  a1,0                                                  <== NOT EXECUTED
40015488:   00f12423            sw  a5,8(sp)                                              <== NOT EXECUTED
4001548c:   c81f40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015490:   00812783            lw  a5,8(sp)                                              <== NOT EXECUTED
        rc = EIO;                                                                         
40015494:   00500413            li  s0,5                                                  <== NOT EXECUTED
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                                   
40015498:   dc0504e3            beqz    a0,40015260 <rtems_rfs_dir_read+0x1a0>            <== NOT EXECUTED
          printf ("rtems-rfs: dir-read: "                                                 
4001549c:   03412703            lw  a4,52(sp)                                             <== NOT EXECUTED
400154a0:   008aa583            lw  a1,8(s5)                                              <== NOT EXECUTED
400154a4:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
400154a8:   00098693            mv  a3,s3                                                 <== NOT EXECUTED
400154ac:   00078613            mv  a2,a5                                                 <== NOT EXECUTED
400154b0:   4d450513            addi    a0,a0,1236 # 400234d4 <IMFS_LIMITS_AND_OPTIONS+0x6f4><== NOT EXECUTED
400154b4:   d44ec0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400154b8:   da9ff06f            j   40015260 <rtems_rfs_dir_read+0x1a0>                   <== NOT EXECUTED
                                                                                          

40015ce4 <rtems_rfs_file_close>: {
40015ce4:   fe010113            addi    sp,sp,-32                                         
40015ce8:   00812c23            sw  s0,24(sp)                                             
40015cec:   01212823            sw  s2,16(sp)                                             
40015cf0:   00058413            mv  s0,a1                                                 
40015cf4:   00050913            mv  s2,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                                       
40015cf8:   01000593            li  a1,16                                                 
40015cfc:   00000513            li  a0,0                                                  
{                                                                                         
40015d00:   00112e23            sw  ra,28(sp)                                             
40015d04:   00912a23            sw  s1,20(sp)                                             
40015d08:   01312623            sw  s3,12(sp)                                             
40015d0c:   01412423            sw  s4,8(sp)                                              
40015d10:   01512223            sw  s5,4(sp)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                                       
40015d14:   bf8f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
40015d18:   1c051063            bnez    a0,40015ed8 <rtems_rfs_file_close+0x1f4>          <== NEVER TAKEN
  if (handle->shared->references > 0)                                                     
40015d1c:   01c42583            lw  a1,28(s0)                                             
40015d20:   0085a483            lw  s1,8(a1)                                              
40015d24:   00905663            blez    s1,40015d30 <rtems_rfs_file_close+0x4c>           <== NEVER TAKEN
    handle->shared->references--;                                                         
40015d28:   fff48493            addi    s1,s1,-1                                          
40015d2c:   0095a423            sw  s1,8(a1)                                              
  rc = rtems_rfs_buffer_handle_close (fs, &handle->buffer);                               
40015d30:   00440a13            addi    s4,s0,4                                           
  if (handle->shared->references == 0)                                                    
40015d34:   04048263            beqz    s1,40015d78 <rtems_rfs_file_close+0x94>           <== ALWAYS TAKEN
40015d38:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40015d3c:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40015d40:   ad5f00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
  rrc = 0;                                                                                
40015d44:   00000493            li  s1,0                                                  <== NOT EXECUTED
  free (handle);                                                                          
40015d48:   00040513            mv  a0,s0                                                 
40015d4c:   83cec0ef            jal ra,40001d88 <free>                                    
}                                                                                         
40015d50:   01c12083            lw  ra,28(sp)                                             
40015d54:   01812403            lw  s0,24(sp)                                             
40015d58:   01012903            lw  s2,16(sp)                                             
40015d5c:   00c12983            lw  s3,12(sp)                                             
40015d60:   00812a03            lw  s4,8(sp)                                              
40015d64:   00412a83            lw  s5,4(sp)                                              
40015d68:   00048513            mv  a0,s1                                                 
40015d6c:   01412483            lw  s1,20(sp)                                             
40015d70:   02010113            addi    sp,sp,32                                          
40015d74:   00008067            ret                                                       
    if (!rtems_rfs_inode_is_loaded (&handle->shared->inode))                              
40015d78:   0185a703            lw  a4,24(a1)                                             
40015d7c:   1c070e63            beqz    a4,40015f58 <rtems_rfs_file_close+0x274>          <== ALWAYS TAKEN
      rtems_rfs_inode_set_atime (&handle->shared->inode,                                  
40015d80:   08c5a783            lw  a5,140(a1)                                            
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40015d84:   00100693            li  a3,1                                                  
  rtems_rfs_write_u32 (&handle->node->atime, atime);                                      
40015d88:   0187d613            srli    a2,a5,0x18                                        
40015d8c:   00c70823            sb  a2,16(a4)                                             
40015d90:   0185a703            lw  a4,24(a1)                                             
40015d94:   0107d513            srli    a0,a5,0x10                                        
40015d98:   0087d613            srli    a2,a5,0x8                                         
40015d9c:   00a708a3            sb  a0,17(a4)                                             
40015da0:   0185a703            lw  a4,24(a1)                                             
40015da4:   00c70923            sb  a2,18(a4)                                             
40015da8:   0185a703            lw  a4,24(a1)                                             
40015dac:   00f709a3            sb  a5,19(a4)                                             
      rtems_rfs_inode_set_mtime (&handle->shared->inode,                                  
40015db0:   01c42703            lw  a4,28(s0)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40015db4:   00d58e23            sb  a3,28(a1)                                             
40015db8:   09072783            lw  a5,144(a4)                                            
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                                      
40015dbc:   01872603            lw  a2,24(a4)                                             
40015dc0:   0187d593            srli    a1,a5,0x18                                        
40015dc4:   00b60a23            sb  a1,20(a2)                                             
40015dc8:   01872603            lw  a2,24(a4)                                             
40015dcc:   0107d513            srli    a0,a5,0x10                                        
40015dd0:   0087d593            srli    a1,a5,0x8                                         
40015dd4:   00a60aa3            sb  a0,21(a2)                                             
40015dd8:   01872603            lw  a2,24(a4)                                             
40015ddc:   00b60b23            sb  a1,22(a2)                                             
40015de0:   01872603            lw  a2,24(a4)                                             
40015de4:   00f60ba3            sb  a5,23(a2)                                             
      rtems_rfs_inode_set_ctime (&handle->shared->inode,                                  
40015de8:   01c42783            lw  a5,28(s0)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40015dec:   00d70e23            sb  a3,28(a4)                                             
40015df0:   0947a703            lw  a4,148(a5)                                            
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                                      
40015df4:   0187a603            lw  a2,24(a5)                                             
40015df8:   01875593            srli    a1,a4,0x18                                        
40015dfc:   00b60c23            sb  a1,24(a2)                                             
40015e00:   0187a603            lw  a2,24(a5)                                             
40015e04:   01075513            srli    a0,a4,0x10                                        
40015e08:   00875593            srli    a1,a4,0x8                                         
40015e0c:   00a60ca3            sb  a0,25(a2)                                             
40015e10:   0187a603            lw  a2,24(a5)                                             
40015e14:   00b60d23            sb  a1,26(a2)                                             
40015e18:   0187a603            lw  a2,24(a5)                                             
40015e1c:   00e60da3            sb  a4,27(a2)                                             
      if (!rtems_rfs_block_size_equal (&handle->shared->size,                             
40015e20:   01c42583            lw  a1,28(s0)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40015e24:   00d78e23            sb  a3,28(a5)                                             
40015e28:   0845a783            lw  a5,132(a1)                                            
40015e2c:   03c5a703            lw  a4,60(a1)                                             
40015e30:   1ae78063            beq a5,a4,40015fd0 <rtems_rfs_file_close+0x2ec>           
40015e34:   0885a703            lw  a4,136(a1)                                            <== NOT EXECUTED
 */                                                                                       
static inline void                                                                        
rtems_rfs_block_map_set_size (rtems_rfs_block_map*  map,                                  
                              rtems_rfs_block_size* size)                                 
{                                                                                         
  rtems_rfs_block_copy_size (&map->size, size);                                           
40015e38:   02f5ae23            sw  a5,60(a1)                                             <== NOT EXECUTED
  map->dirty = true;                                                                      
40015e3c:   00100793            li  a5,1                                                  <== NOT EXECUTED
  rtems_rfs_block_copy_size (&map->size, size);                                           
40015e40:   04e5a023            sw  a4,64(a1)                                             <== NOT EXECUTED
  map->dirty = true;                                                                      
40015e44:   02f58a23            sb  a5,52(a1)                                             <== NOT EXECUTED
    rc = rtems_rfs_block_map_close (fs, &handle->shared->map);                            
40015e48:   03458593            addi    a1,a1,52                                          
40015e4c:   00090513            mv  a0,s2                                                 
40015e50:   8fdfd0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
40015e54:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
40015e58:   0ea04263            bgtz    a0,40015f3c <rtems_rfs_file_close+0x258>          <== NEVER TAKEN
    rc = rtems_rfs_inode_close (fs, &handle->shared->inode);                              
40015e5c:   01c42583            lw  a1,28(s0)                                             
40015e60:   00090513            mv  a0,s2                                                 
40015e64:   00c58593            addi    a1,a1,12                                          
40015e68:   e44f20ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40015e6c:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
40015e70:   08a04063            bgtz    a0,40015ef0 <rtems_rfs_file_close+0x20c>          <== NEVER TAKEN
    rtems_chain_extract_unprotected (&handle->shared->link);                              
40015e74:   01c42503            lw  a0,28(s0)                                             
  next           = the_node->next;                                                        
40015e78:   00052703            lw  a4,0(a0)                                              
  previous       = the_node->previous;                                                    
40015e7c:   00452783            lw  a5,4(a0)                                              
  next->previous = previous;                                                              
40015e80:   00f72223            sw  a5,4(a4)                                              
  previous->next = next;                                                                  
40015e84:   00e7a023            sw  a4,0(a5)                                              
    free (handle->shared);                                                                
40015e88:   f01eb0ef            jal ra,40001d88 <free>                                    
40015e8c:   000a0593            mv  a1,s4                                                 
40015e90:   00090513            mv  a0,s2                                                 
40015e94:   981f00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
  handle->dirty = false;                                                                  
40015e98:   00040223            sb  zero,4(s0)                                            
  handle->bnum  = 0;                                                                      
40015e9c:   00042423            sw  zero,8(s0)                                            
  handle->buffer = NULL;                                                                  
40015ea0:   00042623            sw  zero,12(s0)                                           
  if (rrc > 0)                                                                            
40015ea4:   ea9052e3            blez    s1,40015d48 <rtems_rfs_file_close+0x64>           <== ALWAYS TAKEN
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                                     
40015ea8:   00000513            li  a0,0                                                  <== NOT EXECUTED
40015eac:   01000593            li  a1,16                                                 <== NOT EXECUTED
40015eb0:   a5cf40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015eb4:   e8050ae3            beqz    a0,40015d48 <rtems_rfs_file_close+0x64>           <== NOT EXECUTED
      printf ("rtems-rfs: file-close: result: %d: %s\n", rrc, strerror (rrc));            
40015eb8:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40015ebc:   0a8090ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40015ec0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40015ec4:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015ec8:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40015ecc:   79c50513            addi    a0,a0,1948 # 4002379c <IMFS_LIMITS_AND_OPTIONS+0x9bc><== NOT EXECUTED
40015ed0:   b29eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015ed4:   e75ff06f            j   40015d48 <rtems_rfs_file_close+0x64>                  <== NOT EXECUTED
    printf ("rtems-rfs: file-close: entry: ino=%" PRId32 "\n",                            
40015ed8:   01c42783            lw  a5,28(s0)                                             <== NOT EXECUTED
40015edc:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015ee0:   70050513            addi    a0,a0,1792 # 40023700 <IMFS_LIMITS_AND_OPTIONS+0x920><== NOT EXECUTED
40015ee4:   0147a583            lw  a1,20(a5)                                             <== NOT EXECUTED
40015ee8:   b11eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015eec:   e31ff06f            j   40015d1c <rtems_rfs_file_close+0x38>                  <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                                   
40015ef0:   00000513            li  a0,0                                                  <== NOT EXECUTED
40015ef4:   01000593            li  a1,16                                                 <== NOT EXECUTED
40015ef8:   a14f40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015efc:   0a051463            bnez    a0,40015fa4 <rtems_rfs_file_close+0x2c0>          <== NOT EXECUTED
    rtems_chain_extract_unprotected (&handle->shared->link);                              
40015f00:   01c42503            lw  a0,28(s0)                                             <== NOT EXECUTED
  next           = the_node->next;                                                        
40015f04:   00052703            lw  a4,0(a0)                                              <== NOT EXECUTED
  previous       = the_node->previous;                                                    
40015f08:   00452783            lw  a5,4(a0)                                              <== NOT EXECUTED
      if (rrc == 0)                                                                       
40015f0c:   f6049ae3            bnez    s1,40015e80 <rtems_rfs_file_close+0x19c>          <== NOT EXECUTED
  next->previous = previous;                                                              
40015f10:   00f72223            sw  a5,4(a4)                                              <== NOT EXECUTED
  previous->next = next;                                                                  
40015f14:   00e7a023            sw  a4,0(a5)                                              <== NOT EXECUTED
    free (handle->shared);                                                                
40015f18:   e71eb0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40015f1c:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40015f20:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40015f24:   8f1f00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40015f28:   00098493            mv  s1,s3                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40015f2c:   00040223            sb  zero,4(s0)                                            <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40015f30:   00042423            sw  zero,8(s0)                                            <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40015f34:   00042623            sw  zero,12(s0)                                           <== NOT EXECUTED
  if (rrc > 0)                                                                            
40015f38:   f71ff06f            j   40015ea8 <rtems_rfs_file_close+0x1c4>                 <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                                   
40015f3c:   00000513            li  a0,0                                                  <== NOT EXECUTED
40015f40:   01000593            li  a1,16                                                 <== NOT EXECUTED
40015f44:   9c8f40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015f48:   02051663            bnez    a0,40015f74 <rtems_rfs_file_close+0x290>          <== NOT EXECUTED
      if (rrc == 0)                                                                       
40015f4c:   f00498e3            bnez    s1,40015e5c <rtems_rfs_file_close+0x178>          <== NOT EXECUTED
40015f50:   00098493            mv  s1,s3                                                 <== NOT EXECUTED
40015f54:   f09ff06f            j   40015e5c <rtems_rfs_file_close+0x178>                 <== NOT EXECUTED
      rrc = rtems_rfs_inode_load (fs, &handle->shared->inode);                            
40015f58:   00c58593            addi    a1,a1,12                                          
40015f5c:   00090513            mv  a0,s2                                                 
40015f60:   a60f20ef            jal ra,400081c0 <rtems_rfs_inode_load>                    
      rtems_rfs_inode_set_atime (&handle->shared->inode,                                  
40015f64:   01c42583            lw  a1,28(s0)                                             
    if (rrc == 0)                                                                         
40015f68:   06050c63            beqz    a0,40015fe0 <rtems_rfs_file_close+0x2fc>          <== ALWAYS TAKEN
    rc = rtems_rfs_block_map_close (fs, &handle->shared->map);                            
40015f6c:   00050493            mv  s1,a0                                                 <== NOT EXECUTED
40015f70:   ed9ff06f            j   40015e48 <rtems_rfs_file_close+0x164>                 <== NOT EXECUTED
        printf ("rtems-rfs: file-close: map close error: ino=%" PRId32 ": %d: %s\n",      
40015f74:   01c42783            lw  a5,28(s0)                                             <== NOT EXECUTED
40015f78:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40015f7c:   0147aa83            lw  s5,20(a5)                                             <== NOT EXECUTED
40015f80:   7e5080ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40015f84:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40015f88:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015f8c:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40015f90:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
40015f94:   72850513            addi    a0,a0,1832 # 40023728 <IMFS_LIMITS_AND_OPTIONS+0x948><== NOT EXECUTED
40015f98:   a61eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
      if (rrc == 0)                                                                       
40015f9c:   ec0490e3            bnez    s1,40015e5c <rtems_rfs_file_close+0x178>          <== NOT EXECUTED
40015fa0:   fb1ff06f            j   40015f50 <rtems_rfs_file_close+0x26c>                 <== NOT EXECUTED
        printf ("rtems-rfs: file-close: inode close error: ino=%" PRId32 ": %d: %s\n",    
40015fa4:   01c42783            lw  a5,28(s0)                                             <== NOT EXECUTED
40015fa8:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40015fac:   0147aa83            lw  s5,20(a5)                                             <== NOT EXECUTED
40015fb0:   7b5080ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40015fb4:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40015fb8:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015fbc:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40015fc0:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
40015fc4:   76050513            addi    a0,a0,1888 # 40023760 <IMFS_LIMITS_AND_OPTIONS+0x980><== NOT EXECUTED
40015fc8:   a31eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015fcc:   f35ff06f            j   40015f00 <rtems_rfs_file_close+0x21c>                 <== NOT EXECUTED
      if (!rtems_rfs_block_size_equal (&handle->shared->size,                             
40015fd0:   0885a703            lw  a4,136(a1)                                            
40015fd4:   0405a683            lw  a3,64(a1)                                             
40015fd8:   e6d710e3            bne a4,a3,40015e38 <rtems_rfs_file_close+0x154>           
40015fdc:   e6dff06f            j   40015e48 <rtems_rfs_file_close+0x164>                 
  rtems_rfs_write_u32 (&handle->node->atime, atime);                                      
40015fe0:   0185a703            lw  a4,24(a1)                                             
40015fe4:   d9dff06f            j   40015d80 <rtems_rfs_file_close+0x9c>                  
                                                                                          

40016920 <rtems_rfs_file_get_shared>: {
40016920:   00050713            mv  a4,a0                                                 
  return _Chain_Immutable_head( the_chain )->next;                                        
40016924:   07452503            lw  a0,116(a0)                                            
  return &the_chain->Tail.Node;                                                           
40016928:   07870713            addi    a4,a4,120                                         
  while (!rtems_chain_is_tail (&fs->file_shares, node))                                   
4001692c:   00e51863            bne a0,a4,4001693c <rtems_rfs_file_get_shared+0x1c>       
40016930:   0180006f            j   40016948 <rtems_rfs_file_get_shared+0x28>             
  return the_node->next;                                                                  
40016934:   00052503            lw  a0,0(a0)                                              <== NOT EXECUTED
40016938:   00e50863            beq a0,a4,40016948 <rtems_rfs_file_get_shared+0x28>       <== NOT EXECUTED
    if (shared->inode.ino == ino)                                                         
4001693c:   01452783            lw  a5,20(a0)                                             
40016940:   feb79ae3            bne a5,a1,40016934 <rtems_rfs_file_get_shared+0x14>       
      return shared;                                                                      
    node = rtems_chain_next (node);                                                       
  }                                                                                       
  return NULL;                                                                            
}                                                                                         
40016944:   00008067            ret                                                       
  return NULL;                                                                            
40016948:   00000513            li  a0,0                                                  
}                                                                                         
4001694c:   00008067            ret                                                       
                                                                                          

40016228 <rtems_rfs_file_io_end>: {
40016228:   fe010113            addi    sp,sp,-32                                         
4001622c:   00812c23            sw  s0,24(sp)                                             
40016230:   00912a23            sw  s1,20(sp)                                             
40016234:   00050413            mv  s0,a0                                                 
40016238:   00058493            mv  s1,a1                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
4001623c:   00000513            li  a0,0                                                  
40016240:   02000593            li  a1,32                                                 
{                                                                                         
40016244:   01212823            sw  s2,16(sp)                                             
40016248:   00112e23            sw  ra,28(sp)                                             
4001624c:   01312623            sw  s3,12(sp)                                             
40016250:   01412423            sw  s4,8(sp)                                              
40016254:   01512223            sw  s5,4(sp)                                              
40016258:   01612023            sw  s6,0(sp)                                              
4001625c:   00060913            mv  s2,a2                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
40016260:   eadf30ef            jal ra,4000a10c <rtems_rfs_trace>                         
40016264:   02050063            beqz    a0,40016284 <rtems_rfs_file_io_end+0x5c>          <== ALWAYS TAKEN
    printf ("rtems-rfs: file-io:   end: %s size=%zu\n",                                   
40016268:   18091663            bnez    s2,400163f4 <rtems_rfs_file_io_end+0x1cc>         <== NOT EXECUTED
4001626c:   400235b7            lui a1,0x40023                                            <== NOT EXECUTED
40016270:   7c458593            addi    a1,a1,1988 # 400237c4 <IMFS_LIMITS_AND_OPTIONS+0x9e4><== NOT EXECUTED
40016274:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016278:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
4001627c:   88050513            addi    a0,a0,-1920 # 40023880 <IMFS_LIMITS_AND_OPTIONS+0xaa0><== NOT EXECUTED
40016280:   f78eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),                     
40016284:   01c42783            lw  a5,28(s0)                                             
  if (rtems_rfs_buffer_handle_has_block (&handle->buffer))                                
40016288:   00c42703            lw  a4,12(s0)                                             
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),                     
4001628c:   0987a503            lw  a0,152(a5)                                            
  if (rtems_rfs_buffer_handle_has_block (&handle->buffer))                                
40016290:   1a070c63            beqz    a4,40016448 <rtems_rfs_file_io_end+0x220>         <== NEVER TAKEN
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),                     
40016294:   00440593            addi    a1,s0,4                                           
    if (!read)                                                                            
40016298:   10091e63            bnez    s2,400163b4 <rtems_rfs_file_io_end+0x18c>         
      rtems_rfs_buffer_mark_dirty (rtems_rfs_file_buffer (handle));                       
4001629c:   00100793            li  a5,1                                                  
400162a0:   00f40223            sb  a5,4(s0)                                              
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),                     
400162a4:   d70f00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
400162a8:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
400162ac:   1ca04e63            bgtz    a0,40016488 <rtems_rfs_file_io_end+0x260>         <== NEVER TAKEN
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))                               
400162b0:   01c42783            lw  a5,28(s0)                                             
  handle->bpos.boff += size;                                                              
400162b4:   01442683            lw  a3,20(s0)                                             
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))                               
400162b8:   0987a703            lw  a4,152(a5)                                            
  handle->bpos.boff += size;                                                              
400162bc:   00d484b3            add s1,s1,a3                                              
400162c0:   00942a23            sw  s1,20(s0)                                             
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))                               
400162c4:   00872703            lw  a4,8(a4)                                              
  if (handle->bpos.boff >=                                                                
400162c8:   00e4ee63            bltu    s1,a4,400162e4 <rtems_rfs_file_io_end+0xbc>       
    handle->bpos.bno++;                                                                   
400162cc:   01042683            lw  a3,16(s0)                                             
    handle->bpos.boff -= rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));            
400162d0:   40e484b3            sub s1,s1,a4                                              
400162d4:   00942a23            sw  s1,20(s0)                                             
    handle->bpos.bno++;                                                                   
400162d8:   00168713            addi    a4,a3,1                                           
400162dc:   00e42823            sw  a4,16(s0)                                             
  if (!read &&                                                                            
400162e0:   0e091e63            bnez    s2,400163dc <rtems_rfs_file_io_end+0x1b4>         
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),                          
400162e4:   01042683            lw  a3,16(s0)                                             
400162e8:   03c7a703            lw  a4,60(a5)                                             
  if (!read &&                                                                            
400162ec:   10068a63            beqz    a3,40016400 <rtems_rfs_file_io_end+0x1d8>         
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),                          
400162f0:   10071863            bnez    a4,40016400 <rtems_rfs_file_io_end+0x1d8>         <== ALWAYS TAKEN
400162f4:   01442683            lw  a3,20(s0)                                             
  atime  = rtems_rfs_file_update_atime (handle);                                          
400162f8:   00042703            lw  a4,0(s0)                                              
  map->size.offset = offset;                                                              
400162fc:   04d7a023            sw  a3,64(a5)                                             
  map->dirty = true;                                                                      
40016300:   00100693            li  a3,1                                                  
40016304:   00177493            andi    s1,a4,1                                           
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;                                 
40016308:   00277a13            andi    s4,a4,2                                           
4001630c:   001a3a13            seqz    s4,s4                                             
40016310:   0014ca93            xori    s5,s1,1                                           
40016314:   02d78a23            sb  a3,52(a5)                                             
  length = rtems_rfs_file_update_length (handle) && length;                               
40016318:   00477713            andi    a4,a4,4                                           
4001631c:   014aeab3            or  s5,s5,s4                                              
40016320:   00100b13            li  s6,1                                                  
40016324:   0c071463            bnez    a4,400163ec <rtems_rfs_file_io_end+0x1c4>         <== NEVER TAKEN
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
40016328:   00000513            li  a0,0                                                  
4001632c:   02000593            li  a1,32                                                 
40016330:   dddf30ef            jal ra,4000a10c <rtems_rfs_trace>                         
40016334:   02050c63            beqz    a0,4001636c <rtems_rfs_file_io_end+0x144>         <== ALWAYS TAKEN
    printf ("rtems-rfs: file-io:   end: pos=%" PRIu32 ":%" PRIu32 " %c %c %c\n",          
40016338:   fff48693            addi    a3,s1,-1                                          <== NOT EXECUTED
4001633c:   416007b3            neg a5,s6                                                 <== NOT EXECUTED
40016340:   01442603            lw  a2,20(s0)                                             <== NOT EXECUTED
40016344:   01042583            lw  a1,16(s0)                                             <== NOT EXECUTED
40016348:   0146f693            andi    a3,a3,20                                          <== NOT EXECUTED
4001634c:   005a1713            slli    a4,s4,0x5                                         <== NOT EXECUTED
40016350:   01f7f793            andi    a5,a5,31                                          <== NOT EXECUTED
40016354:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016358:   02d78793            addi    a5,a5,45                                          <== NOT EXECUTED
4001635c:   02d70713            addi    a4,a4,45                                          <== NOT EXECUTED
40016360:   02d68693            addi    a3,a3,45                                          <== NOT EXECUTED
40016364:   8ec50513            addi    a0,a0,-1812 # 400238ec <IMFS_LIMITS_AND_OPTIONS+0xb0c><== NOT EXECUTED
40016368:   e90eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (atime || mtime)                                                                     
4001636c:   0c0a9063            bnez    s5,4001642c <rtems_rfs_file_io_end+0x204>         <== ALWAYS TAKEN
  if (length)                                                                             
40016370:   000b0c63            beqz    s6,40016388 <rtems_rfs_file_io_end+0x160>         
      rtems_rfs_block_map_count (rtems_rfs_file_map (handle));                            
40016374:   01c42783            lw  a5,28(s0)                                             
    handle->shared->size.count =                                                          
40016378:   03c7a683            lw  a3,60(a5)                                             
    handle->shared->size.offset =                                                         
4001637c:   0407a703            lw  a4,64(a5)                                             
    handle->shared->size.count =                                                          
40016380:   08d7a223            sw  a3,132(a5)                                            
    handle->shared->size.offset =                                                         
40016384:   08e7a423            sw  a4,136(a5)                                            
}                                                                                         
40016388:   01c12083            lw  ra,28(sp)                                             
4001638c:   01812403            lw  s0,24(sp)                                             
40016390:   01412483            lw  s1,20(sp)                                             
40016394:   01012903            lw  s2,16(sp)                                             
40016398:   00812a03            lw  s4,8(sp)                                              
4001639c:   00412a83            lw  s5,4(sp)                                              
400163a0:   00012b03            lw  s6,0(sp)                                              
400163a4:   00098513            mv  a0,s3                                                 
400163a8:   00c12983            lw  s3,12(sp)                                             
400163ac:   02010113            addi    sp,sp,32                                          
400163b0:   00008067            ret                                                       
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),                     
400163b4:   c60f00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
400163b8:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
400163bc:   0ea04e63            bgtz    a0,400164b8 <rtems_rfs_file_io_end+0x290>         <== NEVER TAKEN
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))                               
400163c0:   01c42783            lw  a5,28(s0)                                             
  handle->bpos.boff += size;                                                              
400163c4:   01442683            lw  a3,20(s0)                                             
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))                               
400163c8:   0987a703            lw  a4,152(a5)                                            
  handle->bpos.boff += size;                                                              
400163cc:   00d484b3            add s1,s1,a3                                              
400163d0:   00942a23            sw  s1,20(s0)                                             
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))                               
400163d4:   00872703            lw  a4,8(a4)                                              
  if (handle->bpos.boff >=                                                                
400163d8:   eee4fae3            bgeu    s1,a4,400162cc <rtems_rfs_file_io_end+0xa4>       
  atime  = rtems_rfs_file_update_atime (handle);                                          
400163dc:   00042483            lw  s1,0(s0)                                              
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;                                 
400163e0:   00000a13            li  s4,0                                                  
  atime  = rtems_rfs_file_update_atime (handle);                                          
400163e4:   0014f493            andi    s1,s1,1                                           
400163e8:   0014ca93            xori    s5,s1,1                                           
  length = rtems_rfs_file_update_length (handle) && length;                               
400163ec:   00000b13            li  s6,0                                                  
400163f0:   f39ff06f            j   40016328 <rtems_rfs_file_io_end+0x100>                
    printf ("rtems-rfs: file-io:   end: %s size=%zu\n",                                   
400163f4:   400215b7            lui a1,0x40021                                            <== NOT EXECUTED
400163f8:   66c58593            addi    a1,a1,1644 # 4002166c <IMFS_node_control_sym_link+0x10c><== NOT EXECUTED
400163fc:   e79ff06f            j   40016274 <rtems_rfs_file_io_end+0x4c>                 <== NOT EXECUTED
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),                          
40016400:   eee6fae3            bgeu    a3,a4,400162f4 <rtems_rfs_file_io_end+0xcc>       
40016404:   fff70713            addi    a4,a4,-1                                          
40016408:   0ae68e63            beq a3,a4,400164c4 <rtems_rfs_file_io_end+0x29c>          
  atime  = rtems_rfs_file_update_atime (handle);                                          
4001640c:   00042a03            lw  s4,0(s0)                                              
  length = rtems_rfs_file_update_length (handle) && length;                               
40016410:   00000b13            li  s6,0                                                  
  atime  = rtems_rfs_file_update_atime (handle);                                          
40016414:   001a7493            andi    s1,s4,1                                           
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;                                 
40016418:   002a7a13            andi    s4,s4,2                                           
4001641c:   001a3a13            seqz    s4,s4                                             
  length = rtems_rfs_file_update_length (handle) && length;                               
40016420:   0014ca93            xori    s5,s1,1                                           
40016424:   014aeab3            or  s5,s5,s4                                              
40016428:   f01ff06f            j   40016328 <rtems_rfs_file_io_end+0x100>                
    time_t now = time (NULL);                                                             
4001642c:   00000513            li  a0,0                                                  
40016430:   755080ef            jal ra,4001f384 <time>                                    
    if (read && atime)                                                                    
40016434:   04090263            beqz    s2,40016478 <rtems_rfs_file_io_end+0x250>         
40016438:   f2049ce3            bnez    s1,40016370 <rtems_rfs_file_io_end+0x148>         <== NEVER TAKEN
      handle->shared->atime = now;                                                        
4001643c:   01c42783            lw  a5,28(s0)                                             
40016440:   08a7a623            sw  a0,140(a5)                                            
40016444:   f2dff06f            j   40016370 <rtems_rfs_file_io_end+0x148>                
  handle->bpos.boff += size;                                                              
40016448:   01442683            lw  a3,20(s0)                                             <== NOT EXECUTED
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))                               
4001644c:   00852703            lw  a4,8(a0)                                              <== NOT EXECUTED
  int  rc = 0;                                                                            
40016450:   00000993            li  s3,0                                                  <== NOT EXECUTED
  handle->bpos.boff += size;                                                              
40016454:   00d484b3            add s1,s1,a3                                              <== NOT EXECUTED
40016458:   00942a23            sw  s1,20(s0)                                             <== NOT EXECUTED
  if (handle->bpos.boff >=                                                                
4001645c:   e8e4e2e3            bltu    s1,a4,400162e0 <rtems_rfs_file_io_end+0xb8>       <== NOT EXECUTED
    handle->bpos.bno++;                                                                   
40016460:   01042683            lw  a3,16(s0)                                             <== NOT EXECUTED
    handle->bpos.boff -= rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));            
40016464:   40e484b3            sub s1,s1,a4                                              <== NOT EXECUTED
40016468:   00942a23            sw  s1,20(s0)                                             <== NOT EXECUTED
    handle->bpos.bno++;                                                                   
4001646c:   00168713            addi    a4,a3,1                                           <== NOT EXECUTED
40016470:   00e42823            sw  a4,16(s0)                                             <== NOT EXECUTED
    handle->bpos.boff -= rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));            
40016474:   e6dff06f            j   400162e0 <rtems_rfs_file_io_end+0xb8>                 <== NOT EXECUTED
    if (!read && mtime)                                                                   
40016478:   ee0a0ce3            beqz    s4,40016370 <rtems_rfs_file_io_end+0x148>         <== NEVER TAKEN
      handle->shared->mtime = now;                                                        
4001647c:   01c42783            lw  a5,28(s0)                                             
40016480:   08a7a823            sw  a0,144(a5)                                            
40016484:   eedff06f            j   40016370 <rtems_rfs_file_io_end+0x148>                
      printf (                                                                            
40016488:   40023437            lui s0,0x40023                                            <== NOT EXECUTED
4001648c:   7c440413            addi    s0,s0,1988 # 400237c4 <IMFS_LIMITS_AND_OPTIONS+0x9e4><== NOT EXECUTED
40016490:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40016494:   2d1080ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40016498:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4001649c:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400164a0:   00098693            mv  a3,s3                                                 <== NOT EXECUTED
400164a4:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
400164a8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400164ac:   8a850513            addi    a0,a0,-1880 # 400238a8 <IMFS_LIMITS_AND_OPTIONS+0xac8><== NOT EXECUTED
400164b0:   d48eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
      return rc;                                                                          
400164b4:   ed5ff06f            j   40016388 <rtems_rfs_file_io_end+0x160>                <== NOT EXECUTED
      printf (                                                                            
400164b8:   40021437            lui s0,0x40021                                            <== NOT EXECUTED
400164bc:   66c40413            addi    s0,s0,1644 # 4002166c <IMFS_node_control_sym_link+0x10c><== NOT EXECUTED
400164c0:   fd1ff06f            j   40016490 <rtems_rfs_file_io_end+0x268>                <== NOT EXECUTED
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),                          
400164c4:   01442683            lw  a3,20(s0)                                             
400164c8:   0407a703            lw  a4,64(a5)                                             
400164cc:   f4d770e3            bgeu    a4,a3,4001640c <rtems_rfs_file_io_end+0x1e4>      
400164d0:   e29ff06f            j   400162f8 <rtems_rfs_file_io_end+0xd0>                 
                                                                                          

40015fe8 <rtems_rfs_file_io_start>: {
40015fe8:   fd010113            addi    sp,sp,-48                                         
40015fec:   02812423            sw  s0,40(sp)                                             
40015ff0:   03212023            sw  s2,32(sp)                                             
40015ff4:   00050413            mv  s0,a0                                                 
40015ff8:   00058913            mv  s2,a1                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
40015ffc:   00000513            li  a0,0                                                  
40016000:   02000593            li  a1,32                                                 
{                                                                                         
40016004:   02912223            sw  s1,36(sp)                                             
40016008:   02112623            sw  ra,44(sp)                                             
4001600c:   01312e23            sw  s3,28(sp)                                             
40016010:   00060493            mv  s1,a2                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
40016014:   8f8f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
40016018:   02050263            beqz    a0,4001603c <rtems_rfs_file_io_start+0x54>        <== ALWAYS TAKEN
    printf ("rtems-rfs: file-io: start: %s pos=%" PRIu32 ":%" PRIu32 "\n",                
4001601c:   08049a63            bnez    s1,400160b0 <rtems_rfs_file_io_start+0xc8>        <== NOT EXECUTED
40016020:   400235b7            lui a1,0x40023                                            <== NOT EXECUTED
40016024:   7c458593            addi    a1,a1,1988 # 400237c4 <IMFS_LIMITS_AND_OPTIONS+0x9e4><== NOT EXECUTED
40016028:   01442683            lw  a3,20(s0)                                             <== NOT EXECUTED
4001602c:   01042603            lw  a2,16(s0)                                             <== NOT EXECUTED
40016030:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40016034:   7cc50513            addi    a0,a0,1996 # 400237cc <IMFS_LIMITS_AND_OPTIONS+0x9ec><== NOT EXECUTED
40016038:   9c1eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (!rtems_rfs_buffer_handle_has_block (&handle->buffer))                               
4001603c:   00c42783            lw  a5,12(s0)                                             
    rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),                            
40016040:   01c42583            lw  a1,28(s0)                                             
  if (!rtems_rfs_buffer_handle_has_block (&handle->buffer))                               
40016044:   0a078c63            beqz    a5,400160fc <rtems_rfs_file_io_start+0x114>       
  if (read                                                                                
40016048:   04049663            bnez    s1,40016094 <rtems_rfs_file_io_start+0xac>        <== NEVER TAKEN
    size = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));                          
4001604c:   0985a783            lw  a5,152(a1)                                            
40016050:   0087a483            lw  s1,8(a5)                                              
  *available = size - rtems_rfs_file_block_offset (handle);                               
40016054:   01442783            lw  a5,20(s0)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
40016058:   00000513            li  a0,0                                                  
4001605c:   02000593            li  a1,32                                                 
  *available = size - rtems_rfs_file_block_offset (handle);                               
40016060:   40f487b3            sub a5,s1,a5                                              
40016064:   00f92023            sw  a5,0(s2)                                              
  return 0;                                                                               
40016068:   00000993            li  s3,0                                                  
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
4001606c:   8a0f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
40016070:   04051c63            bnez    a0,400160c8 <rtems_rfs_file_io_start+0xe0>        <== NEVER TAKEN
}                                                                                         
40016074:   02c12083            lw  ra,44(sp)                                             
40016078:   02812403            lw  s0,40(sp)                                             
4001607c:   02412483            lw  s1,36(sp)                                             
40016080:   02012903            lw  s2,32(sp)                                             
40016084:   00098513            mv  a0,s3                                                 
40016088:   01c12983            lw  s3,28(sp)                                             
4001608c:   03010113            addi    sp,sp,48                                          
40016090:   00008067            ret                                                       
      && rtems_rfs_block_map_last (rtems_rfs_file_map (handle))                           
40016094:   0445a703            lw  a4,68(a1)                                             
40016098:   03c5a783            lw  a5,60(a1)                                             
4001609c:   00f766b3            or  a3,a4,a5                                              
400160a0:   00069e63            bnez    a3,400160bc <rtems_rfs_file_io_start+0xd4>        <== ALWAYS TAKEN
      && rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle)))                   
400160a4:   0405a483            lw  s1,64(a1)                                             
400160a8:   fa0496e3            bnez    s1,40016054 <rtems_rfs_file_io_start+0x6c>        
400160ac:   fa1ff06f            j   4001604c <rtems_rfs_file_io_start+0x64>               
    printf ("rtems-rfs: file-io: start: %s pos=%" PRIu32 ":%" PRIu32 "\n",                
400160b0:   400215b7            lui a1,0x40021                                            <== NOT EXECUTED
400160b4:   66c58593            addi    a1,a1,1644 # 4002166c <IMFS_node_control_sym_link+0x10c><== NOT EXECUTED
400160b8:   f71ff06f            j   40016028 <rtems_rfs_file_io_start+0x40>               <== NOT EXECUTED
      && rtems_rfs_block_map_last (rtems_rfs_file_map (handle))                           
400160bc:   fff78793            addi    a5,a5,-1                                          
400160c0:   f8f716e3            bne a4,a5,4001604c <rtems_rfs_file_io_start+0x64>         
400160c4:   fe1ff06f            j   400160a4 <rtems_rfs_file_io_start+0xbc>               
    printf ("rtems-rfs: file-io: start: available=%zu (%zu)\n",                           
400160c8:   00092583            lw  a1,0(s2)                                              <== NOT EXECUTED
400160cc:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400160d0:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
400160d4:   85050513            addi    a0,a0,-1968 # 40023850 <IMFS_LIMITS_AND_OPTIONS+0xa70><== NOT EXECUTED
400160d8:   921eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
}                                                                                         
400160dc:   02c12083            lw  ra,44(sp)                                             <== NOT EXECUTED
400160e0:   02812403            lw  s0,40(sp)                                             <== NOT EXECUTED
400160e4:   02412483            lw  s1,36(sp)                                             <== NOT EXECUTED
400160e8:   02012903            lw  s2,32(sp)                                             <== NOT EXECUTED
400160ec:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
400160f0:   01c12983            lw  s3,28(sp)                                             <== NOT EXECUTED
400160f4:   03010113            addi    sp,sp,48                                          <== NOT EXECUTED
400160f8:   00008067            ret                                                       <== NOT EXECUTED
    rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),                            
400160fc:   0985a503            lw  a0,152(a1)                                            
40016100:   00c10693            addi    a3,sp,12                                          
40016104:   01040613            addi    a2,s0,16                                          
40016108:   03458593            addi    a1,a1,52                                          
4001610c:   835fd0ef            jal ra,40013940 <rtems_rfs_block_map_find>                
40016110:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
40016114:   00a05e63            blez    a0,40016130 <rtems_rfs_file_io_start+0x148>       
      if (read && (rc == ENXIO))                                                          
40016118:   00600793            li  a5,6                                                  
4001611c:   06048863            beqz    s1,4001618c <rtems_rfs_file_io_start+0x1a4>       <== ALWAYS TAKEN
40016120:   f4f51ae3            bne a0,a5,40016074 <rtems_rfs_file_io_start+0x8c>         <== NOT EXECUTED
        *available = 0;                                                                   
40016124:   00092023            sw  zero,0(s2)                                            <== NOT EXECUTED
        return 0;                                                                         
40016128:   00000993            li  s3,0                                                  <== NOT EXECUTED
4001612c:   f49ff06f            j   40016074 <rtems_rfs_file_io_start+0x8c>               <== NOT EXECUTED
      if (!read &&                                                                        
40016130:   08048e63            beqz    s1,400161cc <rtems_rfs_file_io_start+0x1e4>       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                        
40016134:   00000513            li  a0,0                                                  
40016138:   02000593            li  a1,32                                                 
4001613c:   fd1f30ef            jal ra,4000a10c <rtems_rfs_trace>                         
40016140:   00050993            mv  s3,a0                                                 
40016144:   0c050663            beqz    a0,40016210 <rtems_rfs_file_io_start+0x228>       <== ALWAYS TAKEN
      printf ("rtems-rfs: file-io: start: block=%" PRIu32 " request-read=%s\n",           
40016148:   00c12583            lw  a1,12(sp)                                             <== NOT EXECUTED
4001614c:   40022637            lui a2,0x40022                                            <== NOT EXECUTED
40016150:   44460613            addi    a2,a2,1092 # 40022444 <IMFS_node_control_sym_link+0xee4><== NOT EXECUTED
40016154:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016158:   81850513            addi    a0,a0,-2024 # 40023818 <IMFS_LIMITS_AND_OPTIONS+0xa38><== NOT EXECUTED
4001615c:   89deb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle),                     
40016160:   01c42783            lw  a5,28(s0)                                             
40016164:   00c12603            lw  a2,12(sp)                                             
40016168:   00098693            mv  a3,s3                                                 
4001616c:   0987a503            lw  a0,152(a5)                                            
40016170:   00440593            addi    a1,s0,4                                           
40016174:   c08f00ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40016178:   00050993            mv  s3,a0                                                 
    if (rc > 0)                                                                           
4001617c:   eea04ce3            bgtz    a0,40016074 <rtems_rfs_file_io_start+0x8c>        <== NEVER TAKEN
      && rtems_rfs_block_map_last (rtems_rfs_file_map (handle))                           
40016180:   01c42583            lw  a1,28(s0)                                             
  if (read                                                                                
40016184:   ec0484e3            beqz    s1,4001604c <rtems_rfs_file_io_start+0x64>        
40016188:   f0dff06f            j   40016094 <rtems_rfs_file_io_start+0xac>               
      if (rc != ENXIO)                                                                    
4001618c:   eef514e3            bne a0,a5,40016074 <rtems_rfs_file_io_start+0x8c>         
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                      
40016190:   00000513            li  a0,0                                                  
40016194:   02000593            li  a1,32                                                 
40016198:   f75f30ef            jal ra,4000a10c <rtems_rfs_trace>                         
4001619c:   06051e63            bnez    a0,40016218 <rtems_rfs_file_io_start+0x230>       <== NEVER TAKEN
      rc = rtems_rfs_block_map_grow (rtems_rfs_file_fs (handle),                          
400161a0:   01c42583            lw  a1,28(s0)                                             
400161a4:   00c10693            addi    a3,sp,12                                          
400161a8:   00100613            li  a2,1                                                  
400161ac:   0985a503            lw  a0,152(a1)                                            
400161b0:   03458593            addi    a1,a1,52                                          
400161b4:   9d5fd0ef            jal ra,40013b88 <rtems_rfs_block_map_grow>                
400161b8:   00050993            mv  s3,a0                                                 
      if (rc > 0)                                                                         
400161bc:   eaa04ce3            bgtz    a0,40016074 <rtems_rfs_file_io_start+0x8c>        
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                        
400161c0:   00000513            li  a0,0                                                  
400161c4:   02000593            li  a1,32                                                 
400161c8:   0280006f            j   400161f0 <rtems_rfs_file_io_start+0x208>              
      if (!read &&                                                                        
400161cc:   01442783            lw  a5,20(s0)                                             
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                        
400161d0:   00000513            li  a0,0                                                  
400161d4:   02000593            li  a1,32                                                 
      if (!read &&                                                                        
400161d8:   f60792e3            bnez    a5,4001613c <rtems_rfs_file_io_start+0x154>       
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))          
400161dc:   01c42783            lw  a5,28(s0)                                             
          (rtems_rfs_file_block_offset (handle) ||                                        
400161e0:   00092703            lw  a4,0(s2)                                              
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))          
400161e4:   0987a783            lw  a5,152(a5)                                            
          (rtems_rfs_file_block_offset (handle) ||                                        
400161e8:   0087a783            lw  a5,8(a5)                                              
400161ec:   f4f768e3            bltu    a4,a5,4001613c <rtems_rfs_file_io_start+0x154>    
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                        
400161f0:   f1df30ef            jal ra,4000a10c <rtems_rfs_trace>                         
      request_read = false;                                                               
400161f4:   00000993            li  s3,0                                                  
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                        
400161f8:   f60504e3            beqz    a0,40016160 <rtems_rfs_file_io_start+0x178>       <== ALWAYS TAKEN
      printf ("rtems-rfs: file-io: start: block=%" PRIu32 " request-read=%s\n",           
400161fc:   40022637            lui a2,0x40022                                            <== NOT EXECUTED
40016200:   00c12583            lw  a1,12(sp)                                             <== NOT EXECUTED
40016204:   00000993            li  s3,0                                                  <== NOT EXECUTED
40016208:   44860613            addi    a2,a2,1096 # 40022448 <IMFS_node_control_sym_link+0xee8><== NOT EXECUTED
4001620c:   f49ff06f            j   40016154 <rtems_rfs_file_io_start+0x16c>              <== NOT EXECUTED
        request_read = true;                                                              
40016210:   00100993            li  s3,1                                                  
40016214:   f4dff06f            j   40016160 <rtems_rfs_file_io_start+0x178>              
        printf ("rtems-rfs: file-io: start: grow\n");                                     
40016218:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
4001621c:   7f850513            addi    a0,a0,2040 # 400237f8 <IMFS_LIMITS_AND_OPTIONS+0xa18><== NOT EXECUTED
40016220:   821eb0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
40016224:   f7dff06f            j   400161a0 <rtems_rfs_file_io_start+0x1b8>              <== NOT EXECUTED
                                                                                          

4001599c <rtems_rfs_file_open>: int rtems_rfs_file_open (rtems_rfs_file_system* fs, rtems_rfs_ino ino, int oflag, rtems_rfs_file_handle** file) {
4001599c:   fd010113            addi    sp,sp,-48                                         
400159a0:   02912223            sw  s1,36(sp)                                             
400159a4:   01712623            sw  s7,12(sp)                                             
400159a8:   00058493            mv  s1,a1                                                 
400159ac:   00050b93            mv  s7,a0                                                 
  rtems_rfs_file_handle* handle;                                                          
  rtems_rfs_file_shared* shared;                                                          
  int                    rc;                                                              
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                                        
400159b0:   00800593            li  a1,8                                                  
400159b4:   00000513            li  a0,0                                                  
{                                                                                         
400159b8:   01412c23            sw  s4,24(sp)                                             
400159bc:   01612823            sw  s6,16(sp)                                             
400159c0:   02112623            sw  ra,44(sp)                                             
400159c4:   02812423            sw  s0,40(sp)                                             
400159c8:   03212023            sw  s2,32(sp)                                             
400159cc:   01312e23            sw  s3,28(sp)                                             
400159d0:   01512a23            sw  s5,20(sp)                                             
400159d4:   01812423            sw  s8,8(sp)                                              
400159d8:   01912223            sw  s9,4(sp)                                              
400159dc:   00060b13            mv  s6,a2                                                 
400159e0:   00068a13            mv  s4,a3                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                                        
400159e4:   f28f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
400159e8:   0a051a63            bnez    a0,40015a9c <rtems_rfs_file_open+0x100>           <== NEVER TAKEN
    printf ("rtems-rfs: file-open: ino=%" PRId32 "\n", ino);                              
                                                                                          
  *file = NULL;                                                                           
400159ec:   000a2023            sw  zero,0(s4)                                            
  /*                                                                                      
   * Allocate a new handle and initialise it. Do this before we deal with the             
   * shared node data so we do not have to be concerned with reference                    
   * counting.                                                                            
   */                                                                                     
  handle = malloc (sizeof (rtems_rfs_file_handle));                                       
400159f0:   00100593            li  a1,1                                                  
400159f4:   02000513            li  a0,32                                                 
400159f8:   b88fc0ef            jal ra,40011d80 <calloc>                                  
400159fc:   00050993            mv  s3,a0                                                 
  if (!handle)                                                                            
40015a00:   2c050063            beqz    a0,40015cc0 <rtems_rfs_file_open+0x324>           <== NEVER TAKEN
  return _Chain_Immutable_head( the_chain )->next;                                        
40015a04:   074ba403            lw  s0,116(s7)                                            
  return &the_chain->Tail.Node;                                                           
40015a08:   078b8913            addi    s2,s7,120                                         
rtems_rfs_file_get_shared (rtems_rfs_file_system* fs,                                     
                           rtems_rfs_ino          ino)                                    
{                                                                                         
  rtems_chain_node* node;                                                                 
  node = rtems_chain_first (&fs->file_shares);                                            
  while (!rtems_chain_is_tail (&fs->file_shares, node))                                   
40015a0c:   01241863            bne s0,s2,40015a1c <rtems_rfs_file_open+0x80>             
40015a10:   0a00006f            j   40015ab0 <rtems_rfs_file_open+0x114>                  
  return the_node->next;                                                                  
40015a14:   00042403            lw  s0,0(s0)                                              <== NOT EXECUTED
40015a18:   09240c63            beq s0,s2,40015ab0 <rtems_rfs_file_open+0x114>            <== NOT EXECUTED
  {                                                                                       
    rtems_rfs_file_shared* shared;                                                        
    shared = (rtems_rfs_file_shared*) node;                                               
    if (shared->inode.ino == ino)                                                         
40015a1c:   01442783            lw  a5,20(s0)                                             <== NOT EXECUTED
40015a20:   fef49ae3            bne s1,a5,40015a14 <rtems_rfs_file_open+0x78>             <== NOT EXECUTED
    shared->references++;                                                                 
40015a24:   00842783            lw  a5,8(s0)                                              <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                                      
40015a28:   00000513            li  a0,0                                                  <== NOT EXECUTED
40015a2c:   00800593            li  a1,8                                                  <== NOT EXECUTED
    shared->references++;                                                                 
40015a30:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
40015a34:   00f42423            sw  a5,8(s0)                                              <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                                      
40015a38:   ed4f40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015a3c:   04051663            bnez    a0,40015a88 <rtems_rfs_file_open+0xec>            <== NOT EXECUTED
  handle->flags  = oflag;                                                                 
40015a40:   0169a023            sw  s6,0(s3)                                              
  handle->shared = shared;                                                                
40015a44:   0089ae23            sw  s0,28(s3)                                             
  *file = handle;                                                                         
40015a48:   013a2023            sw  s3,0(s4)                                              
  return 0;                                                                               
40015a4c:   00000a93            li  s5,0                                                  
}                                                                                         
40015a50:   02c12083            lw  ra,44(sp)                                             
40015a54:   02812403            lw  s0,40(sp)                                             
40015a58:   02412483            lw  s1,36(sp)                                             
40015a5c:   02012903            lw  s2,32(sp)                                             
40015a60:   01c12983            lw  s3,28(sp)                                             
40015a64:   01812a03            lw  s4,24(sp)                                             
40015a68:   01012b03            lw  s6,16(sp)                                             
40015a6c:   00c12b83            lw  s7,12(sp)                                             
40015a70:   00812c03            lw  s8,8(sp)                                              
40015a74:   00412c83            lw  s9,4(sp)                                              
40015a78:   000a8513            mv  a0,s5                                                 
40015a7c:   01412a83            lw  s5,20(sp)                                             
40015a80:   03010113            addi    sp,sp,48                                          
40015a84:   00008067            ret                                                       
      printf ("rtems-rfs: file-open: ino=%" PRId32 " shared\n", ino);                     
40015a88:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015a8c:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40015a90:   64050513            addi    a0,a0,1600 # 40023640 <IMFS_LIMITS_AND_OPTIONS+0x860><== NOT EXECUTED
40015a94:   f65eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015a98:   fa9ff06f            j   40015a40 <rtems_rfs_file_open+0xa4>                   <== NOT EXECUTED
    printf ("rtems-rfs: file-open: ino=%" PRId32 "\n", ino);                              
40015a9c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015aa0:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40015aa4:   62050513            addi    a0,a0,1568 # 40023620 <IMFS_LIMITS_AND_OPTIONS+0x840><== NOT EXECUTED
40015aa8:   f51eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015aac:   f41ff06f            j   400159ec <rtems_rfs_file_open+0x50>                   <== NOT EXECUTED
    shared = malloc (sizeof (rtems_rfs_file_shared));                                     
40015ab0:   00100593            li  a1,1                                                  
40015ab4:   09c00513            li  a0,156                                                
40015ab8:   ac8fc0ef            jal ra,40011d80 <calloc>                                  
40015abc:   00050413            mv  s0,a0                                                 
  rc = rtems_rfs_buffer_handle_open (fs, &handle->buffer);                                
40015ac0:   00498c93            addi    s9,s3,4                                           
    if (!shared)                                                                          
40015ac4:   20050263            beqz    a0,40015cc8 <rtems_rfs_file_open+0x32c>           <== NEVER TAKEN
    rc = rtems_rfs_inode_open (fs, ino, &shared->inode, true);                            
40015ac8:   00c40c13            addi    s8,s0,12                                          
40015acc:   00100693            li  a3,1                                                  
40015ad0:   000c0613            mv  a2,s8                                                 
40015ad4:   00048593            mv  a1,s1                                                 
40015ad8:   000b8513            mv  a0,s7                                                 
40015adc:   fa4f20ef            jal ra,40008280 <rtems_rfs_inode_open>                    
40015ae0:   00050a93            mv  s5,a0                                                 
    if (rc > 0)                                                                           
40015ae4:   14a04663            bgtz    a0,40015c30 <rtems_rfs_file_open+0x294>           <== NEVER TAKEN
    rc = rtems_rfs_block_map_open (fs, &shared->inode, &shared->map);                     
40015ae8:   03440613            addi    a2,s0,52                                          
40015aec:   000c0593            mv  a1,s8                                                 
40015af0:   000b8513            mv  a0,s7                                                 
40015af4:   a85fd0ef            jal ra,40013578 <rtems_rfs_block_map_open>                
40015af8:   00050a93            mv  s5,a0                                                 
    if (rc > 0)                                                                           
40015afc:   16a04263            bgtz    a0,40015c60 <rtems_rfs_file_open+0x2c4>           <== NEVER TAKEN
    shared->references = 1;                                                               
40015b00:   01842783            lw  a5,24(s0)                                             
40015b04:   00100713            li  a4,1                                                  
40015b08:   00e42423            sw  a4,8(s0)                                              
  return rtems_rfs_read_u32 (&handle->node->block_count);                                 
40015b0c:   00c7c703            lbu a4,12(a5)                                             
40015b10:   00d7c603            lbu a2,13(a5)                                             
40015b14:   00f7c583            lbu a1,15(a5)                                             
40015b18:   00e7c683            lbu a3,14(a5)                                             
40015b1c:   01061613            slli    a2,a2,0x10                                        
40015b20:   01871713            slli    a4,a4,0x18                                        
40015b24:   00c76733            or  a4,a4,a2                                              
40015b28:   00b76733            or  a4,a4,a1                                              
40015b2c:   00869693            slli    a3,a3,0x8                                         
40015b30:   00d76733            or  a4,a4,a3                                              
    shared->size.count = rtems_rfs_inode_get_block_count (&shared->inode);                
40015b34:   08e42223            sw  a4,132(s0)                                            
    shared->size.offset = rtems_rfs_inode_get_block_offset (&shared->inode);              
40015b38:   00b7c703            lbu a4,11(a5)                                             
40015b3c:   00a7c603            lbu a2,10(a5)                                             
  old_last = tail->previous;                                                              
40015b40:   07cba683            lw  a3,124(s7)                                            
40015b44:   00871713            slli    a4,a4,0x8                                         
40015b48:   00c76733            or  a4,a4,a2                                              
40015b4c:   00871613            slli    a2,a4,0x8                                         
40015b50:   00875713            srli    a4,a4,0x8                                         
40015b54:   00e66733            or  a4,a2,a4                                              
40015b58:   01071713            slli    a4,a4,0x10                                        
40015b5c:   01075713            srli    a4,a4,0x10                                        
40015b60:   08e42423            sw  a4,136(s0)                                            
  return rtems_rfs_read_u32 (&handle->node->atime);                                       
40015b64:   0107c703            lbu a4,16(a5)                                             
40015b68:   0117c583            lbu a1,17(a5)                                             
40015b6c:   0137c503            lbu a0,19(a5)                                             
40015b70:   0127c603            lbu a2,18(a5)                                             
40015b74:   01059593            slli    a1,a1,0x10                                        
40015b78:   01871713            slli    a4,a4,0x18                                        
40015b7c:   00b76733            or  a4,a4,a1                                              
40015b80:   00a76733            or  a4,a4,a0                                              
40015b84:   00861613            slli    a2,a2,0x8                                         
40015b88:   00c76733            or  a4,a4,a2                                              
    shared->atime = rtems_rfs_inode_get_atime (&shared->inode);                           
40015b8c:   08e42623            sw  a4,140(s0)                                            
  return rtems_rfs_read_u32 (&handle->node->mtime);                                       
40015b90:   0147c703            lbu a4,20(a5)                                             
40015b94:   0157c583            lbu a1,21(a5)                                             
40015b98:   0177c503            lbu a0,23(a5)                                             
40015b9c:   0167c603            lbu a2,22(a5)                                             
40015ba0:   01059593            slli    a1,a1,0x10                                        
40015ba4:   01871713            slli    a4,a4,0x18                                        
40015ba8:   00b76733            or  a4,a4,a1                                              
40015bac:   00a76733            or  a4,a4,a0                                              
40015bb0:   00861613            slli    a2,a2,0x8                                         
40015bb4:   00c76733            or  a4,a4,a2                                              
    shared->mtime = rtems_rfs_inode_get_mtime (&shared->inode);                           
40015bb8:   08e42823            sw  a4,144(s0)                                            
  return rtems_rfs_read_u32 (&handle->node->ctime);                                       
40015bbc:   0197c583            lbu a1,25(a5)                                             
40015bc0:   0187c703            lbu a4,24(a5)                                             
40015bc4:   01b7c503            lbu a0,27(a5)                                             
40015bc8:   01a7c603            lbu a2,26(a5)                                             
40015bcc:   01871793            slli    a5,a4,0x18                                        
40015bd0:   01059713            slli    a4,a1,0x10                                        
40015bd4:   00e7e7b3            or  a5,a5,a4                                              
40015bd8:   00a7e7b3            or  a5,a5,a0                                              
40015bdc:   00861713            slli    a4,a2,0x8                                         
40015be0:   00e7e7b3            or  a5,a5,a4                                              
    shared->ctime = rtems_rfs_inode_get_ctime (&shared->inode);                           
40015be4:   08f42a23            sw  a5,148(s0)                                            
    shared->fs = fs;                                                                      
40015be8:   09742c23            sw  s7,152(s0)                                            
  the_node->next = tail;                                                                  
40015bec:   01242023            sw  s2,0(s0)                                              
  tail->previous = the_node;                                                              
40015bf0:   068bae23            sw  s0,124(s7)                                            
  old_last->next = the_node;                                                              
40015bf4:   0086a023            sw  s0,0(a3)                                              
    rtems_rfs_inode_unload (fs, &shared->inode, false);                                   
40015bf8:   000c0593            mv  a1,s8                                                 
40015bfc:   00000613            li  a2,0                                                  
  the_node->previous = old_last;                                                          
40015c00:   00d42223            sw  a3,4(s0)                                              
40015c04:   000b8513            mv  a0,s7                                                 
40015c08:   f94f20ef            jal ra,4000839c <rtems_rfs_inode_unload>                  
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                                      
40015c0c:   00000513            li  a0,0                                                  
40015c10:   00800593            li  a1,8                                                  
40015c14:   cf8f40ef            jal ra,4000a10c <rtems_rfs_trace>                         
40015c18:   e20504e3            beqz    a0,40015a40 <rtems_rfs_file_open+0xa4>            <== ALWAYS TAKEN
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);              
40015c1c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015c20:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40015c24:   6d450513            addi    a0,a0,1748 # 400236d4 <IMFS_LIMITS_AND_OPTIONS+0x8f4><== NOT EXECUTED
40015c28:   dd1eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015c2c:   e15ff06f            j   40015a40 <rtems_rfs_file_open+0xa4>                   <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                                    
40015c30:   00000513            li  a0,0                                                  <== NOT EXECUTED
40015c34:   00800593            li  a1,8                                                  <== NOT EXECUTED
40015c38:   cd4f40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015c3c:   06051263            bnez    a0,40015ca0 <rtems_rfs_file_open+0x304>           <== NOT EXECUTED
      free (shared);                                                                      
40015c40:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40015c44:   944ec0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40015c48:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
40015c4c:   000b8513            mv  a0,s7                                                 <== NOT EXECUTED
40015c50:   bc5f00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
      free (handle);                                                                      
40015c54:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40015c58:   930ec0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
      return rc;                                                                          
40015c5c:   df5ff06f            j   40015a50 <rtems_rfs_file_open+0xb4>                   <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                                    
40015c60:   00000513            li  a0,0                                                  <== NOT EXECUTED
40015c64:   00800593            li  a1,8                                                  <== NOT EXECUTED
40015c68:   ca4f40ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40015c6c:   00051a63            bnez    a0,40015c80 <rtems_rfs_file_open+0x2e4>           <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &shared->inode);                                         
40015c70:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
40015c74:   000b8513            mv  a0,s7                                                 <== NOT EXECUTED
40015c78:   835f20ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
40015c7c:   fc5ff06f            j   40015c40 <rtems_rfs_file_open+0x2a4>                  <== NOT EXECUTED
        printf ("rtems-rfs: file-open: block map open failed: %d: %s\n",                  
40015c80:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40015c84:   2e0090ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40015c88:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40015c8c:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015c90:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
40015c94:   69c50513            addi    a0,a0,1692 # 4002369c <IMFS_LIMITS_AND_OPTIONS+0x8bc><== NOT EXECUTED
40015c98:   d61eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40015c9c:   fd5ff06f            j   40015c70 <rtems_rfs_file_open+0x2d4>                  <== NOT EXECUTED
        printf ("rtems-rfs: file-open: inode open failed: %d: %s\n",                      
40015ca0:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40015ca4:   2c0090ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40015ca8:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40015cac:   40023537            lui a0,0x40023                                            <== NOT EXECUTED
40015cb0:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
40015cb4:   66850513            addi    a0,a0,1640 # 40023668 <IMFS_LIMITS_AND_OPTIONS+0x888><== NOT EXECUTED
40015cb8:   d41eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
      free (shared);                                                                      
40015cbc:   f85ff06f            j   40015c40 <rtems_rfs_file_open+0x2a4>                  <== NOT EXECUTED
    return ENOMEM;                                                                        
40015cc0:   00c00a93            li  s5,12                                                 <== NOT EXECUTED
40015cc4:   d8dff06f            j   40015a50 <rtems_rfs_file_open+0xb4>                   <== NOT EXECUTED
40015cc8:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
40015ccc:   000b8513            mv  a0,s7                                                 <== NOT EXECUTED
40015cd0:   b45f00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
      free (handle);                                                                      
40015cd4:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40015cd8:   8b0ec0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
      return ENOMEM;                                                                      
40015cdc:   00c00a93            li  s5,12                                                 <== NOT EXECUTED
40015ce0:   d71ff06f            j   40015a50 <rtems_rfs_file_open+0xb4>                   <== NOT EXECUTED
                                                                                          

400164d4 <rtems_rfs_file_seek>: {
400164d4:   fd010113            addi    sp,sp,-48                                         
400164d8:   02812423            sw  s0,40(sp)                                             
400164dc:   03212023            sw  s2,32(sp)                                             
400164e0:   00050413            mv  s0,a0                                                 
400164e4:   00058913            mv  s2,a1                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
400164e8:   00000513            li  a0,0                                                  
400164ec:   02000593            li  a1,32                                                 
{                                                                                         
400164f0:   02912223            sw  s1,36(sp)                                             
400164f4:   01312e23            sw  s3,28(sp)                                             
400164f8:   02112623            sw  ra,44(sp)                                             
400164fc:   01412c23            sw  s4,24(sp)                                             
40016500:   00060493            mv  s1,a2                                                 
40016504:   00068993            mv  s3,a3                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
40016508:   c05f30ef            jal ra,4000a10c <rtems_rfs_trace>                         
4001650c:   0a051c63            bnez    a0,400165c4 <rtems_rfs_file_seek+0xf0>            <== NEVER TAKEN
  if (pos <= rtems_rfs_file_shared_get_size (rtems_rfs_file_fs (handle),                  
40016510:   01c42583            lw  a1,28(s0)                                             
40016514:   0985a503            lw  a0,152(a1)                                            
40016518:   08458593            addi    a1,a1,132                                         
4001651c:   81cfd0ef            jal ra,40013538 <rtems_rfs_block_get_size>                
40016520:   0495f663            bgeu    a1,s1,4001656c <rtems_rfs_file_seek+0x98>         
  if (rtems_rfs_buffer_handle_has_block (&handle->buffer))                                
40016524:   00c42783            lw  a5,12(s0)                                             
40016528:   00078c63            beqz    a5,40016540 <rtems_rfs_file_seek+0x6c>            <== ALWAYS TAKEN
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),                     
4001652c:   01c42783            lw  a5,28(s0)                                             <== NOT EXECUTED
40016530:   00440593            addi    a1,s0,4                                           <== NOT EXECUTED
40016534:   0987a503            lw  a0,152(a5)                                            <== NOT EXECUTED
40016538:   adcf00ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    if (rc > 0)                                                                           
4001653c:   00a04863            bgtz    a0,4001654c <rtems_rfs_file_seek+0x78>            <== NOT EXECUTED
  *new_pos = pos;                                                                         
40016540:   0129a023            sw  s2,0(s3)                                              
40016544:   0099a223            sw  s1,4(s3)                                              
  return 0;                                                                               
40016548:   00000513            li  a0,0                                                  
}                                                                                         
4001654c:   02c12083            lw  ra,44(sp)                                             
40016550:   02812403            lw  s0,40(sp)                                             
40016554:   02412483            lw  s1,36(sp)                                             
40016558:   02012903            lw  s2,32(sp)                                             
4001655c:   01c12983            lw  s3,28(sp)                                             
40016560:   01812a03            lw  s4,24(sp)                                             
40016564:   03010113            addi    sp,sp,48                                          
40016568:   00008067            ret                                                       
  if (pos <= rtems_rfs_file_shared_get_size (rtems_rfs_file_fs (handle),                  
4001656c:   00b49463            bne s1,a1,40016574 <rtems_rfs_file_seek+0xa0>             
40016570:   fb256ae3            bltu    a0,s2,40016524 <rtems_rfs_file_seek+0x50>         
    rtems_rfs_file_set_bpos (handle, pos);                                                
40016574:   01c42783            lw  a5,28(s0)                                             
40016578:   01040a13            addi    s4,s0,16                                          
4001657c:   000a0693            mv  a3,s4                                                 
40016580:   0987a503            lw  a0,152(a5)                                            
40016584:   00090593            mv  a1,s2                                                 
40016588:   00048613            mv  a2,s1                                                 
4001658c:   f1dfc0ef            jal ra,400134a8 <rtems_rfs_block_get_bpos>                
    if (rtems_rfs_buffer_handle_has_block (&handle->buffer))                              
40016590:   00c42783            lw  a5,12(s0)                                             
40016594:   fa0786e3            beqz    a5,40016540 <rtems_rfs_file_seek+0x6c>            
      rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),                          
40016598:   01c42583            lw  a1,28(s0)                                             
4001659c:   00c10693            addi    a3,sp,12                                          
400165a0:   000a0613            mv  a2,s4                                                 
400165a4:   0985a503            lw  a0,152(a1)                                            
400165a8:   03458593            addi    a1,a1,52                                          
400165ac:   b94fd0ef            jal ra,40013940 <rtems_rfs_block_map_find>                
      if (rc > 0)                                                                         
400165b0:   f8a04ee3            bgtz    a0,4001654c <rtems_rfs_file_seek+0x78>            <== NEVER TAKEN
      if (rtems_rfs_buffer_bnum (&handle->buffer) != block)                               
400165b4:   00842703            lw  a4,8(s0)                                              
400165b8:   00c12783            lw  a5,12(sp)                                             
400165bc:   f8f702e3            beq a4,a5,40016540 <rtems_rfs_file_seek+0x6c>             
400165c0:   f6dff06f            j   4001652c <rtems_rfs_file_seek+0x58>                   <== NOT EXECUTED
    printf ("rtems-rfs: file-seek: new=%" PRIu64 "\n", pos);                              
400165c4:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400165c8:   00090613            mv  a2,s2                                                 <== NOT EXECUTED
400165cc:   00048693            mv  a3,s1                                                 <== NOT EXECUTED
400165d0:   91c50513            addi    a0,a0,-1764 # 4002391c <IMFS_LIMITS_AND_OPTIONS+0xb3c><== NOT EXECUTED
400165d4:   c24eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400165d8:   f39ff06f            j   40016510 <rtems_rfs_file_seek+0x3c>                   <== NOT EXECUTED
                                                                                          

400165dc <rtems_rfs_file_set_size>: {
400165dc:   fc010113            addi    sp,sp,-64                                         
400165e0:   01712e23            sw  s7,28(sp)                                             
400165e4:   01912a23            sw  s9,20(sp)                                             
400165e8:   00058b93            mv  s7,a1                                                 
400165ec:   00050c93            mv  s9,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
400165f0:   02000593            li  a1,32                                                 
400165f4:   00000513            li  a0,0                                                  
{                                                                                         
400165f8:   03312623            sw  s3,44(sp)                                             
400165fc:   01812c23            sw  s8,24(sp)                                             
40016600:   02112e23            sw  ra,60(sp)                                             
40016604:   02812c23            sw  s0,56(sp)                                             
40016608:   02912a23            sw  s1,52(sp)                                             
4001660c:   03212823            sw  s2,48(sp)                                             
40016610:   03412423            sw  s4,40(sp)                                             
40016614:   03512223            sw  s5,36(sp)                                             
40016618:   03612023            sw  s6,32(sp)                                             
4001661c:   01a12823            sw  s10,16(sp)                                            
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);                                
40016620:   01cca983            lw  s3,28(s9)                                             
{                                                                                         
40016624:   00060c13            mv  s8,a2                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                                          
40016628:   ae5f30ef            jal ra,4000a10c <rtems_rfs_trace>                         
4001662c:   14051c63            bnez    a0,40016784 <rtems_rfs_file_set_size+0x1a8>       <== NEVER TAKEN
  size = rtems_rfs_file_size (handle);                                                    
40016630:   01cca583            lw  a1,28(s9)                                             
40016634:   0985a503            lw  a0,152(a1)                                            
40016638:   08458593            addi    a1,a1,132                                         
4001663c:   efdfc0ef            jal ra,40013538 <rtems_rfs_block_get_size>                
  if (size != new_size)                                                                   
40016640:   12ab8063            beq s7,a0,40016760 <rtems_rfs_file_set_size+0x184>        
      rc = rtems_rfs_block_map_free_all (rtems_rfs_file_fs (handle), map);                
40016644:   01ccaa83            lw  s5,28(s9)                                             
    if (new_size == 0)                                                                    
40016648:   018be7b3            or  a5,s7,s8                                              
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);                                
4001664c:   03498b13            addi    s6,s3,52                                          
      rc = rtems_rfs_block_map_free_all (rtems_rfs_file_fs (handle), map);                
40016650:   098aad03            lw  s10,152(s5)                                           
    if (new_size == 0)                                                                    
40016654:   0e078063            beqz    a5,40016734 <rtems_rfs_file_set_size+0x158>       
          rtems_rfs_block_map_count (map) -                                               
40016658:   03c9a403            lw  s0,60(s3)                                             
        length = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));                    
4001665c:   008d2a03            lw  s4,8(s10)                                             
      if (size < new_size)                                                                
40016660:   1585e063            bltu    a1,s8,400167a0 <rtems_rfs_file_set_size+0x1c4>    
40016664:   12bc0c63            beq s8,a1,4001679c <rtems_rfs_file_set_size+0x1c0>        
          (((new_size - 1) /                                                              
40016668:   001bb593            seqz    a1,s7                                             
4001666c:   000a0613            mv  a2,s4                                                 
40016670:   00000693            li  a3,0                                                  
40016674:   fffb8513            addi    a0,s7,-1                                          
40016678:   40bc05b3            sub a1,s8,a1                                              
4001667c:   0f9060ef            jal ra,4001cf74 <__udivdi3>                               
40016680:   00050793            mv  a5,a0                                                 
        blocks =                                                                          
40016684:   fff40493            addi    s1,s0,-1                                          
          new_size % rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));                
40016688:   000a0613            mv  a2,s4                                                 
4001668c:   00000693            li  a3,0                                                  
40016690:   000b8513            mv  a0,s7                                                 
40016694:   000c0593            mv  a1,s8                                                 
        blocks =                                                                          
40016698:   40f484b3            sub s1,s1,a5                                              
          new_size % rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));                
4001669c:   579060ef            jal ra,4001d414 <__umoddi3>                               
400166a0:   00050913            mv  s2,a0                                                 
        if (blocks)                                                                       
400166a4:   22049a63            bnez    s1,400168d8 <rtems_rfs_file_set_size+0x2fc>       
        if (rtems_rfs_block_pos_past_end (rtems_rfs_file_bpos (handle),                   
400166a8:   010ca783            lw  a5,16(s9)                                             
400166ac:   00100713            li  a4,1                                                  
  map->size.offset = offset;                                                              
400166b0:   0529a023            sw  s2,64(s3)                                             
  map->dirty = true;                                                                      
400166b4:   02e98a23            sb  a4,52(s3)                                             
400166b8:   24078263            beqz    a5,400168fc <rtems_rfs_file_set_size+0x320>       
400166bc:   24041063            bnez    s0,400168fc <rtems_rfs_file_set_size+0x320>       <== ALWAYS TAKEN
          rtems_rfs_block_size_get_bpos (rtems_rfs_block_map_size (map),                  
400166c0:   008ca823            sw  s0,16(s9)                                             
400166c4:   012caa23            sw  s2,20(s9)                                             
400166c8:   000cac23            sw  zero,24(s9)                                           
    handle->shared->size.count  = rtems_rfs_block_map_count (map);                        
400166cc:   000a8713            mv  a4,s5                                                 
          rtems_rfs_block_size_get_bpos (rtems_rfs_block_map_size (map),                  
400166d0:   00090663            beqz    s2,400166dc <rtems_rfs_file_set_size+0x100>       <== NEVER TAKEN
400166d4:   fff40793            addi    a5,s0,-1                                          
400166d8:   00fca823            sw  a5,16(s9)                                             
    handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);                  
400166dc:   0409a783            lw  a5,64(s3)                                             
    handle->shared->size.count  = rtems_rfs_block_map_count (map);                        
400166e0:   08872223            sw  s0,132(a4)                                            
    handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);                  
400166e4:   08f72423            sw  a5,136(a4)                                            
  if (rtems_rfs_file_update_mtime (handle))                                               
400166e8:   000ca403            lw  s0,0(s9)                                              
400166ec:   00247413            andi    s0,s0,2                                           
400166f0:   08040063            beqz    s0,40016770 <rtems_rfs_file_set_size+0x194>       <== ALWAYS TAKEN
  return 0;                                                                               
400166f4:   00000413            li  s0,0                                                  <== NOT EXECUTED
}                                                                                         
400166f8:   03c12083            lw  ra,60(sp)                                             
400166fc:   00040513            mv  a0,s0                                                 
40016700:   03812403            lw  s0,56(sp)                                             
40016704:   03412483            lw  s1,52(sp)                                             
40016708:   03012903            lw  s2,48(sp)                                             
4001670c:   02c12983            lw  s3,44(sp)                                             
40016710:   02812a03            lw  s4,40(sp)                                             
40016714:   02412a83            lw  s5,36(sp)                                             
40016718:   02012b03            lw  s6,32(sp)                                             
4001671c:   01c12b83            lw  s7,28(sp)                                             
40016720:   01812c03            lw  s8,24(sp)                                             
40016724:   01412c83            lw  s9,20(sp)                                             
40016728:   01012d03            lw  s10,16(sp)                                            
4001672c:   04010113            addi    sp,sp,64                                          
40016730:   00008067            ret                                                       
      rc = rtems_rfs_block_map_free_all (rtems_rfs_file_fs (handle), map);                
40016734:   000b0593            mv  a1,s6                                                 
40016738:   000d0513            mv  a0,s10                                                
4001673c:   b59fd0ef            jal ra,40014294 <rtems_rfs_block_map_free_all>            
40016740:   00050413            mv  s0,a0                                                 
      if (rc > 0)                                                                         
40016744:   faa04ae3            bgtz    a0,400166f8 <rtems_rfs_file_set_size+0x11c>       <== NEVER TAKEN
    handle->shared->size.count  = rtems_rfs_block_map_count (map);                        
40016748:   01cca703            lw  a4,28(s9)                                             
4001674c:   03c9a403            lw  s0,60(s3)                                             
    handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);                  
40016750:   0409a783            lw  a5,64(s3)                                             
    handle->shared->size.count  = rtems_rfs_block_map_count (map);                        
40016754:   08872223            sw  s0,132(a4)                                            
    handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);                  
40016758:   08f72423            sw  a5,136(a4)                                            
4001675c:   f8dff06f            j   400166e8 <rtems_rfs_file_set_size+0x10c>              
  if (size != new_size)                                                                   
40016760:   eebc12e3            bne s8,a1,40016644 <rtems_rfs_file_set_size+0x68>         
  if (rtems_rfs_file_update_mtime (handle))                                               
40016764:   000ca403            lw  s0,0(s9)                                              
40016768:   00247413            andi    s0,s0,2                                           
4001676c:   f80414e3            bnez    s0,400166f4 <rtems_rfs_file_set_size+0x118>       <== NEVER TAKEN
    handle->shared->mtime = time (NULL);                                                  
40016770:   00000513            li  a0,0                                                  
40016774:   411080ef            jal ra,4001f384 <time>                                    
40016778:   01cca783            lw  a5,28(s9)                                             
4001677c:   08a7a823            sw  a0,144(a5)                                            
40016780:   f79ff06f            j   400166f8 <rtems_rfs_file_set_size+0x11c>              
    printf ("rtems-rfs: file-set-size: size=%" PRIu64 "\n", new_size);                    
40016784:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016788:   000b8613            mv  a2,s7                                                 <== NOT EXECUTED
4001678c:   000c0693            mv  a3,s8                                                 <== NOT EXECUTED
40016790:   93c50513            addi    a0,a0,-1732 # 4002393c <IMFS_LIMITS_AND_OPTIONS+0xb5c><== NOT EXECUTED
40016794:   a64eb0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40016798:   e99ff06f            j   40016630 <rtems_rfs_file_set_size+0x54>               <== NOT EXECUTED
      if (size < new_size)                                                                
4001679c:   ed7576e3            bgeu    a0,s7,40016668 <rtems_rfs_file_set_size+0x8c>     
        count = new_size - size;                                                          
400167a0:   40ab84b3            sub s1,s7,a0                                              
400167a4:   009bb933            sltu    s2,s7,s1                                          
400167a8:   40bc05b3            sub a1,s8,a1                                              
400167ac:   41258933            sub s2,a1,s2                                              
        read_block = false;                                                               
400167b0:   00000b93            li  s7,0                                                  
            if (rc != ENXIO)                                                              
400167b4:   00600c13            li  s8,6                                                  
          rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle),               
400167b8:   004c8a93            addi    s5,s9,4                                           
400167bc:   0a40006f            j   40016860 <rtems_rfs_file_set_size+0x284>              
          if (count < (length - bpos.boff))                                               
400167c0:   10e4f463            bgeu    s1,a4,400168c8 <rtems_rfs_file_set_size+0x2ec>    
            length = count + bpos.boff;                                                   
400167c4:   00978a33            add s4,a5,s1                                              
400167c8:   00100793            li  a5,1                                                  
  map->size.offset = offset;                                                              
400167cc:   0549a023            sw  s4,64(s3)                                             
  map->dirty = true;                                                                      
400167d0:   02f98a23            sb  a5,52(s3)                                             
            read_block = true;                                                            
400167d4:   00100b93            li  s7,1                                                  
          rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle),               
400167d8:   01cca783            lw  a5,28(s9)                                             
400167dc:   00012603            lw  a2,0(sp)                                              
400167e0:   000b8693            mv  a3,s7                                                 
400167e4:   0987a503            lw  a0,152(a5)                                            
400167e8:   000a8593            mv  a1,s5                                                 
400167ec:   d91ef0ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
400167f0:   00050413            mv  s0,a0                                                 
          if (rc > 0)                                                                     
400167f4:   f0a042e3            bgtz    a0,400166f8 <rtems_rfs_file_set_size+0x11c>       <== NEVER TAKEN
          dst = rtems_rfs_buffer_data (&handle->buffer);                                  
400167f8:   00cca703            lw  a4,12(s9)                                             
          memset (dst + bpos.boff, 0, length - bpos.boff);                                
400167fc:   00812783            lw  a5,8(sp)                                              
40016800:   00000593            li  a1,0                                                  
40016804:   01c72503            lw  a0,28(a4)                                             
40016808:   40fa0633            sub a2,s4,a5                                              
4001680c:   00f50533            add a0,a0,a5                                              
40016810:   329070ef            jal ra,4001e338 <memset>                                  
          rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),               
40016814:   01cca783            lw  a5,28(s9)                                             
          rtems_rfs_buffer_mark_dirty (rtems_rfs_file_buffer (handle));                   
40016818:   00100713            li  a4,1                                                  
4001681c:   00ec8223            sb  a4,4(s9)                                              
          rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),               
40016820:   0987a503            lw  a0,152(a5)                                            
40016824:   000a8593            mv  a1,s5                                                 
40016828:   fedef0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
4001682c:   00050413            mv  s0,a0                                                 
          if (rc > 0)                                                                     
40016830:   eca044e3            bgtz    a0,400166f8 <rtems_rfs_file_set_size+0x11c>       <== NEVER TAKEN
          count -= length - bpos.boff;                                                    
40016834:   00812783            lw  a5,8(sp)                                              
    handle->shared->size.count  = rtems_rfs_block_map_count (map);                        
40016838:   01cca703            lw  a4,28(s9)                                             
4001683c:   03c9a403            lw  s0,60(s3)                                             
          count -= length - bpos.boff;                                                    
40016840:   40fa07b3            sub a5,s4,a5                                              
40016844:   40f487b3            sub a5,s1,a5                                              
40016848:   00f4b4b3            sltu    s1,s1,a5                                          
4001684c:   40990933            sub s2,s2,s1                                              
40016850:   00078493            mv  s1,a5                                                 
        while (count)                                                                     
40016854:   0127e7b3            or  a5,a5,s2                                              
40016858:   e80782e3            beqz    a5,400166dc <rtems_rfs_file_set_size+0x100>       
          rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),                      
4001685c:   09872d03            lw  s10,152(a4)                                           
          rtems_rfs_block_size_get_bpos (rtems_rfs_block_map_size (map), &bpos);          
40016860:   0409a783            lw  a5,64(s3)                                             
40016864:   00812223            sw  s0,4(sp)                                              
40016868:   00012623            sw  zero,12(sp)                                           
4001686c:   00f12423            sw  a5,8(sp)                                              
40016870:   00078663            beqz    a5,4001687c <rtems_rfs_file_set_size+0x2a0>       
40016874:   fff40413            addi    s0,s0,-1                                          
40016878:   00812223            sw  s0,4(sp)                                              
          rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),                      
4001687c:   00010693            mv  a3,sp                                                 
40016880:   00410613            addi    a2,sp,4                                           
40016884:   000b0593            mv  a1,s6                                                 
40016888:   000d0513            mv  a0,s10                                                
4001688c:   8b4fd0ef            jal ra,40013940 <rtems_rfs_block_map_find>                
40016890:   00050413            mv  s0,a0                                                 
          if (rc > 0)                                                                     
40016894:   02a05463            blez    a0,400168bc <rtems_rfs_file_set_size+0x2e0>       
            if (rc != ENXIO)                                                              
40016898:   e78510e3            bne a0,s8,400166f8 <rtems_rfs_file_set_size+0x11c>        
            rc = rtems_rfs_block_map_grow (rtems_rfs_file_fs (handle),                    
4001689c:   01cca783            lw  a5,28(s9)                                             
400168a0:   00010693            mv  a3,sp                                                 
400168a4:   00100613            li  a2,1                                                  
400168a8:   0987a503            lw  a0,152(a5)                                            
400168ac:   000b0593            mv  a1,s6                                                 
400168b0:   ad8fd0ef            jal ra,40013b88 <rtems_rfs_block_map_grow>                
400168b4:   00050413            mv  s0,a0                                                 
            if (rc > 0)                                                                   
400168b8:   e4a040e3            bgtz    a0,400166f8 <rtems_rfs_file_set_size+0x11c>       <== NEVER TAKEN
          if (count < (length - bpos.boff))                                               
400168bc:   00812783            lw  a5,8(sp)                                              
400168c0:   40fa0733            sub a4,s4,a5                                              
400168c4:   ee090ee3            beqz    s2,400167c0 <rtems_rfs_file_set_size+0x1e4>       <== ALWAYS TAKEN
400168c8:   00100793            li  a5,1                                                  
  map->size.offset = offset;                                                              
400168cc:   0409a023            sw  zero,64(s3)                                           
  map->dirty = true;                                                                      
400168d0:   02f98a23            sb  a5,52(s3)                                             
}                                                                                         
400168d4:   f05ff06f            j   400167d8 <rtems_rfs_file_set_size+0x1fc>              
          rc = rtems_rfs_block_map_shrink (rtems_rfs_file_fs (handle),                    
400168d8:   00048613            mv  a2,s1                                                 
400168dc:   034a8593            addi    a1,s5,52                                          
400168e0:   000d0513            mv  a0,s10                                                
400168e4:   e88fd0ef            jal ra,40013f6c <rtems_rfs_block_map_shrink>              
400168e8:   00050413            mv  s0,a0                                                 
          if (rc > 0)                                                                     
400168ec:   e0a046e3            bgtz    a0,400166f8 <rtems_rfs_file_set_size+0x11c>       <== NEVER TAKEN
        if (rtems_rfs_block_pos_past_end (rtems_rfs_file_bpos (handle),                   
400168f0:   03c9a403            lw  s0,60(s3)                                             
400168f4:   01ccaa83            lw  s5,28(s9)                                             
400168f8:   db1ff06f            j   400166a8 <rtems_rfs_file_set_size+0xcc>               
400168fc:   dc87f2e3            bgeu    a5,s0,400166c0 <rtems_rfs_file_set_size+0xe4>     
40016900:   fff40713            addi    a4,s0,-1                                          
40016904:   00e78663            beq a5,a4,40016910 <rtems_rfs_file_set_size+0x334>        
    handle->shared->size.count  = rtems_rfs_block_map_count (map);                        
40016908:   000a8713            mv  a4,s5                                                 <== NOT EXECUTED
4001690c:   dd1ff06f            j   400166dc <rtems_rfs_file_set_size+0x100>              <== NOT EXECUTED
        if (rtems_rfs_block_pos_past_end (rtems_rfs_file_bpos (handle),                   
40016910:   014ca783            lw  a5,20(s9)                                             
40016914:   daf966e3            bltu    s2,a5,400166c0 <rtems_rfs_file_set_size+0xe4>     
    handle->shared->size.count  = rtems_rfs_block_map_count (map);                        
40016918:   000a8713            mv  a4,s5                                                 
4001691c:   dc1ff06f            j   400166dc <rtems_rfs_file_set_size+0x100>              
                                                                                          

40006d48 <rtems_rfs_format>: { rtems_rfs_file_system fs; int group; int rc; if (config->verbose)
40006d48:   0155c783            lbu a5,21(a1)                                             
{                                                                                         
40006d4c:   ef010113            addi    sp,sp,-272                                        
40006d50:   0f412c23            sw  s4,248(sp)                                            
40006d54:   0f812423            sw  s8,232(sp)                                            
40006d58:   10112623            sw  ra,268(sp)                                            
40006d5c:   10812423            sw  s0,264(sp)                                            
40006d60:   10912223            sw  s1,260(sp)                                            
40006d64:   11212023            sw  s2,256(sp)                                            
40006d68:   0f312e23            sw  s3,252(sp)                                            
40006d6c:   0f512a23            sw  s5,244(sp)                                            
40006d70:   0f612823            sw  s6,240(sp)                                            
40006d74:   0f712623            sw  s7,236(sp)                                            
40006d78:   0f912223            sw  s9,228(sp)                                            
40006d7c:   0fa12023            sw  s10,224(sp)                                           
40006d80:   0db12e23            sw  s11,220(sp)                                           
40006d84:   00058a13            mv  s4,a1                                                 
40006d88:   00050c13            mv  s8,a0                                                 
  if (config->verbose)                                                                    
40006d8c:   1e079ee3            bnez    a5,40007788 <rtems_rfs_format+0xa40>              <== NEVER TAKEN
    printf ("rtems-rfs: format: %s\n", name);                                             
                                                                                          
  memset (&fs, 0, sizeof (rtems_rfs_file_system));                                        
40006d90:   08000613            li  a2,128                                                
40006d94:   00000593            li  a1,0                                                  
40006d98:   05010513            addi    a0,sp,80                                          
40006d9c:   59c170ef            jal ra,4001e338 <memset>                                  
  head->next = tail;                                                                      
40006da0:   09410793            addi    a5,sp,148                                         
40006da4:   08f12823            sw  a5,144(sp)                                            
  tail->previous = head;                                                                  
40006da8:   09010793            addi    a5,sp,144                                         
40006dac:   08f12c23            sw  a5,152(sp)                                            
  head->next = tail;                                                                      
40006db0:   0a410793            addi    a5,sp,164                                         
40006db4:   0af12023            sw  a5,160(sp)                                            
  tail->previous = head;                                                                  
40006db8:   0a010793            addi    a5,sp,160                                         
40006dbc:   0af12423            sw  a5,168(sp)                                            
  head->next = tail;                                                                      
40006dc0:   0b410793            addi    a5,sp,180                                         
40006dc4:   0af12823            sw  a5,176(sp)                                            
  tail->previous = head;                                                                  
40006dc8:   0b010793            addi    a5,sp,176                                         
40006dcc:   0af12c23            sw  a5,184(sp)                                            
  head->next = tail;                                                                      
40006dd0:   0c410793            addi    a5,sp,196                                         
40006dd4:   0cf12023            sw  a5,192(sp)                                            
  tail->previous = head;                                                                  
40006dd8:   0c010793            addi    a5,sp,192                                         
40006ddc:   0cf12423            sw  a5,200(sp)                                            
  rtems_chain_initialize_empty (&fs.buffers);                                             
  rtems_chain_initialize_empty (&fs.release);                                             
  rtems_chain_initialize_empty (&fs.release_modified);                                    
  rtems_chain_initialize_empty (&fs.file_shares);                                         
                                                                                          
  fs.max_held_buffers = RTEMS_RFS_FS_MAX_HELD_BUFFERS;                                    
40006de0:   00500793            li  a5,5                                                  
40006de4:   08f12623            sw  a5,140(sp)                                            
  fs.flags = RTEMS_RFS_FS_NO_LOCAL_CACHE;                                                 
                                                                                          
  /*                                                                                      
   * Open the buffer interface.                                                           
   */                                                                                     
  rc = rtems_rfs_buffer_open (name, &fs);                                                 
40006de8:   04c10593            addi    a1,sp,76                                          
  fs.flags = RTEMS_RFS_FS_NO_LOCAL_CACHE;                                                 
40006dec:   00200793            li  a5,2                                                  
  rc = rtems_rfs_buffer_open (name, &fs);                                                 
40006df0:   000c0513            mv  a0,s8                                                 
  fs.flags = RTEMS_RFS_FS_NO_LOCAL_CACHE;                                                 
40006df4:   04f12623            sw  a5,76(sp)                                             
  rc = rtems_rfs_buffer_open (name, &fs);                                                 
40006df8:   a31ff0ef            jal ra,40006828 <rtems_rfs_buffer_open>                   
40006dfc:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
40006e00:   480512e3            bnez    a0,40007a84 <rtems_rfs_format+0xd3c>              <== NEVER TAKEN
  }                                                                                       
                                                                                          
  /*                                                                                      
   * Check the media.                                                                     
   */                                                                                     
  if (rtems_rfs_fs_media_block_size (&fs) == 0)                                           
40006e04:   05c12783            lw  a5,92(sp)                                             
40006e08:   0207a603            lw  a2,32(a5)                                             
40006e0c:   400602e3            beqz    a2,40007a10 <rtems_rfs_format+0xcc8>              <== NEVER TAKEN
  fs->block_size = config->block_size;                                                    
40006e10:   000a2583            lw  a1,0(s4)                                              
40006e14:   04b12a23            sw  a1,84(sp)                                             
  if (!fs->block_size)                                                                    
40006e18:   180582e3            beqz    a1,4000779c <rtems_rfs_format+0xa54>              
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)                         
40006e1c:   02c5f7b3            remu    a5,a1,a2                                          
40006e20:   1a079ce3            bnez    a5,400077d8 <rtems_rfs_format+0xa90>              <== NEVER TAKEN
  fs->group_blocks = config->group_blocks;                                                
40006e24:   004a2783            lw  a5,4(s4)                                              
    fs->group_blocks = rtems_rfs_bitmap_numof_bits (fs->block_size);                      
40006e28:   00359593            slli    a1,a1,0x3                                         
  fs->group_blocks = config->group_blocks;                                                
40006e2c:   06f12a23            sw  a5,116(sp)                                            
  if (!fs->group_blocks)                                                                  
40006e30:   48079463            bnez    a5,400072b8 <rtems_rfs_format+0x570>              <== NEVER TAKEN
    fs->group_blocks = rtems_rfs_bitmap_numof_bits (fs->block_size);                      
40006e34:   06b12a23            sw  a1,116(sp)                                            
  fs->blocks = rtems_rfs_fs_media_size (fs) / fs->block_size;                             
40006e38:   04c10513            addi    a0,sp,76                                          
40006e3c:   3290f0ef            jal ra,40016964 <rtems_rfs_fs_media_size>                 
40006e40:   05412403            lw  s0,84(sp)                                             
40006e44:   00000693            li  a3,0                                                  
40006e48:   00040613            mv  a2,s0                                                 
40006e4c:   128160ef            jal ra,4001cf74 <__udivdi3>                               
40006e50:   04a12823            sw  a0,80(sp)                                             
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));                      
40006e54:   00341593            slli    a1,s0,0x3                                         
    return 1;                                                                             
40006e58:   00100613            li  a2,1                                                  
  if (dividend == 0)                                                                      
40006e5c:   00050863            beqz    a0,40006e6c <rtems_rfs_format+0x124>              <== NEVER TAKEN
  return ((dividend - 1) / divisor) + 1;                                                  
40006e60:   fff50793            addi    a5,a0,-1                                          
40006e64:   02b7d7b3            divu    a5,a5,a1                                          
40006e68:   00178613            addi    a2,a5,1                                           
  fs->group_inodes = config->group_inodes;                                                
40006e6c:   008a2683            lw  a3,8(s4)                                              
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);                  
40006e70:   03800713            li  a4,56                                                 
  fs->group_count = rtems_rfs_rup_quotient (rtems_rfs_fs_blocks (fs),                     
40006e74:   06c12823            sw  a2,112(sp)                                            
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);                  
40006e78:   02e45733            divu    a4,s0,a4                                          
  if (!fs->group_inodes)                                                                  
40006e7c:   46069063            bnez    a3,400072dc <rtems_rfs_format+0x594>              <== NEVER TAKEN
    if (config->inode_overhead)                                                           
40006e80:   00ca2803            lw  a6,12(s4)                                             
40006e84:   200800e3            beqz    a6,40007884 <rtems_rfs_format+0xb3c>              <== ALWAYS TAKEN
  blocks = ((rtems_rfs_fs_blocks (fs) -                                                   
40006e88:   fff50793            addi    a5,a0,-1                                          <== NOT EXECUTED
  if (dividend == 0)                                                                      
40006e8c:   06300513            li  a0,99                                                 <== NOT EXECUTED
40006e90:   00070693            mv  a3,a4                                                 <== NOT EXECUTED
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;                              
40006e94:   030787b3            mul a5,a5,a6                                              <== NOT EXECUTED
  if (dividend == 0)                                                                      
40006e98:   00f57e63            bgeu    a0,a5,40006eb4 <rtems_rfs_format+0x16c>           <== NOT EXECUTED
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;                              
40006e9c:   06400693            li  a3,100                                                
40006ea0:   02d7d7b3            divu    a5,a5,a3                                          
  return ((dividend - 1) / divisor) + 1;                                                  
40006ea4:   fff78793            addi    a5,a5,-1                                          
40006ea8:   02c7d7b3            divu    a5,a5,a2                                          
40006eac:   00178793            addi    a5,a5,1                                           
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);                  
40006eb0:   02e786b3            mul a3,a5,a4                                              
  fs->inodes_per_block = rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE;             
40006eb4:   06e12e23            sw  a4,124(sp)                                            
  if (dividend == 0)                                                                      
40006eb8:   42069463            bnez    a3,400072e0 <rtems_rfs_format+0x598>              <== ALWAYS TAKEN
  if (fs->group_inodes > rtems_rfs_bitmap_numof_bits (fs->block_size))                    
40006ebc:   42e5ec63            bltu    a1,a4,400072f4 <rtems_rfs_format+0x5ac>           <== NOT EXECUTED
  fs->max_name_length = config->max_name_length;                                          
40006ec0:   010a2783            lw  a5,16(s4)                                             
  fs->group_inodes =                                                                      
40006ec4:   06e12c23            sw  a4,120(sp)                                            
  if (!fs->max_name_length)                                                               
40006ec8:   42079c63            bnez    a5,40007300 <rtems_rfs_format+0x5b8>              <== NEVER TAKEN
    fs->max_name_length = 512;                                                            
40006ecc:   20000793            li  a5,512                                                
40006ed0:   06f12423            sw  a5,104(sp)                                            
  {                                                                                       
    errno = EINVAL;                                                                       
    return -1;                                                                            
  }                                                                                       
                                                                                          
  if (config->verbose)                                                                    
40006ed4:   015a4783            lbu a5,21(s4)                                             
40006ed8:   42079a63            bnez    a5,4000730c <rtems_rfs_format+0x5c4>              <== NEVER TAKEN
    printf ("rtems-rfs: format: groups = %u\n", fs.group_count);                          
    printf ("rtems-rfs: format: group blocks = %zu\n", fs.group_blocks);                  
    printf ("rtems-rfs: format: group inodes = %zu\n", fs.group_inodes);                  
  }                                                                                       
                                                                                          
  rc = rtems_rfs_buffer_setblksize (&fs, rtems_rfs_fs_block_size (&fs));                  
40006edc:   00040593            mv  a1,s0                                                 
40006ee0:   04c10513            addi    a0,sp,76                                          
40006ee4:   c55ff0ef            jal ra,40006b38 <rtems_rfs_buffer_setblksize>             
40006ee8:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
40006eec:   340514e3            bnez    a0,40007a34 <rtems_rfs_format+0xcec>              <== NEVER TAKEN
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, false);                           
40006ef0:   00000693            li  a3,0                                                  
40006ef4:   00000613            li  a2,0                                                  
40006ef8:   02410593            addi    a1,sp,36                                          
40006efc:   04c10513            addi    a0,sp,76                                          
  handle->dirty = false;                                                                  
40006f00:   02010223            sb  zero,36(sp)                                           
  handle->bnum  = 0;                                                                      
40006f04:   02012423            sw  zero,40(sp)                                           
  handle->buffer = NULL;                                                                  
40006f08:   02012623            sw  zero,44(sp)                                           
40006f0c:   e70ff0ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40006f10:   00050493            mv  s1,a0                                                 
  if (rc > 0)                                                                             
40006f14:   7ea04063            bgtz    a0,400076f4 <rtems_rfs_format+0x9ac>              <== NEVER TAKEN
  sb = rtems_rfs_buffer_data (&handle);                                                   
40006f18:   02c12783            lw  a5,44(sp)                                             
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                                        
40006f1c:   05412603            lw  a2,84(sp)                                             
40006f20:   0ff00593            li  a1,255                                                
  sb = rtems_rfs_buffer_data (&handle);                                                   
40006f24:   01c7a783            lw  a5,28(a5)                                             
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                                        
40006f28:   00078513            mv  a0,a5                                                 
40006f2c:   40c170ef            jal ra,4001e338 <memset>                                  
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);                               
40006f30:   02800713            li  a4,40                                                 
40006f34:   00e50023            sb  a4,0(a0)                                              
40006f38:   00900713            li  a4,9                                                  
40006f3c:   00e500a3            sb  a4,1(a0)                                              
40006f40:   00100693            li  a3,1                                                  
40006f44:   02000713            li  a4,32                                                 
40006f48:   00d501a3            sb  a3,3(a0)                                              
40006f4c:   00e50123            sb  a4,2(a0)                                              
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);                              
40006f50:   00050223            sb  zero,4(a0)                                            
40006f54:   000502a3            sb  zero,5(a0)                                            
40006f58:   00050323            sb  zero,6(a0)                                            
40006f5c:   000503a3            sb  zero,7(a0)                                            
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));                        
40006f60:   05012703            lw  a4,80(sp)                                             
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                                        
40006f64:   00050793            mv  a5,a0                                                 
  rc = rtems_rfs_buffer_handle_release (fs, &handle);                                     
40006f68:   02410593            addi    a1,sp,36                                          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));                        
40006f6c:   01875813            srli    a6,a4,0x18                                        
40006f70:   01075513            srli    a0,a4,0x10                                        
40006f74:   00875613            srli    a2,a4,0x8                                         
40006f78:   00a786a3            sb  a0,13(a5)                                             
40006f7c:   01078623            sb  a6,12(a5)                                             
40006f80:   00c78723            sb  a2,14(a5)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE, rtems_rfs_fs_block_size (fs));                
40006f84:   05714603            lbu a2,87(sp)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));                        
40006f88:   00e787a3            sb  a4,15(a5)                                             
  rc = rtems_rfs_buffer_handle_release (fs, &handle);                                     
40006f8c:   04c10513            addi    a0,sp,76                                          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE, rtems_rfs_fs_block_size (fs));                
40006f90:   00c78423            sb  a2,8(a5)                                              
40006f94:   05615703            lhu a4,86(sp)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE, RTEMS_RFS_INODE_SIZE);                        
40006f98:   03800613            li  a2,56                                                 
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE, rtems_rfs_fs_block_size (fs));                
40006f9c:   00e784a3            sb  a4,9(a5)                                              
40006fa0:   05412703            lw  a4,84(sp)                                             
40006fa4:   00875713            srli    a4,a4,0x8                                         
40006fa8:   00e78523            sb  a4,10(a5)                                             
40006fac:   05412703            lw  a4,84(sp)                                             
40006fb0:   00e785a3            sb  a4,11(a5)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS, fs->bad_blocks);                              
40006fb4:   06714703            lbu a4,103(sp)                                            
40006fb8:   00e78823            sb  a4,16(a5)                                             
40006fbc:   06615703            lhu a4,102(sp)                                            
40006fc0:   00e788a3            sb  a4,17(a5)                                             
40006fc4:   06412703            lw  a4,100(sp)                                            
40006fc8:   00875713            srli    a4,a4,0x8                                         
40006fcc:   00e78923            sb  a4,18(a5)                                             
40006fd0:   06412703            lw  a4,100(sp)                                            
40006fd4:   00e789a3            sb  a4,19(a5)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH, fs->max_name_length);                    
40006fd8:   06b14703            lbu a4,107(sp)                                            
40006fdc:   00e78a23            sb  a4,20(a5)                                             
40006fe0:   06a15703            lhu a4,106(sp)                                            
40006fe4:   00e78aa3            sb  a4,21(a5)                                             
40006fe8:   06812703            lw  a4,104(sp)                                            
40006fec:   00875713            srli    a4,a4,0x8                                         
40006ff0:   00e78b23            sb  a4,22(a5)                                             
40006ff4:   06812703            lw  a4,104(sp)                                            
40006ff8:   00e78ba3            sb  a4,23(a5)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_GROUPS, fs->group_count);                                 
40006ffc:   07314703            lbu a4,115(sp)                                            
40007000:   00e78c23            sb  a4,24(a5)                                             
40007004:   07215703            lhu a4,114(sp)                                            
40007008:   00e78ca3            sb  a4,25(a5)                                             
4000700c:   07012703            lw  a4,112(sp)                                            
40007010:   00875713            srli    a4,a4,0x8                                         
40007014:   00e78d23            sb  a4,26(a5)                                             
40007018:   07012703            lw  a4,112(sp)                                            
4000701c:   00e78da3            sb  a4,27(a5)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS, fs->group_blocks);                          
40007020:   07714703            lbu a4,119(sp)                                            
40007024:   00e78e23            sb  a4,28(a5)                                             
40007028:   07615703            lhu a4,118(sp)                                            
4000702c:   00e78ea3            sb  a4,29(a5)                                             
40007030:   07412703            lw  a4,116(sp)                                            
40007034:   00875713            srli    a4,a4,0x8                                         
40007038:   00e78f23            sb  a4,30(a5)                                             
4000703c:   07412703            lw  a4,116(sp)                                            
40007040:   00e78fa3            sb  a4,31(a5)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES, fs->group_inodes);                          
40007044:   07b14703            lbu a4,123(sp)                                            
40007048:   02e78023            sb  a4,32(a5)                                             
4000704c:   07a15703            lhu a4,122(sp)                                            
40007050:   02e780a3            sb  a4,33(a5)                                             
40007054:   07812703            lw  a4,120(sp)                                            
40007058:   00875713            srli    a4,a4,0x8                                         
4000705c:   02e78123            sb  a4,34(a5)                                             
40007060:   07812703            lw  a4,120(sp)                                            
  write_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE, RTEMS_RFS_INODE_SIZE);                        
40007064:   02c783a3            sb  a2,39(a5)                                             
40007068:   02078223            sb  zero,36(a5)                                           
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES, fs->group_inodes);                          
4000706c:   02e781a3            sb  a4,35(a5)                                             
  write_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE, RTEMS_RFS_INODE_SIZE);                        
40007070:   020782a3            sb  zero,37(a5)                                           
40007074:   02078323            sb  zero,38(a5)                                           
  rtems_rfs_buffer_mark_dirty (&handle);                                                  
40007078:   02d10223            sb  a3,36(sp)                                             
  rc = rtems_rfs_buffer_handle_release (fs, &handle);                                     
4000707c:   f98ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
40007080:   00050493            mv  s1,a0                                                 
 */                                                                                       
static inline int                                                                         
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,                               
                               rtems_rfs_buffer_handle* handle)                           
{                                                                                         
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40007084:   02410593            addi    a1,sp,36                                          
40007088:   04c10513            addi    a0,sp,76                                          
  if (rc > 0)                                                                             
4000708c:   74904e63            bgtz    s1,400077e8 <rtems_rfs_format+0xaa0>              <== NEVER TAKEN
40007090:   f84ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
                                                                                          
    errno = EIO;                                                                          
    return -1;                                                                            
  }                                                                                       
                                                                                          
  for (group = 0; group < fs.group_count; group++)                                        
40007094:   07012783            lw  a5,112(sp)                                            
40007098:   3cf05663            blez    a5,40007464 <rtems_rfs_format+0x71c>              <== NEVER TAKEN
    printf ("\rrtems-rfs: format: group %3d: base = %" PRId32 ", size = %zd",             
4000709c:   40022db7            lui s11,0x40022                                           
  rtems_rfs_bitmap_map_set (&bitmap, RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);                 
400070a0:   00100c93            li  s9,1                                                  
  group_base = rtems_rfs_fs_block (fs, group, 0);                                         
400070a4:   07412483            lw  s1,116(sp)                                            
  if (group_base > rtems_rfs_fs_blocks (fs))                                              
400070a8:   05012783            lw  a5,80(sp)                                             
  group_base = rtems_rfs_fs_block (fs, group, 0);                                         
400070ac:   029409b3            mul s3,s0,s1                                              
400070b0:   00198713            addi    a4,s3,1                                           
  if (group_base > rtems_rfs_fs_blocks (fs))                                              
400070b4:   54e7e063            bltu    a5,a4,400075f4 <rtems_rfs_format+0x8ac>           
  if ((group_base + group_size) > rtems_rfs_fs_blocks (fs))                               
400070b8:   00e486b3            add a3,s1,a4                                              
400070bc:   00d7f463            bgeu    a5,a3,400070c4 <rtems_rfs_format+0x37c>           
    group_size = rtems_rfs_fs_blocks (fs) - group_base;                                   
400070c0:   40e784b3            sub s1,a5,a4                                              
    if (!rtems_rfs_write_group (&fs, group,                                               
400070c4:   015a4a83            lbu s5,21(s4)                                             
400070c8:   014a4b03            lbu s6,20(s4)                                             
  if (verbose)                                                                            
400070cc:   4e0a9863            bnez    s5,400075bc <rtems_rfs_format+0x874>              <== NEVER TAKEN
  handle->dirty = false;                                                                  
400070d0:   00010c23            sb  zero,24(sp)                                           
  handle->bnum  = 0;                                                                      
400070d4:   00012e23            sw  zero,28(sp)                                           
  handle->buffer = NULL;                                                                  
400070d8:   02012023            sw  zero,32(sp)                                           
  rc = rtems_rfs_bitmap_open (&bitmap, fs, &handle, group_size,                           
400070dc:   00048693            mv  a3,s1                                                 
400070e0:   01810613            addi    a2,sp,24                                          
400070e4:   04c10593            addi    a1,sp,76                                          
400070e8:   02410513            addi    a0,sp,36                                          
400070ec:   ff5fe0ef            jal ra,400060e0 <rtems_rfs_bitmap_open>                   
400070f0:   00050913            mv  s2,a0                                                 
  if (rc > 0)                                                                             
400070f4:   46a04e63            bgtz    a0,40007570 <rtems_rfs_format+0x828>              <== NEVER TAKEN
  memset (rtems_rfs_buffer_data (&handle), 0xff, rtems_rfs_fs_block_size (fs));           
400070f8:   02012783            lw  a5,32(sp)                                             
400070fc:   05412603            lw  a2,84(sp)                                             
40007100:   0ff00593            li  a1,255                                                
40007104:   01c7a503            lw  a0,28(a5)                                             
40007108:   230170ef            jal ra,4001e338 <memset>                                  
  rc = rtems_rfs_bitmap_map_clear_all (&bitmap);                                          
4000710c:   02410513            addi    a0,sp,36                                          
40007110:   cd5fe0ef            jal ra,40005de4 <rtems_rfs_bitmap_map_clear_all>          
40007114:   00050913            mv  s2,a0                                                 
  if (rc > 0)                                                                             
40007118:   4ea04863            bgtz    a0,40007608 <rtems_rfs_format+0x8c0>              <== NEVER TAKEN
  rtems_rfs_bitmap_map_set (&bitmap, RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);                 
4000711c:   00000593            li  a1,0                                                  
40007120:   02410513            addi    a0,sp,36                                          
40007124:   9a9fe0ef            jal ra,40005acc <rtems_rfs_bitmap_map_set>                
  rtems_rfs_bitmap_map_set (&bitmap, RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);                 
40007128:   00100593            li  a1,1                                                  
4000712c:   02410513            addi    a0,sp,36                                          
40007130:   99dfe0ef            jal ra,40005acc <rtems_rfs_bitmap_map_set>                
  blocks = rtems_rfs_rup_quotient (fs->group_inodes, fs->inodes_per_block);               
40007134:   07812903            lw  s2,120(sp)                                            
  if (dividend == 0)                                                                      
40007138:   50090a63            beqz    s2,4000764c <rtems_rfs_format+0x904>              <== NEVER TAKEN
  return ((dividend - 1) / divisor) + 1;                                                  
4000713c:   07c12783            lw  a5,124(sp)                                            
40007140:   fff90913            addi    s2,s2,-1                                          
40007144:   02f95933            divu    s2,s2,a5                                          
40007148:   00190b93            addi    s7,s2,1                                           
  for (b = 0; b < blocks; b++)                                                            
4000714c:   03705063            blez    s7,4000716c <rtems_rfs_format+0x424>              <== NEVER TAKEN
40007150:   00390913            addi    s2,s2,3                                           
40007154:   00200d13            li  s10,2                                                 
    rtems_rfs_bitmap_map_set (&bitmap, b + RTEMS_RFS_GROUP_INODE_BLOCK);                  
40007158:   000d0593            mv  a1,s10                                                
4000715c:   02410513            addi    a0,sp,36                                          
  for (b = 0; b < blocks; b++)                                                            
40007160:   001d0d13            addi    s10,s10,1                                         
    rtems_rfs_bitmap_map_set (&bitmap, b + RTEMS_RFS_GROUP_INODE_BLOCK);                  
40007164:   969fe0ef            jal ra,40005acc <rtems_rfs_bitmap_map_set>                
  for (b = 0; b < blocks; b++)                                                            
40007168:   ff2d18e3            bne s10,s2,40007158 <rtems_rfs_format+0x410>              
  rc = rtems_rfs_bitmap_close (&bitmap);                                                  
4000716c:   02410513            addi    a0,sp,36                                          
40007170:   fd5fe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  
40007174:   00050913            mv  s2,a0                                                 
  if (rc > 0)                                                                             
40007178:   4ea04a63            bgtz    a0,4000766c <rtems_rfs_format+0x924>              <== NEVER TAKEN
  rtems_rfs_buffer_mark_dirty (&handle);                                                  
4000717c:   01910c23            sb  s9,24(sp)                                             
  if (verbose)                                                                            
40007180:   560a9263            bnez    s5,400076e4 <rtems_rfs_format+0x99c>              <== NEVER TAKEN
  rc = rtems_rfs_bitmap_open (&bitmap, fs, &handle, group_size,                           
40007184:   00048693            mv  a3,s1                                                 
40007188:   00298713            addi    a4,s3,2                                           
4000718c:   01810613            addi    a2,sp,24                                          
40007190:   04c10593            addi    a1,sp,76                                          
40007194:   02410513            addi    a0,sp,36                                          
40007198:   f49fe0ef            jal ra,400060e0 <rtems_rfs_bitmap_open>                   
4000719c:   00050493            mv  s1,a0                                                 
  if (rc > 0)                                                                             
400071a0:   50a04463            bgtz    a0,400076a8 <rtems_rfs_format+0x960>              <== NEVER TAKEN
  memset (rtems_rfs_buffer_data (&handle), 0x00, rtems_rfs_fs_block_size (fs));           
400071a4:   02012783            lw  a5,32(sp)                                             
400071a8:   05412603            lw  a2,84(sp)                                             
400071ac:   00000593            li  a1,0                                                  
400071b0:   01c7a503            lw  a0,28(a5)                                             
400071b4:   184170ef            jal ra,4001e338 <memset>                                  
  rc = rtems_rfs_bitmap_map_clear_all (&bitmap);                                          
400071b8:   02410513            addi    a0,sp,36                                          
400071bc:   c29fe0ef            jal ra,40005de4 <rtems_rfs_bitmap_map_clear_all>          
400071c0:   00050493            mv  s1,a0                                                 
    rtems_rfs_bitmap_close (&bitmap);                                                     
400071c4:   02410513            addi    a0,sp,36                                          
  if (rc > 0)                                                                             
400071c8:   58904063            bgtz    s1,40007748 <rtems_rfs_format+0xa00>              <== NEVER TAKEN
  rc = rtems_rfs_bitmap_close (&bitmap);                                                  
400071cc:   f79fe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  
400071d0:   00050493            mv  s1,a0                                                 
  if (rc > 0)                                                                             
400071d4:   74a04463            bgtz    a0,4000791c <rtems_rfs_format+0xbd4>              <== NEVER TAKEN
  rtems_rfs_buffer_mark_dirty (&handle);                                                  
400071d8:   01910c23            sb  s9,24(sp)                                             
  if (initialise_inodes)                                                                  
400071dc:   260b0863            beqz    s6,4000744c <rtems_rfs_format+0x704>              <== ALWAYS TAKEN
    for (b = 0; b < blocks; b++)                                                          
400071e0:   27705663            blez    s7,4000744c <rtems_rfs_format+0x704>              <== NOT EXECUTED
400071e4:   00398993            addi    s3,s3,3                                           <== NOT EXECUTED
400071e8:   013b8bb3            add s7,s7,s3                                              <== NOT EXECUTED
400071ec:   0200006f            j   4000720c <rtems_rfs_format+0x4c4>                     <== NOT EXECUTED
      memset (rtems_rfs_buffer_data (&handle), 0xff, rtems_rfs_fs_block_size (fs));       
400071f0:   02012783            lw  a5,32(sp)                                             <== NOT EXECUTED
400071f4:   05412603            lw  a2,84(sp)                                             <== NOT EXECUTED
    for (b = 0; b < blocks; b++)                                                          
400071f8:   00198993            addi    s3,s3,1                                           <== NOT EXECUTED
      memset (rtems_rfs_buffer_data (&handle), 0xff, rtems_rfs_fs_block_size (fs));       
400071fc:   01c7a503            lw  a0,28(a5)                                             <== NOT EXECUTED
40007200:   138170ef            jal ra,4001e338 <memset>                                  <== NOT EXECUTED
      rtems_rfs_buffer_mark_dirty (&handle);                                              
40007204:   01910c23            sb  s9,24(sp)                                             <== NOT EXECUTED
    for (b = 0; b < blocks; b++)                                                          
40007208:   253b8263            beq s7,s3,4000744c <rtems_rfs_format+0x704>               <== NOT EXECUTED
      rc = rtems_rfs_buffer_handle_request (fs, &handle,                                  
4000720c:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40007210:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40007214:   00000693            li  a3,0                                                  <== NOT EXECUTED
40007218:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
4000721c:   b60ff0ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         <== NOT EXECUTED
      memset (rtems_rfs_buffer_data (&handle), 0xff, rtems_rfs_fs_block_size (fs));       
40007220:   0ff00593            li  a1,255                                                <== NOT EXECUTED
      rc = rtems_rfs_buffer_handle_request (fs, &handle,                                  
40007224:   00050493            mv  s1,a0                                                 <== NOT EXECUTED
      if (rc > 0)                                                                         
40007228:   fca054e3            blez    a0,400071f0 <rtems_rfs_format+0x4a8>              <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4000722c:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40007230:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007234:   de0ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
        printf ("\nrtems-rfs: write-group: group %3d: block %" PRId32 " request failed: %d: %s\n",
40007238:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
4000723c:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007240:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007244:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
40007248:   51d170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4000724c:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
40007250:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007254:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007258:   00048693            mv  a3,s1                                                 <== NOT EXECUTED
4000725c:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40007260:   04050513            addi    a0,a0,64 # 40022040 <IMFS_node_control_sym_link+0xae0><== NOT EXECUTED
40007264:   f94fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
                                config->initialise_inodes, config->verbose))              
      {                                                                                   
        errno = EIO;                                                                      
40007268:   221160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
4000726c:   00500793            li  a5,5                                                  <== NOT EXECUTED
40007270:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
        return -1;                                                                        
40007274:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
    errno = rc;                                                                           
    return -1;                                                                            
  }                                                                                       
                                                                                          
  return 0;                                                                               
}                                                                                         
40007278:   10c12083            lw  ra,268(sp)                                            
4000727c:   00040513            mv  a0,s0                                                 
40007280:   10812403            lw  s0,264(sp)                                            
40007284:   10412483            lw  s1,260(sp)                                            
40007288:   10012903            lw  s2,256(sp)                                            
4000728c:   0fc12983            lw  s3,252(sp)                                            
40007290:   0f812a03            lw  s4,248(sp)                                            
40007294:   0f412a83            lw  s5,244(sp)                                            
40007298:   0f012b03            lw  s6,240(sp)                                            
4000729c:   0ec12b83            lw  s7,236(sp)                                            
400072a0:   0e812c03            lw  s8,232(sp)                                            
400072a4:   0e412c83            lw  s9,228(sp)                                            
400072a8:   0e012d03            lw  s10,224(sp)                                           
400072ac:   0dc12d83            lw  s11,220(sp)                                           
400072b0:   11010113            addi    sp,sp,272                                         
400072b4:   00008067            ret                                                       
  if (fs->group_blocks > rtems_rfs_bitmap_numof_bits (fs->block_size))                    
400072b8:   b8f5f0e3            bgeu    a1,a5,40006e38 <rtems_rfs_format+0xf0>            <== NOT EXECUTED
    printf ("group block count is higher than bits in block\n");                          
400072bc:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400072c0:   b2050513            addi    a0,a0,-1248 # 40021b20 <IMFS_node_control_sym_link+0x5c0><== NOT EXECUTED
400072c4:   f7cfa0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
    errno = EINVAL;                                                                       
400072c8:   1c1160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
400072cc:   01600793            li  a5,22                                                 <== NOT EXECUTED
400072d0:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
400072d4:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
400072d8:   fa1ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
  fs->inodes_per_block = rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE;             
400072dc:   06e12e23            sw  a4,124(sp)                                            <== NOT EXECUTED
  return ((dividend - 1) / divisor) + 1;                                                  
400072e0:   fff68793            addi    a5,a3,-1                                          
400072e4:   02e7d7b3            divu    a5,a5,a4                                          
400072e8:   00178793            addi    a5,a5,1                                           
                            fs->inodes_per_block) * fs->inodes_per_block;                 
400072ec:   02f70733            mul a4,a4,a5                                              
  if (fs->group_inodes > rtems_rfs_bitmap_numof_bits (fs->block_size))                    
400072f0:   bce5f8e3            bgeu    a1,a4,40006ec0 <rtems_rfs_format+0x178>           
  fs->max_name_length = config->max_name_length;                                          
400072f4:   010a2783            lw  a5,16(s4)                                             <== NOT EXECUTED
    fs->group_inodes = rtems_rfs_bitmap_numof_bits (fs->block_size);                      
400072f8:   06b12c23            sw  a1,120(sp)                                            <== NOT EXECUTED
  if (!fs->max_name_length)                                                               
400072fc:   bc0788e3            beqz    a5,40006ecc <rtems_rfs_format+0x184>              <== NOT EXECUTED
  fs->max_name_length = config->max_name_length;                                          
40007300:   06f12423            sw  a5,104(sp)                                            <== NOT EXECUTED
  if (config->verbose)                                                                    
40007304:   015a4783            lbu a5,21(s4)                                             <== NOT EXECUTED
40007308:   bc078ae3            beqz    a5,40006edc <rtems_rfs_format+0x194>              <== NOT EXECUTED
    printf ("rtems-rfs: format: media size = %" PRIu64 "\n",                              
4000730c:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007310:   6540f0ef            jal ra,40016964 <rtems_rfs_fs_media_size>                 <== NOT EXECUTED
40007314:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007318:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000731c:   00058693            mv  a3,a1                                                 <== NOT EXECUTED
40007320:   b5050513            addi    a0,a0,-1200 # 40021b50 <IMFS_node_control_sym_link+0x5f0><== NOT EXECUTED
40007324:   ed4fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: media blocks = %" PRIu32 "\n",                            
40007328:   05c12783            lw  a5,92(sp)                                             <== NOT EXECUTED
4000732c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007330:   b7850513            addi    a0,a0,-1160 # 40021b78 <IMFS_node_control_sym_link+0x618><== NOT EXECUTED
40007334:   01c7a583            lw  a1,28(a5)                                             <== NOT EXECUTED
40007338:   ec0fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: media block size = %" PRIu32 "\n",                        
4000733c:   05c12783            lw  a5,92(sp)                                             <== NOT EXECUTED
40007340:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007344:   ba050513            addi    a0,a0,-1120 # 40021ba0 <IMFS_node_control_sym_link+0x640><== NOT EXECUTED
40007348:   0207a583            lw  a1,32(a5)                                             <== NOT EXECUTED
4000734c:   eacfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: size = %" PRIu64 "\n",                                    
40007350:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007354:   5fc0f0ef            jal ra,40016950 <rtems_rfs_fs_size>                       <== NOT EXECUTED
40007358:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000735c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007360:   00058693            mv  a3,a1                                                 <== NOT EXECUTED
40007364:   bcc50513            addi    a0,a0,-1076 # 40021bcc <IMFS_node_control_sym_link+0x66c><== NOT EXECUTED
40007368:   e90fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: blocks = %zu\n",                                          
4000736c:   05012583            lw  a1,80(sp)                                             <== NOT EXECUTED
40007370:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007374:   bec50513            addi    a0,a0,-1044 # 40021bec <IMFS_node_control_sym_link+0x68c><== NOT EXECUTED
40007378:   e80fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: block size = %zu\n",                                      
4000737c:   05412583            lw  a1,84(sp)                                             <== NOT EXECUTED
40007380:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007384:   c1050513            addi    a0,a0,-1008 # 40021c10 <IMFS_node_control_sym_link+0x6b0><== NOT EXECUTED
40007388:   e70fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: bits per block = %u\n",                                   
4000738c:   05412583            lw  a1,84(sp)                                             <== NOT EXECUTED
40007390:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007394:   c3850513            addi    a0,a0,-968 # 40021c38 <IMFS_node_control_sym_link+0x6d8><== NOT EXECUTED
40007398:   00359593            slli    a1,a1,0x3                                         <== NOT EXECUTED
4000739c:   e5cfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: inode size = %zu\n", RTEMS_RFS_INODE_SIZE);               
400073a0:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400073a4:   03800593            li  a1,56                                                 <== NOT EXECUTED
400073a8:   c6050513            addi    a0,a0,-928 # 40021c60 <IMFS_node_control_sym_link+0x700><== NOT EXECUTED
400073ac:   e4cfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
            fs.group_inodes * fs.group_count,                                             
400073b0:   07812703            lw  a4,120(sp)                                            <== NOT EXECUTED
    printf ("rtems-rfs: format: inodes = %zu (%d.%d%%)\n",                                
400073b4:   07012583            lw  a1,112(sp)                                            <== NOT EXECUTED
  blocks = rtems_rfs_rup_quotient(fs->group_inodes * RTEMS_RFS_INODE_SIZE,                
400073b8:   05412683            lw  a3,84(sp)                                             <== NOT EXECUTED
400073bc:   00371793            slli    a5,a4,0x3                                         <== NOT EXECUTED
400073c0:   40e787b3            sub a5,a5,a4                                              <== NOT EXECUTED
400073c4:   00379793            slli    a5,a5,0x3                                         <== NOT EXECUTED
    printf ("rtems-rfs: format: inodes = %zu (%d.%d%%)\n",                                
400073c8:   02b705b3            mul a1,a4,a1                                              <== NOT EXECUTED
  if (dividend == 0)                                                                      
400073cc:   7d000713            li  a4,2000                                               <== NOT EXECUTED
400073d0:   00078c63            beqz    a5,400073e8 <rtems_rfs_format+0x6a0>              <== NOT EXECUTED
  return ((dividend - 1) / divisor) + 1;                                                  
400073d4:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
  return ((blocks + 1) * 100 * 10) / bits_per_block;                                      
400073d8:   3e800713            li  a4,1000                                               <== NOT EXECUTED
  return ((dividend - 1) / divisor) + 1;                                                  
400073dc:   02d7d7b3            divu    a5,a5,a3                                          <== NOT EXECUTED
  return ((blocks + 1) * 100 * 10) / bits_per_block;                                      
400073e0:   00278793            addi    a5,a5,2                                           <== NOT EXECUTED
400073e4:   02e78733            mul a4,a5,a4                                              <== NOT EXECUTED
400073e8:   05012783            lw  a5,80(sp)                                             <== NOT EXECUTED
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));                      
400073ec:   00369693            slli    a3,a3,0x3                                         <== NOT EXECUTED
  return ((blocks + 1) * 100 * 10) / bits_per_block;                                      
400073f0:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
400073f4:   48f6e463            bltu    a3,a5,4000787c <rtems_rfs_format+0xb34>           <== NOT EXECUTED
    printf ("rtems-rfs: format: inodes = %zu (%d.%d%%)\n",                                
400073f8:   00a00613            li  a2,10                                                 <== NOT EXECUTED
400073fc:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007400:   c8850513            addi    a0,a0,-888 # 40021c88 <IMFS_node_control_sym_link+0x728><== NOT EXECUTED
  return ((blocks + 1) * 100 * 10) / bits_per_block;                                      
40007404:   02f747b3            div a5,a4,a5                                              <== NOT EXECUTED
    printf ("rtems-rfs: format: inodes = %zu (%d.%d%%)\n",                                
40007408:   02c7e6b3            rem a3,a5,a2                                              <== NOT EXECUTED
4000740c:   02c7c633            div a2,a5,a2                                              <== NOT EXECUTED
40007410:   de8fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: groups = %u\n", fs.group_count);                          
40007414:   07012583            lw  a1,112(sp)                                            <== NOT EXECUTED
40007418:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000741c:   cb450513            addi    a0,a0,-844 # 40021cb4 <IMFS_node_control_sym_link+0x754><== NOT EXECUTED
40007420:   dd8fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: group blocks = %zu\n", fs.group_blocks);                  
40007424:   07412583            lw  a1,116(sp)                                            <== NOT EXECUTED
40007428:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000742c:   cd450513            addi    a0,a0,-812 # 40021cd4 <IMFS_node_control_sym_link+0x774><== NOT EXECUTED
40007430:   dc8fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: group inodes = %zu\n", fs.group_inodes);                  
40007434:   07812583            lw  a1,120(sp)                                            <== NOT EXECUTED
40007438:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000743c:   cfc50513            addi    a0,a0,-772 # 40021cfc <IMFS_node_control_sym_link+0x79c><== NOT EXECUTED
40007440:   db8fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  rc = rtems_rfs_buffer_setblksize (&fs, rtems_rfs_fs_block_size (&fs));                  
40007444:   05412403            lw  s0,84(sp)                                             <== NOT EXECUTED
40007448:   a95ff06f            j   40006edc <rtems_rfs_format+0x194>                     <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4000744c:   01810593            addi    a1,sp,24                                          
40007450:   04c10513            addi    a0,sp,76                                          
40007454:   bc0ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
  for (group = 0; group < fs.group_count; group++)                                        
40007458:   07012783            lw  a5,112(sp)                                            
4000745c:   00140413            addi    s0,s0,1                                           
40007460:   c4f442e3            blt s0,a5,400070a4 <rtems_rfs_format+0x35c>               
  if (config->verbose)                                                                    
40007464:   015a4783            lbu a5,21(s4)                                             
40007468:   4a079463            bnez    a5,40007910 <rtems_rfs_format+0xbc8>              <== NEVER TAKEN
  rc = rtems_rfs_buffer_close (&fs);                                                      
4000746c:   04c10513            addi    a0,sp,76                                          
40007470:   ff4ff0ef            jal ra,40006c64 <rtems_rfs_buffer_close>                  
40007474:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
40007478:   5e051263            bnez    a0,40007a5c <rtems_rfs_format+0xd14>              <== NEVER TAKEN
  rc = rtems_rfs_fs_open (name, NULL,                                                     
4000747c:   01410713            addi    a4,sp,20                                          
40007480:   00000693            li  a3,0                                                  
40007484:   00600613            li  a2,6                                                  
40007488:   00000593            li  a1,0                                                  
4000748c:   000c0513            mv  a0,s8                                                 
40007490:   4ec0f0ef            jal ra,4001697c <rtems_rfs_fs_open>                       
  if (rc != 0)                                                                            
40007494:   44051863            bnez    a0,400078e4 <rtems_rfs_format+0xb9c>              <== NEVER TAKEN
  rc = rtems_rfs_inode_alloc (fs, RTEMS_RFS_ROOT_INO, &ino);                              
40007498:   01412503            lw  a0,20(sp)                                             
4000749c:   01810613            addi    a2,sp,24                                          
400074a0:   00100593            li  a1,1                                                  
400074a4:   4e9000ef            jal ra,4000818c <rtems_rfs_inode_alloc>                   
400074a8:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
400074ac:   4a051663            bnez    a0,40007958 <rtems_rfs_format+0xc10>              <== NEVER TAKEN
  if (ino != RTEMS_RFS_ROOT_INO)                                                          
400074b0:   01812583            lw  a1,24(sp)                                             
400074b4:   00100793            li  a5,1                                                  
400074b8:   3ef59463            bne a1,a5,400078a0 <rtems_rfs_format+0xb58>               
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                                      
400074bc:   01412503            lw  a0,20(sp)                                             
400074c0:   00100693            li  a3,1                                                  
400074c4:   02410613            addi    a2,sp,36                                          
400074c8:   00100593            li  a1,1                                                  
400074cc:   5b5000ef            jal ra,40008280 <rtems_rfs_inode_open>                    
400074d0:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
400074d4:   4a051a63            bnez    a0,40007988 <rtems_rfs_format+0xc40>              <== NEVER TAKEN
  rc = rtems_rfs_inode_initialise (&inode, 0,                                             
400074d8:   00004637            lui a2,0x4                                                
400074dc:   00000713            li  a4,0                                                  
400074e0:   00000693            li  a3,0                                                  
400074e4:   1c960613            addi    a2,a2,457 # 41c9 <bsp_section_rtemsstack_size+0x21c9>
400074e8:   00000593            li  a1,0                                                  
400074ec:   02410513            addi    a0,sp,36                                          
400074f0:   28c010ef            jal ra,4000877c <rtems_rfs_inode_initialise>              
400074f4:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
400074f8:   4e051e63            bnez    a0,400079f4 <rtems_rfs_format+0xcac>              <== NEVER TAKEN
  rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, ino);                                 
400074fc:   01812703            lw  a4,24(sp)                                             
40007500:   01412503            lw  a0,20(sp)                                             
40007504:   40021637            lui a2,0x40021                                            
40007508:   00100693            li  a3,1                                                  
4000750c:   10460613            addi    a2,a2,260 # 40021104 <rtems_filesystem_table+0x74>
40007510:   02410593            addi    a1,sp,36                                          
40007514:   3600d0ef            jal ra,40014874 <rtems_rfs_dir_add_entry>                 
40007518:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
4000751c:   4a051e63            bnez    a0,400079d8 <rtems_rfs_format+0xc90>              <== NEVER TAKEN
  rc = rtems_rfs_inode_close (fs, &inode);                                                
40007520:   01412503            lw  a0,20(sp)                                             
40007524:   02410593            addi    a1,sp,36                                          
40007528:   785000ef            jal ra,400084ac <rtems_rfs_inode_close>                   
4000752c:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
40007530:   48051663            bnez    a0,400079bc <rtems_rfs_format+0xc74>              <== NEVER TAKEN
  rc = rtems_rfs_fs_close (fs);                                                           
40007534:   01412503            lw  a0,20(sp)                                             
40007538:   4290f0ef            jal ra,40017160 <rtems_rfs_fs_close>                      
4000753c:   00050413            mv  s0,a0                                                 
  if (rc != 0)                                                                            
40007540:   d2050ce3            beqz    a0,40007278 <rtems_rfs_format+0x530>              <== ALWAYS TAKEN
    rc = errno;                                                                           
40007544:   744160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40007548:   00052403            lw  s0,0(a0)                                              <== NOT EXECUTED
    printf ("rtems-rfs: format: file system close failed: %d: %s\n",                      
4000754c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40007550:   215170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007554:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007558:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000755c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007560:   22050513            addi    a0,a0,544 # 40022220 <IMFS_node_control_sym_link+0xcc0><== NOT EXECUTED
40007564:   c94fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (rc != 0)                                                                            
40007568:   d00408e3            beqz    s0,40007278 <rtems_rfs_format+0x530>              <== NOT EXECUTED
4000756c:   34c0006f            j   400078b8 <rtems_rfs_format+0xb70>                     <== NOT EXECUTED
40007570:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40007574:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007578:   a9cff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("\nrtems-rfs: write-group: group %3d: open block bitmap failed: %d: %s\n",    
4000757c:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40007580:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007584:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007588:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
4000758c:   1d9170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007590:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40007594:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007598:   00090613            mv  a2,s2                                                 <== NOT EXECUTED
4000759c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400075a0:   e7c50513            addi    a0,a0,-388 # 40021e7c <IMFS_node_control_sym_link+0x91c><== NOT EXECUTED
400075a4:   c54fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
        errno = EIO;                                                                      
400075a8:   6e0160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
400075ac:   00500793            li  a5,5                                                  <== NOT EXECUTED
400075b0:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
        return -1;                                                                        
400075b4:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
400075b8:   cc1ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
    printf ("\rrtems-rfs: format: group %3d: base = %" PRId32 ", size = %zd",             
400075bc:   00070613            mv  a2,a4                                                 <== NOT EXECUTED
400075c0:   00048693            mv  a3,s1                                                 <== NOT EXECUTED
400075c4:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400075c8:   e38d8513            addi    a0,s11,-456 # 40021e38 <IMFS_node_control_sym_link+0x8d8><== NOT EXECUTED
400075cc:   00e12623            sw  a4,12(sp)                                             <== NOT EXECUTED
400075d0:   c28fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf (", blocks");                                                                  
400075d4:   400227b7            lui a5,0x40022                                            <== NOT EXECUTED
400075d8:   e7078513            addi    a0,a5,-400 # 40021e70 <IMFS_node_control_sym_link+0x910><== NOT EXECUTED
  handle->dirty = false;                                                                  
400075dc:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
400075e0:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
400075e4:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
400075e8:   c10fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400075ec:   00c12703            lw  a4,12(sp)                                             <== NOT EXECUTED
400075f0:   aedff06f            j   400070dc <rtems_rfs_format+0x394>                     <== NOT EXECUTED
    printf ("rtems-rfs: write-group: group %d base beyond disk limit\n",                  
400075f4:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400075f8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400075fc:   dfc50513            addi    a0,a0,-516 # 40021dfc <IMFS_node_control_sym_link+0x89c><== NOT EXECUTED
40007600:   bf8fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
40007604:   fa5ff06f            j   400075a8 <rtems_rfs_format+0x860>                     <== NOT EXECUTED
    rtems_rfs_bitmap_close (&bitmap);                                                     
40007608:   02410513            addi    a0,sp,36                                          <== NOT EXECUTED
4000760c:   b39fe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40007610:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40007614:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007618:   9fcff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("\nrtems-rfs: write-group: group %3d: block bitmap clear all failed: %d: %s\n",
4000761c:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40007620:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007624:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007628:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
4000762c:   139170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007630:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40007634:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007638:   00090613            mv  a2,s2                                                 <== NOT EXECUTED
4000763c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007640:   ec450513            addi    a0,a0,-316 # 40021ec4 <IMFS_node_control_sym_link+0x964><== NOT EXECUTED
40007644:   bb4fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
40007648:   f61ff06f            j   400075a8 <rtems_rfs_format+0x860>                     <== NOT EXECUTED
    rtems_rfs_bitmap_map_set (&bitmap, b + RTEMS_RFS_GROUP_INODE_BLOCK);                  
4000764c:   00200593            li  a1,2                                                  <== NOT EXECUTED
40007650:   02410513            addi    a0,sp,36                                          <== NOT EXECUTED
40007654:   c78fe0ef            jal ra,40005acc <rtems_rfs_bitmap_map_set>                <== NOT EXECUTED
  rc = rtems_rfs_bitmap_close (&bitmap);                                                  
40007658:   02410513            addi    a0,sp,36                                          <== NOT EXECUTED
4000765c:   ae9fe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  <== NOT EXECUTED
    return 1;                                                                             
40007660:   00100b93            li  s7,1                                                  <== NOT EXECUTED
  rc = rtems_rfs_bitmap_close (&bitmap);                                                  
40007664:   00050913            mv  s2,a0                                                 <== NOT EXECUTED
  if (rc > 0)                                                                             
40007668:   b0a05ae3            blez    a0,4000717c <rtems_rfs_format+0x434>              <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4000766c:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40007670:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007674:   9a0ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("\nrtems-rfs: write-group: group %3d: close block bitmap failed: %d: %s\n",   
40007678:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
4000767c:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007680:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007684:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
40007688:   0dd170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4000768c:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40007690:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007694:   00090613            mv  a2,s2                                                 <== NOT EXECUTED
40007698:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4000769c:   f1050513            addi    a0,a0,-240 # 40021f10 <IMFS_node_control_sym_link+0x9b0><== NOT EXECUTED
400076a0:   b58fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
400076a4:   f05ff06f            j   400075a8 <rtems_rfs_format+0x860>                     <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
400076a8:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
400076ac:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
400076b0:   964ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("\nrtems-rfs: write-group: group %3d: open inode bitmap failed: %d: %s\n",    
400076b4:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
400076b8:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
400076bc:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
400076c0:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
400076c4:   0a1170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400076c8:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
400076cc:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400076d0:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
400076d4:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400076d8:   f6450513            addi    a0,a0,-156 # 40021f64 <IMFS_node_control_sym_link+0xa04><== NOT EXECUTED
400076dc:   b1cfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
400076e0:   ec9ff06f            j   400075a8 <rtems_rfs_format+0x860>                     <== NOT EXECUTED
    printf (", inodes");                                                                  
400076e4:   400227b7            lui a5,0x40022                                            <== NOT EXECUTED
400076e8:   f5878513            addi    a0,a5,-168 # 40021f58 <IMFS_node_control_sym_link+0x9f8><== NOT EXECUTED
400076ec:   b0cfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400076f0:   a95ff06f            j   40007184 <rtems_rfs_format+0x43c>                     <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
400076f4:   02410593            addi    a1,sp,36                                          <== NOT EXECUTED
400076f8:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
400076fc:   918ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("rtems-rfs: write-superblock: request failed: %d: %s\n",                      
40007700:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40007704:   02010223            sb  zero,36(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007708:   02012423            sw  zero,40(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
4000770c:   02012623            sw  zero,44(sp)                                           <== NOT EXECUTED
40007710:   055170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007714:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007718:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000771c:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40007720:   d5c50513            addi    a0,a0,-676 # 40021d5c <IMFS_node_control_sym_link+0x7fc><== NOT EXECUTED
40007724:   ad4fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    printf ("rtems-rfs: format: superblock write failed\n");                              
40007728:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000772c:   dd050513            addi    a0,a0,-560 # 40021dd0 <IMFS_node_control_sym_link+0x870><== NOT EXECUTED
40007730:   b10fa0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
    errno = EIO;                                                                          
40007734:   554160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40007738:   00500793            li  a5,5                                                  <== NOT EXECUTED
4000773c:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40007740:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
40007744:   b35ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
    rtems_rfs_bitmap_close (&bitmap);                                                     
40007748:   9fdfe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4000774c:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40007750:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007754:   8c0ff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("\nrtems-rfs: write-group: group %3d: inode bitmap" \                         
40007758:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
4000775c:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007760:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007764:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
40007768:   7fc170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4000776c:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40007770:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007774:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40007778:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4000777c:   fac50513            addi    a0,a0,-84 # 40021fac <IMFS_node_control_sym_link+0xa4c><== NOT EXECUTED
40007780:   a78fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
40007784:   e25ff06f            j   400075a8 <rtems_rfs_format+0x860>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: %s\n", name);                                             
40007788:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
4000778c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007790:   a7050513            addi    a0,a0,-1424 # 40021a70 <IMFS_node_control_sym_link+0x510><== NOT EXECUTED
40007794:   a64fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40007798:   df8ff06f            j   40006d90 <rtems_rfs_format+0x48>                      <== NOT EXECUTED
    uint64_t total_size = rtems_rfs_fs_media_size (fs);                                   
4000779c:   04c10513            addi    a0,sp,76                                          
400077a0:   1c40f0ef            jal ra,40016964 <rtems_rfs_fs_media_size>                 
    if (total_size >= GIGS (1))                                                           
400077a4:   06059a63            bnez    a1,40007818 <rtems_rfs_format+0xad0>              <== NEVER TAKEN
400077a8:   001007b7            lui a5,0x100                                              
400077ac:   06f57663            bgeu    a0,a5,40007818 <rtems_rfs_format+0xad0>           
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)                         
400077b0:   05c12703            lw  a4,92(sp)                                             
    if (fs->block_size < 512)                                                             
400077b4:   05412583            lw  a1,84(sp)                                             
400077b8:   1ff00793            li  a5,511                                                
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)                         
400077bc:   02072603            lw  a2,32(a4) # 6020 <bsp_section_bss_size+0xa70>         
    if (fs->block_size < 512)                                                             
400077c0:   0ab7e463            bltu    a5,a1,40007868 <rtems_rfs_format+0xb20>           
      fs->block_size = 512;                                                               
400077c4:   20000793            li  a5,512                                                
400077c8:   20000593            li  a1,512                                                
400077cc:   04f12a23            sw  a5,84(sp)                                             
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)                         
400077d0:   02c5f7b3            remu    a5,a1,a2                                          
400077d4:   e4078863            beqz    a5,40006e24 <rtems_rfs_format+0xdc>               <== ALWAYS TAKEN
    printf ("block size (%zd) is not a multiple of media block size (%" PRId32 ")\n",     
400077d8:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400077dc:   ae050513            addi    a0,a0,-1312 # 40021ae0 <IMFS_node_control_sym_link+0x580><== NOT EXECUTED
400077e0:   a18fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
400077e4:   ae5ff06f            j   400072c8 <rtems_rfs_format+0x580>                     <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
400077e8:   82cff0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("rtems-rfs: write-superblock: buffer release failed: %d: %s\n",               
400077ec:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
400077f0:   02010223            sb  zero,36(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
400077f4:   02012423            sw  zero,40(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
400077f8:   02012623            sw  zero,44(sp)                                           <== NOT EXECUTED
400077fc:   768170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007800:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007804:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007808:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
4000780c:   d9450513            addi    a0,a0,-620 # 40021d94 <IMFS_node_control_sym_link+0x834><== NOT EXECUTED
40007810:   9e8fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
40007814:   f15ff06f            j   40007728 <rtems_rfs_format+0x9e0>                     <== NOT EXECUTED
      uint32_t gigs = (total_size + GIGS (1)) / GIGS (1);                                 
40007818:   001007b7            lui a5,0x100                                              <== NOT EXECUTED
4000781c:   00f507b3            add a5,a0,a5                                              <== NOT EXECUTED
40007820:   00a7b733            sltu    a4,a5,a0                                          <== NOT EXECUTED
40007824:   00b70733            add a4,a4,a1                                              <== NOT EXECUTED
40007828:   0147d793            srli    a5,a5,0x14                                        <== NOT EXECUTED
4000782c:   00c71713            slli    a4,a4,0xc                                         <== NOT EXECUTED
40007830:   00f76733            or  a4,a4,a5                                              <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                                       
40007834:   00100613            li  a2,1                                                  <== NOT EXECUTED
      for (b = 31; b > 0; b--)                                                            
40007838:   01f00793            li  a5,31                                                 <== NOT EXECUTED
4000783c:   0080006f            j   40007844 <rtems_rfs_format+0xafc>                     <== NOT EXECUTED
40007840:   12078e63            beqz    a5,4000797c <rtems_rfs_format+0xc34>              <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                                       
40007844:   00f615b3            sll a1,a2,a5                                              <== NOT EXECUTED
40007848:   00b776b3            and a3,a4,a1                                              <== NOT EXECUTED
      for (b = 31; b > 0; b--)                                                            
4000784c:   fff78793            addi    a5,a5,-1 # fffff <bsp_section_text_size+0xdfcab>  <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                                       
40007850:   fe0688e3            beqz    a3,40007840 <rtems_rfs_format+0xaf8>              <== NOT EXECUTED
      fs->block_size = 1 << b;                                                            
40007854:   04b12a23            sw  a1,84(sp)                                             <== NOT EXECUTED
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)                         
40007858:   05c12703            lw  a4,92(sp)                                             <== NOT EXECUTED
    if (fs->block_size < 512)                                                             
4000785c:   1ff00793            li  a5,511                                                <== NOT EXECUTED
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)                         
40007860:   02072603            lw  a2,32(a4)                                             <== NOT EXECUTED
    if (fs->block_size < 512)                                                             
40007864:   f6b7f0e3            bgeu    a5,a1,400077c4 <rtems_rfs_format+0xa7c>           <== NOT EXECUTED
    if (fs->block_size > (4 * 1024))                                                      
40007868:   000017b7            lui a5,0x1                                                <== NOT EXECUTED
4000786c:   dab7f863            bgeu    a5,a1,40006e1c <rtems_rfs_format+0xd4>            <== NOT EXECUTED
      fs->block_size = (4 * 1024);                                                        
40007870:   04f12a23            sw  a5,84(sp)                                             <== NOT EXECUTED
40007874:   000015b7            lui a1,0x1                                                <== NOT EXECUTED
40007878:   da4ff06f            j   40006e1c <rtems_rfs_format+0xd4>                      <== NOT EXECUTED
  return ((blocks + 1) * 100 * 10) / bits_per_block;                                      
4000787c:   00068793            mv  a5,a3                                                 <== NOT EXECUTED
40007880:   b79ff06f            j   400073f8 <rtems_rfs_format+0x6b0>                     <== NOT EXECUTED
  blocks = ((rtems_rfs_fs_blocks (fs) -                                                   
40007884:   fff50793            addi    a5,a0,-1                                          
    if (config->inode_overhead)                                                           
40007888:   00100813            li  a6,1                                                  
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;                              
4000788c:   030787b3            mul a5,a5,a6                                              
  if (dividend == 0)                                                                      
40007890:   06300513            li  a0,99                                                 
40007894:   00070693            mv  a3,a4                                                 
40007898:   e0f56263            bltu    a0,a5,40006e9c <rtems_rfs_format+0x154>           
4000789c:   e18ff06f            j   40006eb4 <rtems_rfs_format+0x16c>                     
    printf ("rtems-rfs: format: allocated inode not root ino: %" PRId32 "\n", ino);       
400078a0:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400078a4:   12050513            addi    a0,a0,288 # 40022120 <IMFS_node_control_sym_link+0xbc0><== NOT EXECUTED
400078a8:   950fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    rtems_rfs_fs_close (fs);                                                              
400078ac:   01412503            lw  a0,20(sp)                                             <== NOT EXECUTED
    return EINVAL;                                                                        
400078b0:   01600413            li  s0,22                                                 <== NOT EXECUTED
    rtems_rfs_fs_close (fs);                                                              
400078b4:   0ad0f0ef            jal ra,40017160 <rtems_rfs_fs_close>                      <== NOT EXECUTED
    printf ("rtems-rfs: format: writing root dir failed: %d: %s\n",                       
400078b8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
400078bc:   6a8170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400078c0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400078c4:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400078c8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400078cc:   25850513            addi    a0,a0,600 # 40022258 <IMFS_node_control_sym_link+0xcf8><== NOT EXECUTED
400078d0:   928fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    errno = rc;                                                                           
400078d4:   3b4160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
400078d8:   00852023            sw  s0,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
400078dc:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
400078e0:   999ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
    rc = errno;                                                                           
400078e4:   3a4160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
400078e8:   00052403            lw  s0,0(a0)                                              <== NOT EXECUTED
    printf ("rtems-rfs: format: file system open failed: %d: %s\n",                       
400078ec:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
400078f0:   674170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400078f4:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400078f8:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400078fc:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007900:   0b850513            addi    a0,a0,184 # 400220b8 <IMFS_node_control_sym_link+0xb58><== NOT EXECUTED
40007904:   8f4fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (rc != 0)                                                                            
40007908:   960408e3            beqz    s0,40007278 <rtems_rfs_format+0x530>              <== NOT EXECUTED
4000790c:   fadff06f            j   400078b8 <rtems_rfs_format+0xb70>                     <== NOT EXECUTED
    printf ("\n");                                                                        
40007910:   00a00513            li  a0,10                                                 <== NOT EXECUTED
40007914:   301160ef            jal ra,4001e414 <putchar>                                 <== NOT EXECUTED
40007918:   b55ff06f            j   4000746c <rtems_rfs_format+0x724>                     <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4000791c:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40007920:   04c10513            addi    a0,sp,76                                          <== NOT EXECUTED
40007924:   ef1fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    printf ("\nrtems-rfs: write-group: group %3d: close inode" \                          
40007928:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
4000792c:   00010c23            sb  zero,24(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007930:   00012e23            sw  zero,28(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007934:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
40007938:   62c170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4000793c:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40007940:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007944:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40007948:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4000794c:   ff850513            addi    a0,a0,-8 # 40021ff8 <IMFS_node_control_sym_link+0xa98><== NOT EXECUTED
40007950:   8a8fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    return false;                                                                         
40007954:   c55ff06f            j   400075a8 <rtems_rfs_format+0x860>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: inode allocation failed: %d: %s\n",                       
40007958:   60c170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4000795c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007960:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007964:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007968:   0ec50513            addi    a0,a0,236 # 400220ec <IMFS_node_control_sym_link+0xb8c><== NOT EXECUTED
4000796c:   88cfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    rtems_rfs_fs_close (fs);                                                              
40007970:   01412503            lw  a0,20(sp)                                             <== NOT EXECUTED
40007974:   7ec0f0ef            jal ra,40017160 <rtems_rfs_fs_close>                      <== NOT EXECUTED
    return rc;                                                                            
40007978:   f41ff06f            j   400078b8 <rtems_rfs_format+0xb70>                     <== NOT EXECUTED
4000797c:   00100593            li  a1,1                                                  <== NOT EXECUTED
      fs->block_size = 1 << b;                                                            
40007980:   04b12a23            sw  a1,84(sp)                                             <== NOT EXECUTED
40007984:   ed5ff06f            j   40007858 <rtems_rfs_format+0xb10>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: inode open failed: %d: %s\n",                             
40007988:   5dc170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4000798c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007990:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007994:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007998:   15850513            addi    a0,a0,344 # 40022158 <IMFS_node_control_sym_link+0xbf8><== NOT EXECUTED
4000799c:   85cfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    rtems_rfs_group_bitmap_free (fs, true, ino);                                          
400079a0:   01812603            lw  a2,24(sp)                                             <== NOT EXECUTED
400079a4:   01412503            lw  a0,20(sp)                                             <== NOT EXECUTED
400079a8:   00100593            li  a1,1                                                  <== NOT EXECUTED
400079ac:   67c000ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             <== NOT EXECUTED
    rtems_rfs_fs_close (fs);                                                              
400079b0:   01412503            lw  a0,20(sp)                                             <== NOT EXECUTED
400079b4:   7ac0f0ef            jal ra,40017160 <rtems_rfs_fs_close>                      <== NOT EXECUTED
    return rc;                                                                            
400079b8:   f01ff06f            j   400078b8 <rtems_rfs_format+0xb70>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: inode close failed: %d: %s\n",                            
400079bc:   5a8170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400079c0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400079c4:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400079c8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400079cc:   1f050513            addi    a0,a0,496 # 400221f0 <IMFS_node_control_sym_link+0xc90><== NOT EXECUTED
400079d0:   828fa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400079d4:   b61ff06f            j   40007534 <rtems_rfs_format+0x7ec>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: directory add failed: %d: %s\n",                          
400079d8:   58c170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400079dc:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400079e0:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400079e4:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400079e8:   1bc50513            addi    a0,a0,444 # 400221bc <IMFS_node_control_sym_link+0xc5c><== NOT EXECUTED
400079ec:   80cfa0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400079f0:   b31ff06f            j   40007520 <rtems_rfs_format+0x7d8>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: inode initialise failed: %d: %s\n",                       
400079f4:   570170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400079f8:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400079fc:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007a00:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007a04:   18850513            addi    a0,a0,392 # 40022188 <IMFS_node_control_sym_link+0xc28><== NOT EXECUTED
40007a08:   ff1f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40007a0c:   af1ff06f            j   400074fc <rtems_rfs_format+0x7b4>                     <== NOT EXECUTED
    printf ("rtems-rfs: media block is invalid: %" PRIu32 "\n",                           
40007a10:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007a14:   00000593            li  a1,0                                                  <== NOT EXECUTED
40007a18:   ab850513            addi    a0,a0,-1352 # 40021ab8 <IMFS_node_control_sym_link+0x558><== NOT EXECUTED
40007a1c:   fddf90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    errno = EINVAL;                                                                       
40007a20:   268160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40007a24:   01600793            li  a5,22                                                 <== NOT EXECUTED
40007a28:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40007a2c:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
40007a30:   849ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: setting block size failed: %d: %s\n",                     
40007a34:   530170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007a38:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007a3c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007a40:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007a44:   d2450513            addi    a0,a0,-732 # 40021d24 <IMFS_node_control_sym_link+0x7c4><== NOT EXECUTED
40007a48:   fb1f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    errno = rc;                                                                           
40007a4c:   23c160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40007a50:   00852023            sw  s0,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40007a54:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
40007a58:   821ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: buffer close failed: %d: %s\n",                           
40007a5c:   508170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007a60:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007a64:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007a68:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007a6c:   08850513            addi    a0,a0,136 # 40022088 <IMFS_node_control_sym_link+0xb28><== NOT EXECUTED
40007a70:   f89f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    errno = rc;                                                                           
40007a74:   214160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40007a78:   00852023            sw  s0,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40007a7c:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
40007a80:   ff8ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
    printf ("rtems-rfs: format: buffer open failed: %d: %s\n",                            
40007a84:   4e0170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007a88:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007a8c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007a90:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40007a94:   a8850513            addi    a0,a0,-1400 # 40021a88 <IMFS_node_control_sym_link+0x528><== NOT EXECUTED
40007a98:   f61f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    errno = rc;                                                                           
40007a9c:   1ec160ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40007aa0:   00852023            sw  s0,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40007aa4:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
40007aa8:   fd0ff06f            j   40007278 <rtems_rfs_format+0x530>                     <== NOT EXECUTED
                                                                                          

40017160 <rtems_rfs_fs_close>: int rtems_rfs_fs_close (rtems_rfs_file_system* fs) {
40017160:   ff010113            addi    sp,sp,-16                                         
40017164:   00812423            sw  s0,8(sp)                                              
  int group;                                                                              
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                                            
40017168:   00000593            li  a1,0                                                  
{                                                                                         
4001716c:   00050413            mv  s0,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                                            
40017170:   00200513            li  a0,2                                                  
{                                                                                         
40017174:   00112623            sw  ra,12(sp)                                             
40017178:   00912223            sw  s1,4(sp)                                              
4001717c:   01212023            sw  s2,0(sp)                                              
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                                            
40017180:   f8df20ef            jal ra,4000a10c <rtems_rfs_trace>                         
40017184:   06051063            bnez    a0,400171e4 <rtems_rfs_fs_close+0x84>             <== NEVER TAKEN
    printf ("rtems-rfs: close\n");                                                        
                                                                                          
  for (group = 0; group < fs->group_count; group++)                                       
40017188:   02442783            lw  a5,36(s0)                                             
4001718c:   02f05663            blez    a5,400171b8 <rtems_rfs_fs_close+0x58>             <== NEVER TAKEN
40017190:   00000913            li  s2,0                                                  
40017194:   00000493            li  s1,0                                                  
    rtems_rfs_group_close (fs, &fs->groups[group]);                                       
40017198:   02042583            lw  a1,32(s0)                                             
4001719c:   00040513            mv  a0,s0                                                 
  for (group = 0; group < fs->group_count; group++)                                       
400171a0:   00148493            addi    s1,s1,1                                           
    rtems_rfs_group_close (fs, &fs->groups[group]);                                       
400171a4:   012585b3            add a1,a1,s2                                              
400171a8:   b41f00ef            jal ra,40007ce8 <rtems_rfs_group_close>                   
  for (group = 0; group < fs->group_count; group++)                                       
400171ac:   02442783            lw  a5,36(s0)                                             
400171b0:   05090913            addi    s2,s2,80                                          
400171b4:   fef4c2e3            blt s1,a5,40017198 <rtems_rfs_fs_close+0x38>              
                                                                                          
  rtems_rfs_buffer_close (fs);                                                            
400171b8:   00040513            mv  a0,s0                                                 
400171bc:   aa9ef0ef            jal ra,40006c64 <rtems_rfs_buffer_close>                  
                                                                                          
  free (fs);                                                                              
400171c0:   00040513            mv  a0,s0                                                 
400171c4:   bc5ea0ef            jal ra,40001d88 <free>                                    
  return 0;                                                                               
}                                                                                         
400171c8:   00c12083            lw  ra,12(sp)                                             
400171cc:   00812403            lw  s0,8(sp)                                              
400171d0:   00412483            lw  s1,4(sp)                                              
400171d4:   00012903            lw  s2,0(sp)                                              
400171d8:   00000513            li  a0,0                                                  
400171dc:   01010113            addi    sp,sp,16                                          
400171e0:   00008067            ret                                                       
    printf ("rtems-rfs: close\n");                                                        
400171e4:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400171e8:   c8c50513            addi    a0,a0,-884 # 40023c8c <IMFS_LIMITS_AND_OPTIONS+0xeac><== NOT EXECUTED
400171ec:   855ea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
400171f0:   f99ff06f            j   40017188 <rtems_rfs_fs_close+0x28>                    <== NOT EXECUTED
                                                                                          

4001697c <rtems_rfs_fs_open>: rtems_rfs_fs_open (const char* name, void* user, uint32_t flags, uint32_t max_held_buffers, rtems_rfs_file_system** fs) {
4001697c:   fb010113            addi    sp,sp,-80                                         
40016980:   04912223            sw  s1,68(sp)                                             
40016984:   03512a23            sw  s5,52(sp)                                             
40016988:   00050493            mv  s1,a0                                                 
4001698c:   00058a93            mv  s5,a1                                                 
#endif                                                                                    
  rtems_rfs_inode_handle inode;                                                           
  uint16_t               mode;                                                            
  int                    rc;                                                              
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                             
40016990:   00100513            li  a0,1                                                  
40016994:   00000593            li  a1,0                                                  
{                                                                                         
40016998:   05212023            sw  s2,64(sp)                                             
4001699c:   03312e23            sw  s3,60(sp)                                             
400169a0:   03412c23            sw  s4,56(sp)                                             
400169a4:   04112623            sw  ra,76(sp)                                             
400169a8:   04812423            sw  s0,72(sp)                                             
400169ac:   00060993            mv  s3,a2                                                 
400169b0:   00068a13            mv  s4,a3                                                 
400169b4:   00070913            mv  s2,a4                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                             
400169b8:   f54f30ef            jal ra,4000a10c <rtems_rfs_trace>                         
400169bc:   3a051a63            bnez    a0,40016d70 <rtems_rfs_fs_open+0x3f4>             <== NEVER TAKEN
    printf ("rtems-rfs: open: %s\n", name);                                               
                                                                                          
  *fs = malloc (sizeof (rtems_rfs_file_system));                                          
400169c0:   08400513            li  a0,132                                                
400169c4:   cc8eb0ef            jal ra,40001e8c <malloc>                                  
400169c8:   00a92023            sw  a0,0(s2)                                              
400169cc:   00050413            mv  s0,a0                                                 
  if (!*fs)                                                                               
400169d0:   70050c63            beqz    a0,400170e8 <rtems_rfs_fs_open+0x76c>             <== NEVER TAKEN
      printf ("rtems-rfs: open: no memory for file system data\n");                       
    errno = ENOMEM;                                                                       
    return -1;                                                                            
  }                                                                                       
                                                                                          
  memset (*fs, 0, sizeof (rtems_rfs_file_system));                                        
400169d4:   08000613            li  a2,128                                                
400169d8:   00000593            li  a1,0                                                  
400169dc:   00450513            addi    a0,a0,4                                           
400169e0:   159070ef            jal ra,4001e338 <memset>                                  
  return &the_chain->Tail.Node;                                                           
400169e4:   04440313            addi    t1,s0,68                                          
400169e8:   04840e13            addi    t3,s0,72                                          
400169ec:   05440813            addi    a6,s0,84                                          
400169f0:   05840893            addi    a7,s0,88                                          
400169f4:   06440693            addi    a3,s0,100                                         
400169f8:   06840613            addi    a2,s0,104                                         
400169fc:   07440793            addi    a5,s0,116                                         
40016a00:   07840713            addi    a4,s0,120                                         
#endif                                                                                    
                                                                                          
  /*                                                                                      
   * Open the buffer interface.                                                           
   */                                                                                     
  rc = rtems_rfs_buffer_open (name, *fs);                                                 
40016a04:   00040593            mv  a1,s0                                                 
  (*fs)->user = user;                                                                     
40016a08:   09542023            sw  s5,128(s0)                                            
  head->next = tail;                                                                      
40016a0c:   05c42223            sw  t3,68(s0)                                             
  tail->previous = head;                                                                  
40016a10:   04642623            sw  t1,76(s0)                                             
  head->next = tail;                                                                      
40016a14:   05142a23            sw  a7,84(s0)                                             
  tail->previous = head;                                                                  
40016a18:   05042e23            sw  a6,92(s0)                                             
  head->next = tail;                                                                      
40016a1c:   06c42223            sw  a2,100(s0)                                            
  tail->previous = head;                                                                  
40016a20:   06d42623            sw  a3,108(s0)                                            
  head->next = tail;                                                                      
40016a24:   06e42a23            sw  a4,116(s0)                                            
  tail->previous = head;                                                                  
40016a28:   06f42e23            sw  a5,124(s0)                                            
  (*fs)->max_held_buffers = max_held_buffers;                                             
40016a2c:   05442023            sw  s4,64(s0)                                             
  (*fs)->flags = flags;                                                                   
40016a30:   01342023            sw  s3,0(s0)                                              
  rc = rtems_rfs_buffer_open (name, *fs);                                                 
40016a34:   00048513            mv  a0,s1                                                 
40016a38:   df1ef0ef            jal ra,40006828 <rtems_rfs_buffer_open>                   
40016a3c:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40016a40:   58a04a63            bgtz    a0,40016fd4 <rtems_rfs_fs_open+0x658>             <== NEVER TAKEN
              rc, strerror (rc));                                                         
    errno = rc;                                                                           
    return -1;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_fs_read_superblock (*fs);                                                
40016a44:   00092403            lw  s0,0(s2)                                              
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, true);                            
40016a48:   00100693            li  a3,1                                                  
40016a4c:   00000613            li  a2,0                                                  
40016a50:   00810593            addi    a1,sp,8                                           
40016a54:   00040513            mv  a0,s0                                                 
  handle->dirty = false;                                                                  
40016a58:   00010423            sb  zero,8(sp)                                            
  handle->bnum  = 0;                                                                      
40016a5c:   00012623            sw  zero,12(sp)                                           
  handle->buffer = NULL;                                                                  
40016a60:   00012823            sw  zero,16(sp)                                           
40016a64:   b19ef0ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
40016a68:   00050493            mv  s1,a0                                                 
  if (rc > 0)                                                                             
40016a6c:   30a04c63            bgtz    a0,40016d84 <rtems_rfs_fs_open+0x408>             <== NEVER TAKEN
  sb = rtems_rfs_buffer_data (&handle);                                                   
40016a70:   01012783            lw  a5,16(sp)                                             
  if (read_sb (RTEMS_RFS_SB_OFFSET_MAGIC) != RTEMS_RFS_SB_MAGIC)                          
40016a74:   28092737            lui a4,0x28092                                            
40016a78:   00170713            addi    a4,a4,1 # 28092001 <RamSize+0x27092001>           
  sb = rtems_rfs_buffer_data (&handle);                                                   
40016a7c:   01c7a483            lw  s1,28(a5)                                             
  if (read_sb (RTEMS_RFS_SB_OFFSET_MAGIC) != RTEMS_RFS_SB_MAGIC)                          
40016a80:   0004c783            lbu a5,0(s1)                                              
40016a84:   0014c603            lbu a2,1(s1)                                              
40016a88:   0034c583            lbu a1,3(s1)                                              
40016a8c:   0024c683            lbu a3,2(s1)                                              
40016a90:   01879793            slli    a5,a5,0x18                                        
40016a94:   01061613            slli    a2,a2,0x10                                        
40016a98:   00c7e7b3            or  a5,a5,a2                                              
40016a9c:   00b7e7b3            or  a5,a5,a1                                              
40016aa0:   00869693            slli    a3,a3,0x8                                         
40016aa4:   00d7e7b3            or  a5,a5,a3                                              
40016aa8:   44e79a63            bne a5,a4,40016efc <rtems_rfs_fs_open+0x580>              
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);                                  
40016aac:   00c4c683            lbu a3,12(s1)                                             
40016ab0:   00d4c703            lbu a4,13(s1)                                             
40016ab4:   00f4c603            lbu a2,15(s1)                                             
40016ab8:   00e4c783            lbu a5,14(s1)                                             
40016abc:   01071713            slli    a4,a4,0x10                                        
40016ac0:   01869693            slli    a3,a3,0x18                                        
40016ac4:   00e6e6b3            or  a3,a3,a4                                              
40016ac8:   00c6e6b3            or  a3,a3,a2                                              
40016acc:   00879793            slli    a5,a5,0x8                                         
40016ad0:   00f6e6b3            or  a3,a3,a5                                              
40016ad4:   00d42223            sw  a3,4(s0)                                              
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);                              
40016ad8:   0084c783            lbu a5,8(s1)                                              
40016adc:   0094c583            lbu a1,9(s1)                                              
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);                      
40016ae0:   01042503            lw  a0,16(s0)                                             
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);                              
40016ae4:   00b4c803            lbu a6,11(s1)                                             
40016ae8:   00a4c603            lbu a2,10(s1)                                             
40016aec:   01059593            slli    a1,a1,0x10                                        
40016af0:   01879793            slli    a5,a5,0x18                                        
  return media_blocks * media_block_size;                                                 
40016af4:   01c52703            lw  a4,28(a0)                                             
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);                              
40016af8:   00b7e7b3            or  a5,a5,a1                                              
  return media_blocks * media_block_size;                                                 
40016afc:   02052503            lw  a0,32(a0)                                             
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);                              
40016b00:   00861613            slli    a2,a2,0x8                                         
40016b04:   0107e7b3            or  a5,a5,a6                                              
40016b08:   00c7e7b3            or  a5,a5,a2                                              
  return blocks * block_size;                                                             
40016b0c:   02f6b5b3            mulhu   a1,a3,a5                                          
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);                              
40016b10:   00f42423            sw  a5,8(s0)                                              
  return media_blocks * media_block_size;                                                 
40016b14:   02a73633            mulhu   a2,a4,a0                                          
  return blocks * block_size;                                                             
40016b18:   02f686b3            mul a3,a3,a5                                              
  return media_blocks * media_block_size;                                                 
40016b1c:   02a70733            mul a4,a4,a0                                              
  if (rtems_rfs_fs_size(fs) > rtems_rfs_fs_media_size (fs))                               
40016b20:   30b66a63            bltu    a2,a1,40016e34 <rtems_rfs_fs_open+0x4b8>          
40016b24:   30c58663            beq a1,a2,40016e30 <rtems_rfs_fs_open+0x4b4>              
  if (read_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE) != RTEMS_RFS_INODE_SIZE)                   
40016b28:   0244c703            lbu a4,36(s1)                                             
40016b2c:   0254c603            lbu a2,37(s1)                                             
40016b30:   0274c583            lbu a1,39(s1)                                             
40016b34:   0264c683            lbu a3,38(s1)                                             
40016b38:   01871713            slli    a4,a4,0x18                                        
40016b3c:   01061613            slli    a2,a2,0x10                                        
40016b40:   00c76733            or  a4,a4,a2                                              
40016b44:   00869693            slli    a3,a3,0x8                                         
40016b48:   00b76733            or  a4,a4,a1                                              
40016b4c:   00d76733            or  a4,a4,a3                                              
40016b50:   03800693            li  a3,56                                                 
40016b54:   2ad71c63            bne a4,a3,40016e0c <rtems_rfs_fs_open+0x490>              
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);                         
40016b58:   0104c683            lbu a3,16(s1)                                             
40016b5c:   0114c583            lbu a1,17(s1)                                             
40016b60:   0134c503            lbu a0,19(s1)                                             
40016b64:   0124c603            lbu a2,18(s1)                                             
40016b68:   01059593            slli    a1,a1,0x10                                        
40016b6c:   01869693            slli    a3,a3,0x18                                        
40016b70:   00b6e6b3            or  a3,a3,a1                                              
40016b74:   00a6e6b3            or  a3,a3,a0                                              
40016b78:   00861613            slli    a2,a2,0x8                                         
40016b7c:   00c6e6b3            or  a3,a3,a2                                              
40016b80:   00d42c23            sw  a3,24(s0)                                             
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);                    
40016b84:   0144c683            lbu a3,20(s1)                                             
40016b88:   0154c583            lbu a1,21(s1)                                             
40016b8c:   0174c503            lbu a0,23(s1)                                             
40016b90:   0164c603            lbu a2,22(s1)                                             
40016b94:   01059593            slli    a1,a1,0x10                                        
40016b98:   01869693            slli    a3,a3,0x18                                        
40016b9c:   00b6e6b3            or  a3,a3,a1                                              
  fs->inodes_per_block = fs->block_size / RTEMS_RFS_INODE_SIZE;                           
40016ba0:   02e7d733            divu    a4,a5,a4                                          
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);                    
40016ba4:   00a6e6b3            or  a3,a3,a0                                              
40016ba8:   00861613            slli    a2,a2,0x8                                         
40016bac:   00c6e6b3            or  a3,a3,a2                                              
40016bb0:   00d42e23            sw  a3,28(s0)                                             
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);                             
40016bb4:   0184c683            lbu a3,24(s1)                                             
40016bb8:   0194c583            lbu a1,25(s1)                                             
40016bbc:   01b4c503            lbu a0,27(s1)                                             
40016bc0:   01a4c603            lbu a2,26(s1)                                             
40016bc4:   01059593            slli    a1,a1,0x10                                        
40016bc8:   01869693            slli    a3,a3,0x18                                        
40016bcc:   00b6e6b3            or  a3,a3,a1                                              
40016bd0:   00a6e6b3            or  a3,a3,a0                                              
40016bd4:   00861613            slli    a2,a2,0x8                                         
40016bd8:   00c6e6b3            or  a3,a3,a2                                              
40016bdc:   02d42223            sw  a3,36(s0)                                             
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);                       
40016be0:   01c4c603            lbu a2,28(s1)                                             
40016be4:   01d4c503            lbu a0,29(s1)                                             
40016be8:   01f4c803            lbu a6,31(s1)                                             
40016bec:   01e4c583            lbu a1,30(s1)                                             
40016bf0:   01051513            slli    a0,a0,0x10                                        
40016bf4:   01861613            slli    a2,a2,0x18                                        
40016bf8:   00a66633            or  a2,a2,a0                                              
40016bfc:   01066633            or  a2,a2,a6                                              
40016c00:   00859593            slli    a1,a1,0x8                                         
40016c04:   00b66633            or  a2,a2,a1                                              
40016c08:   02c42423            sw  a2,40(s0)                                             
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);                       
40016c0c:   0204c583            lbu a1,32(s1)                                             
40016c10:   0214c883            lbu a7,33(s1)                                             
40016c14:   0234c303            lbu t1,35(s1)                                             
40016c18:   0224c803            lbu a6,34(s1)                                             
40016c1c:   01089893            slli    a7,a7,0x10                                        
40016c20:   01859593            slli    a1,a1,0x18                                        
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);                        
40016c24:   0027d513            srli    a0,a5,0x2                                         
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);                       
40016c28:   0115e5b3            or  a1,a1,a7                                              
40016c2c:   00881813            slli    a6,a6,0x8                                         
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                 
40016c30:   02a508b3            mul a7,a0,a0                                              
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);                       
40016c34:   0065e5b3            or  a1,a1,t1                                              
40016c38:   0105e5b3            or  a1,a1,a6                                              
  fs->inodes_per_block = fs->block_size / RTEMS_RFS_INODE_SIZE;                           
40016c3c:   02e42823            sw  a4,48(s0)                                             
    fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                                        
40016c40:   00251813            slli    a6,a0,0x2                                         
40016c44:   00a80833            add a6,a6,a0                                              
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);                       
40016c48:   02b42623            sw  a1,44(s0)                                             
  fs->blocks_per_block =                                                                  
40016c4c:   02a42a23            sw  a0,52(s0)                                             
  fs->block_map_singly_blocks =                                                           
40016c50:   03042c23            sw  a6,56(s0)                                             
      rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs)))                         
40016c54:   00379793            slli    a5,a5,0x3                                         
  fs->inodes = fs->group_count * fs->group_inodes;                                        
40016c58:   02b686b3            mul a3,a3,a1                                              
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                 
40016c5c:   00289713            slli    a4,a7,0x2                                         
40016c60:   01170733            add a4,a4,a7                                              
  fs->block_map_doubly_blocks =                                                           
40016c64:   02e42e23            sw  a4,60(s0)                                             
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40016c68:   00810593            addi    a1,sp,8                                           
40016c6c:   00040513            mv  a0,s0                                                 
  fs->inodes = fs->group_count * fs->group_inodes;                                        
40016c70:   00d42a23            sw  a3,20(s0)                                             
  if (fs->group_blocks >                                                                  
40016c74:   2ac7e463            bltu    a5,a2,40016f1c <rtems_rfs_fs_open+0x5a0>          
40016c78:   b9def0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
  rc = rtems_rfs_buffer_setblksize (fs, rtems_rfs_fs_block_size (fs));                    
40016c7c:   00842583            lw  a1,8(s0)                                              
40016c80:   00040513            mv  a0,s0                                                 
  handle->dirty = false;                                                                  
40016c84:   00010423            sb  zero,8(sp)                                            
  handle->bnum  = 0;                                                                      
40016c88:   00012623            sw  zero,12(sp)                                           
  handle->buffer = NULL;                                                                  
40016c8c:   00012823            sw  zero,16(sp)                                           
40016c90:   ea9ef0ef            jal ra,40006b38 <rtems_rfs_buffer_setblksize>             
40016c94:   00050493            mv  s1,a0                                                 
  if (rc > 0)                                                                             
40016c98:   10a04e63            bgtz    a0,40016db4 <rtems_rfs_fs_open+0x438>             <== NEVER TAKEN
  fs->groups = calloc (fs->group_count, sizeof (rtems_rfs_group));                        
40016c9c:   02442483            lw  s1,36(s0)                                             
40016ca0:   05000593            li  a1,80                                                 
40016ca4:   00048513            mv  a0,s1                                                 
40016ca8:   8d8fb0ef            jal ra,40011d80 <calloc>                                  
40016cac:   02a42023            sw  a0,32(s0)                                             
40016cb0:   00050713            mv  a4,a0                                                 
  if (!fs->groups)                                                                        
40016cb4:   46050463            beqz    a0,4001711c <rtems_rfs_fs_open+0x7a0>             <== NEVER TAKEN
  for (group = 0; group < fs->group_count; group++)                                       
40016cb8:   00000a13            li  s4,0                                                  
40016cbc:   00000993            li  s3,0                                                  
40016cc0:   00904c63            bgtz    s1,40016cd8 <rtems_rfs_fs_open+0x35c>             <== ALWAYS TAKEN
40016cc4:   1900006f            j   40016e54 <rtems_rfs_fs_open+0x4d8>                    <== NOT EXECUTED
40016cc8:   02442783            lw  a5,36(s0)                                             
40016ccc:   00198993            addi    s3,s3,1                                           
40016cd0:   18f9d263            bge s3,a5,40016e54 <rtems_rfs_fs_open+0x4d8>              
                               &fs->groups[group]);                                       
40016cd4:   02042703            lw  a4,32(s0)                                             <== NOT EXECUTED
                               rtems_rfs_fs_block (fs, group, 0),                         
40016cd8:   02842603            lw  a2,40(s0)                                             
    rc = rtems_rfs_group_open (fs,                                                        
40016cdc:   02c42683            lw  a3,44(s0)                                             
40016ce0:   01470733            add a4,a4,s4                                              
                               rtems_rfs_fs_block (fs, group, 0),                         
40016ce4:   02c985b3            mul a1,s3,a2                                              
    rc = rtems_rfs_group_open (fs,                                                        
40016ce8:   00040513            mv  a0,s0                                                 
  for (group = 0; group < fs->group_count; group++)                                       
40016cec:   050a0a13            addi    s4,s4,80                                          
    rc = rtems_rfs_group_open (fs,                                                        
40016cf0:   00158593            addi    a1,a1,1                                           
40016cf4:   db9f00ef            jal ra,40007aac <rtems_rfs_group_open>                    
40016cf8:   00050493            mv  s1,a0                                                 
    if (rc > 0)                                                                           
40016cfc:   fca056e3            blez    a0,40016cc8 <rtems_rfs_fs_open+0x34c>             <== ALWAYS TAKEN
      for (g = 0; g < group; g++)                                                         
40016d00:   00000a93            li  s5,0                                                  <== NOT EXECUTED
40016d04:   00000a13            li  s4,0                                                  <== NOT EXECUTED
40016d08:   02098063            beqz    s3,40016d28 <rtems_rfs_fs_open+0x3ac>             <== NOT EXECUTED
        rtems_rfs_group_close (fs, &fs->groups[g]);                                       
40016d0c:   02042583            lw  a1,32(s0)                                             <== NOT EXECUTED
40016d10:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
      for (g = 0; g < group; g++)                                                         
40016d14:   001a0a13            addi    s4,s4,1                                           <== NOT EXECUTED
        rtems_rfs_group_close (fs, &fs->groups[g]);                                       
40016d18:   015585b3            add a1,a1,s5                                              <== NOT EXECUTED
40016d1c:   fcdf00ef            jal ra,40007ce8 <rtems_rfs_group_close>                   <== NOT EXECUTED
      for (g = 0; g < group; g++)                                                         
40016d20:   050a8a93            addi    s5,s5,80                                          <== NOT EXECUTED
40016d24:   ff3a14e3            bne s4,s3,40016d0c <rtems_rfs_fs_open+0x390>              <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40016d28:   00810593            addi    a1,sp,8                                           <== NOT EXECUTED
40016d2c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40016d30:   ae5ef0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                         
40016d34:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016d38:   00000593            li  a1,0                                                  <== NOT EXECUTED
  handle->dirty = false;                                                                  
40016d3c:   00010423            sb  zero,8(sp)                                            <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40016d40:   00012623            sw  zero,12(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40016d44:   00012823            sw  zero,16(sp)                                           <== NOT EXECUTED
40016d48:   bc4f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016d4c:   08050863            beqz    a0,40016ddc <rtems_rfs_fs_open+0x460>             <== NOT EXECUTED
        printf ("rtems-rfs: read-superblock: no memory for group table%d: %s\n",          
40016d50:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40016d54:   210080ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40016d58:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40016d5c:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016d60:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40016d64:   b9050513            addi    a0,a0,-1136 # 40023b90 <IMFS_LIMITS_AND_OPTIONS+0xdb0><== NOT EXECUTED
40016d68:   c91ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40016d6c:   0700006f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
    printf ("rtems-rfs: open: %s\n", name);                                               
40016d70:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016d74:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40016d78:   96450513            addi    a0,a0,-1692 # 40023964 <IMFS_LIMITS_AND_OPTIONS+0xb84><== NOT EXECUTED
40016d7c:   c7dea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40016d80:   c41ff06f            j   400169c0 <rtems_rfs_fs_open+0x44>                     <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016d84:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016d88:   00000593            li  a1,0                                                  <== NOT EXECUTED
40016d8c:   b80f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016d90:   04050663            beqz    a0,40016ddc <rtems_rfs_fs_open+0x460>             <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: request failed%d: %s\n",                       
40016d94:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40016d98:   1cc080ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40016d9c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40016da0:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016da4:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40016da8:   9dc50513            addi    a0,a0,-1572 # 400239dc <IMFS_LIMITS_AND_OPTIONS+0xbfc><== NOT EXECUTED
40016dac:   c4dea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40016db0:   02c0006f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40016db4:   00810593            addi    a1,sp,8                                           <== NOT EXECUTED
40016db8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40016dbc:   a59ef0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016dc0:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016dc4:   00000593            li  a1,0                                                  <== NOT EXECUTED
  handle->dirty = false;                                                                  
40016dc8:   00010423            sb  zero,8(sp)                                            <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40016dcc:   00012623            sw  zero,12(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40016dd0:   00012823            sw  zero,16(sp)                                           <== NOT EXECUTED
40016dd4:   b38f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016dd8:   1a051063            bnez    a0,40016f78 <rtems_rfs_fs_open+0x5fc>             <== NOT EXECUTED
  if (rc > 0)                                                                             
  {                                                                                       
    rtems_rfs_buffer_close (*fs);                                                         
40016ddc:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
40016de0:   e85ef0ef            jal ra,40006c64 <rtems_rfs_buffer_close>                  <== NOT EXECUTED
    free (*fs);                                                                           
40016de4:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
40016de8:   fa1ea0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016dec:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016df0:   00000593            li  a1,0                                                  <== NOT EXECUTED
40016df4:   b18f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016df8:   16051063            bnez    a0,40016f58 <rtems_rfs_fs_open+0x5dc>             <== NOT EXECUTED
      printf ("rtems-rfs: open: reading superblock: %d: %s\n",                            
              rc, strerror (rc));                                                         
    errno = rc;                                                                           
40016dfc:   68d060ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40016e00:   00952023            sw  s1,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40016e04:   fff00513            li  a0,-1                                                 <== NOT EXECUTED
40016e08:   0d00006f            j   40016ed8 <rtems_rfs_fs_open+0x55c>                    <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016e0c:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016e10:   00000593            li  a1,0                                                  <== NOT EXECUTED
40016e14:   af8f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016e18:   18051063            bnez    a0,40016f98 <rtems_rfs_fs_open+0x61c>             <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40016e1c:   00810593            addi    a1,sp,8                                           <== NOT EXECUTED
40016e20:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40016e24:   9f1ef0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    return EIO;                                                                           
40016e28:   00500493            li  s1,5                                                  <== NOT EXECUTED
40016e2c:   fb1ff06f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
  if (rtems_rfs_fs_size(fs) > rtems_rfs_fs_media_size (fs))                               
40016e30:   ced77ce3            bgeu    a4,a3,40016b28 <rtems_rfs_fs_open+0x1ac>          
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016e34:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016e38:   00000593            li  a1,0                                                  <== NOT EXECUTED
40016e3c:   ad0f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016e40:   fc050ee3            beqz    a0,40016e1c <rtems_rfs_fs_open+0x4a0>             <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: invalid superblock block/size count\n");       
40016e44:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016e48:   a4c50513            addi    a0,a0,-1460 # 40023a4c <IMFS_LIMITS_AND_OPTIONS+0xc6c><== NOT EXECUTED
40016e4c:   bf5ea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
40016e50:   fcdff06f            j   40016e1c <rtems_rfs_fs_open+0x4a0>                    <== NOT EXECUTED
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_open (*fs, RTEMS_RFS_ROOT_INO, &inode, true);                      
40016e54:   00092503            lw  a0,0(s2)                                              
40016e58:   00100693            li  a3,1                                                  
40016e5c:   00810613            addi    a2,sp,8                                           
40016e60:   00100593            li  a1,1                                                  
40016e64:   c1cf10ef            jal ra,40008280 <rtems_rfs_inode_open>                    
40016e68:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40016e6c:   1ca04663            bgtz    a0,40017038 <rtems_rfs_fs_open+0x6bc>             <== NEVER TAKEN
              rc, strerror (rc));                                                         
    errno = rc;                                                                           
    return -1;                                                                            
  }                                                                                       
                                                                                          
  if (((*fs)->flags & RTEMS_RFS_FS_FORCE_OPEN) == 0)                                      
40016e70:   00092503            lw  a0,0(s2)                                              
40016e74:   00052783            lw  a5,0(a0)                                              
40016e78:   0047f793            andi    a5,a5,4                                           
40016e7c:   04079463            bnez    a5,40016ec4 <rtems_rfs_fs_open+0x548>             
  return rtems_rfs_read_u16 (&handle->node->mode);                                        
40016e80:   01412703            lw  a4,20(sp)                                             
  {                                                                                       
    mode = rtems_rfs_inode_get_mode (&inode);                                             
                                                                                          
    if ((mode == 0xffff) || !RTEMS_RFS_S_ISDIR (mode))                                    
40016e84:   000106b7            lui a3,0x10                                               
40016e88:   fff68693            addi    a3,a3,-1 # ffff <bsp_section_bss_size+0xaa4f>     
40016e8c:   00374783            lbu a5,3(a4)                                              
40016e90:   00274703            lbu a4,2(a4)                                              
40016e94:   00879793            slli    a5,a5,0x8                                         
40016e98:   00e7e7b3            or  a5,a5,a4                                              
40016e9c:   00879713            slli    a4,a5,0x8                                         
40016ea0:   0087d793            srli    a5,a5,0x8                                         
40016ea4:   00f767b3            or  a5,a4,a5                                              
40016ea8:   01079793            slli    a5,a5,0x10                                        
40016eac:   0107d793            srli    a5,a5,0x10                                        
40016eb0:   14d78663            beq a5,a3,40016ffc <rtems_rfs_fs_open+0x680>              
40016eb4:   fffff737            lui a4,0xfffff                                            
40016eb8:   00e7f7b3            and a5,a5,a4                                              
40016ebc:   00004737            lui a4,0x4                                                
40016ec0:   12e79e63            bne a5,a4,40016ffc <rtems_rfs_fs_open+0x680>              
      errno = EIO;                                                                        
      return -1;                                                                          
    }                                                                                     
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_close (*fs, &inode);                                               
40016ec4:   00810593            addi    a1,sp,8                                           
40016ec8:   de4f10ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40016ecc:   00050413            mv  s0,a0                                                 
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));        
    errno = rc;                                                                           
    return -1;                                                                            
  }                                                                                       
                                                                                          
  return 0;                                                                               
40016ed0:   00000513            li  a0,0                                                  
  if (rc > 0)                                                                             
40016ed4:   1a804263            bgtz    s0,40017078 <rtems_rfs_fs_open+0x6fc>             <== NEVER TAKEN
}                                                                                         
40016ed8:   04c12083            lw  ra,76(sp)                                             
40016edc:   04812403            lw  s0,72(sp)                                             
40016ee0:   04412483            lw  s1,68(sp)                                             
40016ee4:   04012903            lw  s2,64(sp)                                             
40016ee8:   03c12983            lw  s3,60(sp)                                             
40016eec:   03812a03            lw  s4,56(sp)                                             
40016ef0:   03412a83            lw  s5,52(sp)                                             
40016ef4:   05010113            addi    sp,sp,80                                          
40016ef8:   00008067            ret                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016efc:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016f00:   00000593            li  a1,0                                                  <== NOT EXECUTED
40016f04:   a08f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016f08:   f0050ae3            beqz    a0,40016e1c <rtems_rfs_fs_open+0x4a0>             <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: invalid superblock, bad magic\n");             
40016f0c:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016f10:   a1050513            addi    a0,a0,-1520 # 40023a10 <IMFS_LIMITS_AND_OPTIONS+0xc30><== NOT EXECUTED
40016f14:   b2dea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
40016f18:   f05ff06f            j   40016e1c <rtems_rfs_fs_open+0x4a0>                    <== NOT EXECUTED
40016f1c:   8f9ef0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016f20:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016f24:   00000593            li  a1,0                                                  <== NOT EXECUTED
  handle->dirty = false;                                                                  
40016f28:   00010423            sb  zero,8(sp)                                            <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40016f2c:   00012623            sw  zero,12(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40016f30:   00012823            sw  zero,16(sp)                                           <== NOT EXECUTED
40016f34:   9d8f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016f38:   00051663            bnez    a0,40016f44 <rtems_rfs_fs_open+0x5c8>             <== NOT EXECUTED
    return EIO;                                                                           
40016f3c:   00500493            li  s1,5                                                  <== NOT EXECUTED
40016f40:   e9dff06f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: groups blocks larger than block bits\n");      
40016f44:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016f48:   ad050513            addi    a0,a0,-1328 # 40023ad0 <IMFS_LIMITS_AND_OPTIONS+0xcf0><== NOT EXECUTED
40016f4c:   af5ea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
    return EIO;                                                                           
40016f50:   00500493            li  s1,5                                                  <== NOT EXECUTED
40016f54:   e89ff06f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
      printf ("rtems-rfs: open: reading superblock: %d: %s\n",                            
40016f58:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40016f5c:   008080ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40016f60:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40016f64:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016f68:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40016f6c:   bd050513            addi    a0,a0,-1072 # 40023bd0 <IMFS_LIMITS_AND_OPTIONS+0xdf0><== NOT EXECUTED
40016f70:   a89ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40016f74:   e89ff06f            j   40016dfc <rtems_rfs_fs_open+0x480>                    <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: invalid superblock block size%d: %s\n",        
40016f78:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40016f7c:   7e9070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40016f80:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40016f84:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016f88:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40016f8c:   b1450513            addi    a0,a0,-1260 # 40023b14 <IMFS_LIMITS_AND_OPTIONS+0xd34><== NOT EXECUTED
40016f90:   a69ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40016f94:   e49ff06f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);             
40016f98:   0044c783            lbu a5,4(s1)                                              <== NOT EXECUTED
40016f9c:   0054c703            lbu a4,5(s1)                                              <== NOT EXECUTED
40016fa0:   0074c683            lbu a3,7(s1)                                              <== NOT EXECUTED
40016fa4:   0064c583            lbu a1,6(s1)                                              <== NOT EXECUTED
40016fa8:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
40016fac:   01879793            slli    a5,a5,0x18                                        <== NOT EXECUTED
40016fb0:   00e7e7b3            or  a5,a5,a4                                              <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
40016fb4:   00d7e7b3            or  a5,a5,a3                                              <== NOT EXECUTED
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);             
40016fb8:   00859593            slli    a1,a1,0x8                                         <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
40016fbc:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40016fc0:   00000613            li  a2,0                                                  <== NOT EXECUTED
40016fc4:   00b7e5b3            or  a1,a5,a1                                              <== NOT EXECUTED
40016fc8:   a8c50513            addi    a0,a0,-1396 # 40023a8c <IMFS_LIMITS_AND_OPTIONS+0xcac><== NOT EXECUTED
40016fcc:   a2dea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40016fd0:   e4dff06f            j   40016e1c <rtems_rfs_fs_open+0x4a0>                    <== NOT EXECUTED
    free (*fs);                                                                           
40016fd4:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
40016fd8:   db1ea0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40016fdc:   00100513            li  a0,1                                                  <== NOT EXECUTED
40016fe0:   00000593            li  a1,0                                                  <== NOT EXECUTED
40016fe4:   928f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40016fe8:   0c051863            bnez    a0,400170b8 <rtems_rfs_fs_open+0x73c>             <== NOT EXECUTED
    errno = rc;                                                                           
40016fec:   49d060ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40016ff0:   00852023            sw  s0,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40016ff4:   fff00513            li  a0,-1                                                 <== NOT EXECUTED
40016ff8:   ee1ff06f            j   40016ed8 <rtems_rfs_fs_open+0x55c>                    <== NOT EXECUTED
      rtems_rfs_inode_close (*fs, &inode);                                                
40016ffc:   00810593            addi    a1,sp,8                                           <== NOT EXECUTED
40017000:   cacf10ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
      rtems_rfs_buffer_close (*fs);                                                       
40017004:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
40017008:   c5def0ef            jal ra,40006c64 <rtems_rfs_buffer_close>                  <== NOT EXECUTED
      free (*fs);                                                                         
4001700c:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
40017010:   d79ea0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                         
40017014:   00100513            li  a0,1                                                  <== NOT EXECUTED
40017018:   00000593            li  a1,0                                                  <== NOT EXECUTED
4001701c:   8f0f30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40017020:   0a051c63            bnez    a0,400170d8 <rtems_rfs_fs_open+0x75c>             <== NOT EXECUTED
      errno = EIO;                                                                        
40017024:   465060ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40017028:   00500793            li  a5,5                                                  <== NOT EXECUTED
4001702c:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
      return -1;                                                                          
40017030:   fff00513            li  a0,-1                                                 <== NOT EXECUTED
40017034:   ea5ff06f            j   40016ed8 <rtems_rfs_fs_open+0x55c>                    <== NOT EXECUTED
    rtems_rfs_buffer_close (*fs);                                                         
40017038:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
4001703c:   c29ef0ef            jal ra,40006c64 <rtems_rfs_buffer_close>                  <== NOT EXECUTED
    free (*fs);                                                                           
40017040:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
40017044:   d45ea0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40017048:   00100513            li  a0,1                                                  <== NOT EXECUTED
4001704c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40017050:   8bcf30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40017054:   f8050ce3            beqz    a0,40016fec <rtems_rfs_fs_open+0x670>             <== NOT EXECUTED
      printf ("rtems-rfs: open: reading root inode: %d: %s\n",                            
40017058:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4001705c:   709070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40017060:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40017064:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017068:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4001706c:   c0050513            addi    a0,a0,-1024 # 40023c00 <IMFS_LIMITS_AND_OPTIONS+0xe20><== NOT EXECUTED
40017070:   989ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40017074:   f79ff06f            j   40016fec <rtems_rfs_fs_open+0x670>                    <== NOT EXECUTED
    rtems_rfs_buffer_close (*fs);                                                         
40017078:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
4001707c:   be9ef0ef            jal ra,40006c64 <rtems_rfs_buffer_close>                  <== NOT EXECUTED
    free (*fs);                                                                           
40017080:   00092503            lw  a0,0(s2)                                              <== NOT EXECUTED
40017084:   d05ea0ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40017088:   00100513            li  a0,1                                                  <== NOT EXECUTED
4001708c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40017090:   87cf30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40017094:   f4050ce3            beqz    a0,40016fec <rtems_rfs_fs_open+0x670>             <== NOT EXECUTED
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));        
40017098:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4001709c:   6c9070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400170a0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400170a4:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400170a8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400170ac:   c5c50513            addi    a0,a0,-932 # 40023c5c <IMFS_LIMITS_AND_OPTIONS+0xe7c><== NOT EXECUTED
400170b0:   949ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400170b4:   f39ff06f            j   40016fec <rtems_rfs_fs_open+0x670>                    <== NOT EXECUTED
      printf ("rtems-rfs: open: buffer open failed: %d: %s\n",                            
400170b8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
400170bc:   6a9070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400170c0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400170c4:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400170c8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400170cc:   9ac50513            addi    a0,a0,-1620 # 400239ac <IMFS_LIMITS_AND_OPTIONS+0xbcc><== NOT EXECUTED
400170d0:   929ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400170d4:   f19ff06f            j   40016fec <rtems_rfs_fs_open+0x670>                    <== NOT EXECUTED
        printf ("rtems-rfs: open: invalid root inode mode\n");                            
400170d8:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400170dc:   c3050513            addi    a0,a0,-976 # 40023c30 <IMFS_LIMITS_AND_OPTIONS+0xe50><== NOT EXECUTED
400170e0:   961ea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
400170e4:   f41ff06f            j   40017024 <rtems_rfs_fs_open+0x6a8>                    <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
400170e8:   00100513            li  a0,1                                                  <== NOT EXECUTED
400170ec:   00000593            li  a1,0                                                  <== NOT EXECUTED
400170f0:   81cf30ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400170f4:   00051c63            bnez    a0,4001710c <rtems_rfs_fs_open+0x790>             <== NOT EXECUTED
    errno = ENOMEM;                                                                       
400170f8:   391060ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
400170fc:   00c00793            li  a5,12                                                 <== NOT EXECUTED
40017100:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
    return -1;                                                                            
40017104:   fff00513            li  a0,-1                                                 <== NOT EXECUTED
40017108:   dd1ff06f            j   40016ed8 <rtems_rfs_fs_open+0x55c>                    <== NOT EXECUTED
      printf ("rtems-rfs: open: no memory for file system data\n");                       
4001710c:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017110:   97c50513            addi    a0,a0,-1668 # 4002397c <IMFS_LIMITS_AND_OPTIONS+0xb9c><== NOT EXECUTED
40017114:   92dea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
40017118:   fe1ff06f            j   400170f8 <rtems_rfs_fs_open+0x77c>                    <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
4001711c:   00810593            addi    a1,sp,8                                           <== NOT EXECUTED
40017120:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40017124:   ef0ef0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                                           
40017128:   00100513            li  a0,1                                                  <== NOT EXECUTED
4001712c:   00000593            li  a1,0                                                  <== NOT EXECUTED
  handle->dirty = false;                                                                  
40017130:   00010423            sb  zero,8(sp)                                            <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40017134:   00012623            sw  zero,12(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40017138:   00012823            sw  zero,16(sp)                                           <== NOT EXECUTED
4001713c:   fd1f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40017140:   00051663            bnez    a0,4001714c <rtems_rfs_fs_open+0x7d0>             <== NOT EXECUTED
    return ENOMEM;                                                                        
40017144:   00c00493            li  s1,12                                                 <== NOT EXECUTED
40017148:   c95ff06f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: no memory for group table\n");                 
4001714c:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017150:   b5850513            addi    a0,a0,-1192 # 40023b58 <IMFS_LIMITS_AND_OPTIONS+0xd78><== NOT EXECUTED
40017154:   8edea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
    return ENOMEM;                                                                        
40017158:   00c00493            li  s1,12                                                 <== NOT EXECUTED
4001715c:   c81ff06f            j   40016ddc <rtems_rfs_fs_open+0x460>                    <== NOT EXECUTED
                                                                                          

40016950 <rtems_rfs_fs_size>: uint64_t rtems_rfs_fs_size (rtems_rfs_file_system* fs) { uint64_t blocks = rtems_rfs_fs_blocks (fs); uint64_t block_size = rtems_rfs_fs_block_size (fs); return blocks * block_size;
40016950:   00452703            lw  a4,4(a0)                                              <== NOT EXECUTED
40016954:   00852503            lw  a0,8(a0)                                              <== NOT EXECUTED
40016958:   02a735b3            mulhu   a1,a4,a0                                          <== NOT EXECUTED
}                                                                                         
4001695c:   02a70533            mul a0,a4,a0                                              <== NOT EXECUTED
40016960:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

40007da4 <rtems_rfs_group_bitmap_alloc>: int rtems_rfs_group_bitmap_alloc (rtems_rfs_file_system* fs, rtems_rfs_bitmap_bit goal, bool inode, rtems_rfs_bitmap_bit* result) {
40007da4:   fa010113            addi    sp,sp,-96                                         
40007da8:   04912a23            sw  s1,84(sp)                                             
40007dac:   05412423            sw  s4,72(sp)                                             
40007db0:   04112e23            sw  ra,92(sp)                                             
40007db4:   04812c23            sw  s0,88(sp)                                             
40007db8:   05212823            sw  s2,80(sp)                                             
40007dbc:   05312623            sw  s3,76(sp)                                             
40007dc0:   05512223            sw  s5,68(sp)                                             
40007dc4:   05612023            sw  s6,64(sp)                                             
40007dc8:   03712e23            sw  s7,60(sp)                                             
40007dcc:   03812c23            sw  s8,56(sp)                                             
40007dd0:   03912a23            sw  s9,52(sp)                                             
40007dd4:   03a12823            sw  s10,48(sp)                                            
40007dd8:   03b12623            sw  s11,44(sp)                                            
40007ddc:   00d12623            sw  a3,12(sp)                                             
40007de0:   00060a13            mv  s4,a2                                                 
40007de4:   00050493            mv  s1,a0                                                 
  rtems_rfs_bitmap_bit bit;                                                               
  int                  offset;                                                            
  bool                 updown;                                                            
  int                  direction;                                                         
                                                                                          
  if (inode)                                                                              
40007de8:   12060463            beqz    a2,40007f10 <rtems_rfs_group_bitmap_alloc+0x16c>  
  {                                                                                       
    size = fs->group_inodes;                                                              
40007dec:   02c52783            lw  a5,44(a0)                                             
    goal -= RTEMS_RFS_ROOT_INO;                                                           
40007df0:   fff58593            addi    a1,a1,-1 # fff <bsp_section_data_size+0xac3>      
     */                                                                                   
    if (goal >= RTEMS_RFS_ROOT_INO)                                                       
        goal -= RTEMS_RFS_ROOT_INO;                                                       
  }                                                                                       
                                                                                          
  group_start = goal / size;                                                              
40007df4:   02f5d9b3            divu    s3,a1,a5                                          
   */                                                                                     
  while (true)                                                                            
  {                                                                                       
    rtems_rfs_bitmap_control* bitmap;                                                     
    int                       group;                                                      
    bool                      allocated = false;                                          
40007df8:   00010da3            sb  zero,27(sp)                                           
  direction = 1;                                                                          
40007dfc:   00100c93            li  s9,1                                                  
  updown = true;                                                                          
40007e00:   00100c13            li  s8,1                                                  
    bool                      allocated = false;                                          
40007e04:   00000913            li  s2,0                                                  
     * Otherwise we are marching through the groups, so just                              
     * increment the offset.                                                              
     */                                                                                   
    if (updown)                                                                           
    {                                                                                     
      direction = direction > 0 ? -1 : 1;                                                 
40007e08:   00100d13            li  s10,1                                                 
      bit = direction > 0 ? 0 : size - 1;                                                 
40007e0c:   fff78b93            addi    s7,a5,-1 # fff <bsp_section_data_size+0xac3>      
  bit = (rtems_rfs_bitmap_bit) (goal % size);                                             
40007e10:   02f5f5b3            remu    a1,a1,a5                                          
    group = group_start + (direction * offset);                                           
40007e14:   00098413            mv  s0,s3                                                 
  bit = (rtems_rfs_bitmap_bit) (goal % size);                                             
40007e18:   00b12e23            sw  a1,28(sp)                                             
    group = group_start + (direction * offset);                                           
40007e1c:   01298db3            add s11,s3,s2                                             
    if ((group < 0) || (group >= fs->group_count))                                        
40007e20:   06044e63            bltz    s0,40007e9c <rtems_rfs_group_bitmap_alloc+0xf8>   
40007e24:   0244a783            lw  a5,36(s1)                                             
40007e28:   06f45a63            bge s0,a5,40007e9c <rtems_rfs_group_bitmap_alloc+0xf8>    
      bitmap = &fs->groups[group].inode_bitmap;                                           
40007e2c:   0204a783            lw  a5,32(s1)                                             
40007e30:   00241b13            slli    s6,s0,0x2                                         
40007e34:   008b0b33            add s6,s6,s0                                              
40007e38:   004b1b13            slli    s6,s6,0x4                                         
40007e3c:   016787b3            add a5,a5,s6                                              
      bitmap = &fs->groups[group].block_bitmap;                                           
40007e40:   00878a93            addi    s5,a5,8                                           
   if (inode)                                                                             
40007e44:   0c0a1e63            bnez    s4,40007f20 <rtems_rfs_group_bitmap_alloc+0x17c>  
    rc = rtems_rfs_bitmap_map_alloc (bitmap, bit, &allocated, &bit);                      
40007e48:   01c12583            lw  a1,28(sp)                                             
40007e4c:   01c10693            addi    a3,sp,28                                          
40007e50:   01b10613            addi    a2,sp,27                                          
40007e54:   000a8513            mv  a0,s5                                                 
40007e58:   880fe0ef            jal ra,40005ed8 <rtems_rfs_bitmap_map_alloc>              
    if (rc > 0)                                                                           
40007e5c:   06a04c63            bgtz    a0,40007ed4 <rtems_rfs_group_bitmap_alloc+0x130>  <== NEVER TAKEN
    if (rtems_rfs_fs_release_bitmaps (fs))                                                
40007e60:   0004a783            lw  a5,0(s1)                                              
40007e64:   0017f793            andi    a5,a5,1                                           
40007e68:   10078863            beqz    a5,40007f78 <rtems_rfs_group_bitmap_alloc+0x1d4>  <== ALWAYS TAKEN
    if (allocated)                                                                        
40007e6c:   01b14783            lbu a5,27(sp)                                             
40007e70:   12079863            bnez    a5,40007fa0 <rtems_rfs_group_bitmap_alloc+0x1fc>  
    if (updown)                                                                           
40007e74:   0a0c0a63            beqz    s8,40007f28 <rtems_rfs_group_bitmap_alloc+0x184>  <== NEVER TAKEN
      direction = direction > 0 ? -1 : 1;                                                 
40007e78:   11ac9863            bne s9,s10,40007f88 <rtems_rfs_group_bitmap_alloc+0x1e4>  
      if ( direction == -1 )                                                              
        offset++;                                                                         
40007e7c:   00190913            addi    s2,s2,1                                           
    bool                      allocated = false;                                          
40007e80:   00010da3            sb  zero,27(sp)                                           
    group = group_start + (direction * offset);                                           
40007e84:   41298433            sub s0,s3,s2                                              
      direction = direction > 0 ? -1 : 1;                                                 
40007e88:   fff00c93            li  s9,-1                                                 
      bit = direction > 0 ? 0 : size - 1;                                                 
40007e8c:   000b8793            mv  a5,s7                                                 
40007e90:   00f12e23            sw  a5,28(sp)                                             
    group = group_start + (direction * offset);                                           
40007e94:   01298db3            add s11,s3,s2                                             
40007e98:   f89ff06f            j   40007e20 <rtems_rfs_group_bitmap_alloc+0x7c>          
      if (!updown)                                                                        
40007e9c:   020c0263            beqz    s8,40007ec0 <rtems_rfs_group_bitmap_alloc+0x11c>  
    bool                      allocated = false;                                          
40007ea0:   00010da3            sb  zero,27(sp)                                           
      direction = direction > 0 ? -1 : 1;                                                 
40007ea4:   0bac9c63            bne s9,s10,40007f5c <rtems_rfs_group_bitmap_alloc+0x1b8>  
    group = group_start + (direction * offset);                                           
40007ea8:   41298433            sub s0,s3,s2                                              <== NOT EXECUTED
      direction = direction > 0 ? -1 : 1;                                                 
40007eac:   fff00c93            li  s9,-1                                                 <== NOT EXECUTED
    if (offset)                                                                           
40007eb0:   00000c13            li  s8,0                                                  <== NOT EXECUTED
40007eb4:   f60904e3            beqz    s2,40007e1c <rtems_rfs_group_bitmap_alloc+0x78>   <== NOT EXECUTED
      bit = direction > 0 ? 0 : size - 1;                                                 
40007eb8:   000b8793            mv  a5,s7                                                 <== NOT EXECUTED
40007ebc:   fd5ff06f            j   40007e90 <rtems_rfs_group_bitmap_alloc+0xec>          <== NOT EXECUTED
       offset++;                                                                          
    }                                                                                     
                                                                                          
  }                                                                                       
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                    
40007ec0:   00020537            lui a0,0x20                                               
40007ec4:   00000593            li  a1,0                                                  
40007ec8:   244020ef            jal ra,4000a10c <rtems_rfs_trace>                         
40007ecc:   06051e63            bnez    a0,40007f48 <rtems_rfs_group_bitmap_alloc+0x1a4>  <== NEVER TAKEN
    printf ("rtems-rfs: group-bitmap-alloc: no blocks available\n");                      
                                                                                          
  return ENOSPC;                                                                          
40007ed0:   01c00513            li  a0,28                                                 
}                                                                                         
40007ed4:   05c12083            lw  ra,92(sp)                                             
40007ed8:   05812403            lw  s0,88(sp)                                             
40007edc:   05412483            lw  s1,84(sp)                                             
40007ee0:   05012903            lw  s2,80(sp)                                             
40007ee4:   04c12983            lw  s3,76(sp)                                             
40007ee8:   04812a03            lw  s4,72(sp)                                             
40007eec:   04412a83            lw  s5,68(sp)                                             
40007ef0:   04012b03            lw  s6,64(sp)                                             
40007ef4:   03c12b83            lw  s7,60(sp)                                             
40007ef8:   03812c03            lw  s8,56(sp)                                             
40007efc:   03412c83            lw  s9,52(sp)                                             
40007f00:   03012d03            lw  s10,48(sp)                                            
40007f04:   02c12d83            lw  s11,44(sp)                                            
40007f08:   06010113            addi    sp,sp,96                                          
40007f0c:   00008067            ret                                                       
        goal -= RTEMS_RFS_ROOT_INO;                                                       
40007f10:   00b02733            sgtz    a4,a1                                             
    size = fs->group_blocks;                                                              
40007f14:   02852783            lw  a5,40(a0) # 20028 <bsp_section_bss_size+0x1aa78>      
        goal -= RTEMS_RFS_ROOT_INO;                                                       
40007f18:   40e585b3            sub a1,a1,a4                                              
40007f1c:   ed9ff06f            j   40007df4 <rtems_rfs_group_bitmap_alloc+0x50>          
      bitmap = &fs->groups[group].inode_bitmap;                                           
40007f20:   02c78a93            addi    s5,a5,44                                          
40007f24:   f25ff06f            j   40007e48 <rtems_rfs_group_bitmap_alloc+0xa4>          
       offset++;                                                                          
40007f28:   00190913            addi    s2,s2,1                                           <== NOT EXECUTED
    group = group_start + (direction * offset);                                           
40007f2c:   03990433            mul s0,s2,s9                                              <== NOT EXECUTED
    bool                      allocated = false;                                          
40007f30:   00010da3            sb  zero,27(sp)                                           <== NOT EXECUTED
    group = group_start + (direction * offset);                                           
40007f34:   01340433            add s0,s0,s3                                              <== NOT EXECUTED
      bit = direction > 0 ? 0 : size - 1;                                                 
40007f38:   f5ac9ae3            bne s9,s10,40007e8c <rtems_rfs_group_bitmap_alloc+0xe8>   <== NOT EXECUTED
40007f3c:   00000793            li  a5,0                                                  <== NOT EXECUTED
40007f40:   00f12e23            sw  a5,28(sp)                                             <== NOT EXECUTED
40007f44:   f51ff06f            j   40007e94 <rtems_rfs_group_bitmap_alloc+0xf0>          <== NOT EXECUTED
    printf ("rtems-rfs: group-bitmap-alloc: no blocks available\n");                      
40007f48:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007f4c:   3e450513            addi    a0,a0,996 # 400223e4 <IMFS_node_control_sym_link+0xe84><== NOT EXECUTED
40007f50:   af1f90ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
  return ENOSPC;                                                                          
40007f54:   01c00513            li  a0,28                                                 <== NOT EXECUTED
40007f58:   f7dff06f            j   40007ed4 <rtems_rfs_group_bitmap_alloc+0x130>         <== NOT EXECUTED
    group = group_start + (direction * offset);                                           
40007f5c:   01298433            add s0,s3,s2                                              
    if (offset)                                                                           
40007f60:   00100c93            li  s9,1                                                  
40007f64:   00000c13            li  s8,0                                                  
      bit = direction > 0 ? 0 : size - 1;                                                 
40007f68:   00000793            li  a5,0                                                  
    if (offset)                                                                           
40007f6c:   ea0908e3            beqz    s2,40007e1c <rtems_rfs_group_bitmap_alloc+0x78>   <== NEVER TAKEN
      bit = direction > 0 ? 0 : size - 1;                                                 
40007f70:   00f12e23            sw  a5,28(sp)                                             
40007f74:   f21ff06f            j   40007e94 <rtems_rfs_group_bitmap_alloc+0xf0>          
      rtems_rfs_bitmap_release_buffer (fs, bitmap);                                       
40007f78:   000aa583            lw  a1,0(s5)                                              
40007f7c:   00048513            mv  a0,s1                                                 
40007f80:   895fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
40007f84:   ee9ff06f            j   40007e6c <rtems_rfs_group_bitmap_alloc+0xc8>          
    bool                      allocated = false;                                          
40007f88:   00010da3            sb  zero,27(sp)                                           <== NOT EXECUTED
    group = group_start + (direction * offset);                                           
40007f8c:   000d8413            mv  s0,s11                                                <== NOT EXECUTED
    if (offset)                                                                           
40007f90:   00100c93            li  s9,1                                                  <== NOT EXECUTED
40007f94:   e80906e3            beqz    s2,40007e20 <rtems_rfs_group_bitmap_alloc+0x7c>   <== NOT EXECUTED
      bit = direction > 0 ? 0 : size - 1;                                                 
40007f98:   00000793            li  a5,0                                                  <== NOT EXECUTED
40007f9c:   fa5ff06f            j   40007f40 <rtems_rfs_group_bitmap_alloc+0x19c>         <== NOT EXECUTED
        *result = rtems_rfs_group_inode (fs, group, bit);                                 
40007fa0:   01c12783            lw  a5,28(sp)                                             
      if (inode)                                                                          
40007fa4:   040a0863            beqz    s4,40007ff4 <rtems_rfs_group_bitmap_alloc+0x250>  
        *result = rtems_rfs_group_inode (fs, group, bit);                                 
40007fa8:   02c4a683            lw  a3,44(s1)                                             
40007fac:   00178713            addi    a4,a5,1                                           
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                
40007fb0:   00020537            lui a0,0x20                                               
        *result = rtems_rfs_group_inode (fs, group, bit);                                 
40007fb4:   02d407b3            mul a5,s0,a3                                              
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                
40007fb8:   00000593            li  a1,0                                                  
        *result = rtems_rfs_group_inode (fs, group, bit);                                 
40007fbc:   00e787b3            add a5,a5,a4                                              
40007fc0:   00c12703            lw  a4,12(sp)                                             
40007fc4:   00f72023            sw  a5,0(a4)                                              
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                
40007fc8:   144020ef            jal ra,4000a10c <rtems_rfs_trace>                         
40007fcc:   02050063            beqz    a0,40007fec <rtems_rfs_group_bitmap_alloc+0x248>  <== ALWAYS TAKEN
        printf ("rtems-rfs: group-bitmap-alloc: %s allocated: %" PRId32 "\n",             
40007fd0:   400225b7            lui a1,0x40022                                            <== NOT EXECUTED
40007fd4:   3a058593            addi    a1,a1,928 # 400223a0 <IMFS_node_control_sym_link+0xe40><== NOT EXECUTED
40007fd8:   00c12783            lw  a5,12(sp)                                             <== NOT EXECUTED
40007fdc:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007fe0:   3b050513            addi    a0,a0,944 # 400223b0 <IMFS_node_control_sym_link+0xe50><== NOT EXECUTED
40007fe4:   0007a603            lw  a2,0(a5)                                              <== NOT EXECUTED
40007fe8:   a11f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
      return 0;                                                                           
40007fec:   00000513            li  a0,0                                                  
40007ff0:   ee5ff06f            j   40007ed4 <rtems_rfs_group_bitmap_alloc+0x130>         
        *result = rtems_rfs_group_block (&fs->groups[group], bit);                        
40007ff4:   0204a703            lw  a4,32(s1)                                             
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                
40007ff8:   00020537            lui a0,0x20                                               
40007ffc:   00000593            li  a1,0                                                  
        *result = rtems_rfs_group_block (&fs->groups[group], bit);                        
40008000:   01670b33            add s6,a4,s6                                              
40008004:   000b2703            lw  a4,0(s6)                                              
40008008:   00f707b3            add a5,a4,a5                                              
4000800c:   00c12703            lw  a4,12(sp)                                             
40008010:   00f72023            sw  a5,0(a4)                                              
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                
40008014:   0f8020ef            jal ra,4000a10c <rtems_rfs_trace>                         
40008018:   fc050ae3            beqz    a0,40007fec <rtems_rfs_group_bitmap_alloc+0x248>  <== ALWAYS TAKEN
        printf ("rtems-rfs: group-bitmap-alloc: %s allocated: %" PRId32 "\n",             
4000801c:   400225b7            lui a1,0x40022                                            <== NOT EXECUTED
40008020:   3a858593            addi    a1,a1,936 # 400223a8 <IMFS_node_control_sym_link+0xe48><== NOT EXECUTED
40008024:   fb5ff06f            j   40007fd8 <rtems_rfs_group_bitmap_alloc+0x234>         <== NOT EXECUTED
                                                                                          

40008028 <rtems_rfs_group_bitmap_free>: int rtems_rfs_group_bitmap_free (rtems_rfs_file_system* fs, bool inode, rtems_rfs_bitmap_bit no) {
40008028:   ff010113            addi    sp,sp,-16                                         
4000802c:   00912223            sw  s1,4(sp)                                              
40008030:   01212023            sw  s2,0(sp)                                              
40008034:   00050493            mv  s1,a0                                                 
40008038:   00058913            mv  s2,a1                                                 
  unsigned int              group;                                                        
  rtems_rfs_bitmap_bit      bit;                                                          
  size_t                    size;                                                         
  int                       rc;                                                           
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                    
4000803c:   00020537            lui a0,0x20                                               
40008040:   00000593            li  a1,0                                                  
{                                                                                         
40008044:   00812423            sw  s0,8(sp)                                              
40008048:   00112623            sw  ra,12(sp)                                             
4000804c:   00060413            mv  s0,a2                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                                    
40008050:   0bc020ef            jal ra,4000a10c <rtems_rfs_trace>                         
40008054:   02050063            beqz    a0,40008074 <rtems_rfs_group_bitmap_free+0x4c>    <== ALWAYS TAKEN
    printf ("rtems-rfs: group-bitmap-free: %s free: %" PRId32 "\n",                       
40008058:   0a091063            bnez    s2,400080f8 <rtems_rfs_group_bitmap_free+0xd0>    <== NOT EXECUTED
4000805c:   400225b7            lui a1,0x40022                                            <== NOT EXECUTED
40008060:   3a858593            addi    a1,a1,936 # 400223a8 <IMFS_node_control_sym_link+0xe48><== NOT EXECUTED
40008064:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40008068:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
4000806c:   41850513            addi    a0,a0,1048 # 40022418 <IMFS_node_control_sym_link+0xeb8><== NOT EXECUTED
40008070:   989f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
                                                                                          
  group = no / size;                                                                      
  bit = (rtems_rfs_bitmap_bit) (no % size);                                               
                                                                                          
  if (inode)                                                                              
    bitmap = &fs->groups[group].inode_bitmap;                                             
40008074:   0204a783            lw  a5,32(s1)                                             
    no -= RTEMS_RFS_ROOT_INO;                                                             
40008078:   fff40613            addi    a2,s0,-1                                          
  if (inode)                                                                              
4000807c:   04090c63            beqz    s2,400080d4 <rtems_rfs_group_bitmap_free+0xac>    
    size = fs->group_inodes;                                                              
40008080:   02c4a583            lw  a1,44(s1)                                             
  group = no / size;                                                                      
40008084:   02b65733            divu    a4,a2,a1                                          
  bit = (rtems_rfs_bitmap_bit) (no % size);                                               
40008088:   02b675b3            remu    a1,a2,a1                                          
    bitmap = &fs->groups[group].inode_bitmap;                                             
4000808c:   00271413            slli    s0,a4,0x2                                         
40008090:   00e40433            add s0,s0,a4                                              
40008094:   00441413            slli    s0,s0,0x4                                         
40008098:   00878433            add s0,a5,s0                                              
4000809c:   02c40413            addi    s0,s0,44                                          
  else                                                                                    
    bitmap = &fs->groups[group].block_bitmap;                                             
                                                                                          
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                                          
400080a0:   00040513            mv  a0,s0                                                 
400080a4:   b0dfd0ef            jal ra,40005bb0 <rtems_rfs_bitmap_map_clear>              
                                                                                          
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                                           
400080a8:   00042583            lw  a1,0(s0)                                              
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                                          
400080ac:   00050413            mv  s0,a0                                                 
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                                           
400080b0:   00048513            mv  a0,s1                                                 
400080b4:   f60fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
                                                                                          
  return rc;                                                                              
}                                                                                         
400080b8:   00c12083            lw  ra,12(sp)                                             
400080bc:   00040513            mv  a0,s0                                                 
400080c0:   00812403            lw  s0,8(sp)                                              
400080c4:   00412483            lw  s1,4(sp)                                              
400080c8:   00012903            lw  s2,0(sp)                                              
400080cc:   01010113            addi    sp,sp,16                                          
400080d0:   00008067            ret                                                       
    size = fs->group_blocks;                                                              
400080d4:   0284a583            lw  a1,40(s1)                                             
  group = no / size;                                                                      
400080d8:   02b65733            divu    a4,a2,a1                                          
    bitmap = &fs->groups[group].block_bitmap;                                             
400080dc:   00271413            slli    s0,a4,0x2                                         
400080e0:   00e40433            add s0,s0,a4                                              
400080e4:   00441413            slli    s0,s0,0x4                                         
400080e8:   00878433            add s0,a5,s0                                              
  bit = (rtems_rfs_bitmap_bit) (no % size);                                               
400080ec:   02b675b3            remu    a1,a2,a1                                          
    bitmap = &fs->groups[group].block_bitmap;                                             
400080f0:   00840413            addi    s0,s0,8                                           
400080f4:   fadff06f            j   400080a0 <rtems_rfs_group_bitmap_free+0x78>           
    printf ("rtems-rfs: group-bitmap-free: %s free: %" PRId32 "\n",                       
400080f8:   400225b7            lui a1,0x40022                                            <== NOT EXECUTED
400080fc:   3a058593            addi    a1,a1,928 # 400223a0 <IMFS_node_control_sym_link+0xe40><== NOT EXECUTED
40008100:   f65ff06f            j   40008064 <rtems_rfs_group_bitmap_free+0x3c>           <== NOT EXECUTED
                                                                                          

40007ce8 <rtems_rfs_group_close>: int rtems_rfs_group_close (rtems_rfs_file_system* fs, rtems_rfs_group* group) {
40007ce8:   fe010113            addi    sp,sp,-32                                         
40007cec:   00812c23            sw  s0,24(sp)                                             
40007cf0:   01212823            sw  s2,16(sp)                                             
40007cf4:   00058413            mv  s0,a1                                                 
40007cf8:   00050913            mv  s2,a0                                                 
  int result = 0;                                                                         
  int rc;                                                                                 
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_CLOSE))                                      
40007cfc:   00000593            li  a1,0                                                  
40007d00:   00010537            lui a0,0x10                                               
{                                                                                         
40007d04:   00112e23            sw  ra,28(sp)                                             
40007d08:   00912a23            sw  s1,20(sp)                                             
40007d0c:   01312623            sw  s3,12(sp)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_CLOSE))                                      
40007d10:   3fc020ef            jal ra,4000a10c <rtems_rfs_trace>                         
40007d14:   06051e63            bnez    a0,40007d90 <rtems_rfs_group_close+0xa8>          <== NEVER TAKEN
  /*                                                                                      
   * We need to close as much as possible and also return any error if one                
   * occurs but this may result in one even more important error being lost but           
   * we cannot OR the errors together so this is a reasonable compromise.                 
   */                                                                                     
  rc = rtems_rfs_bitmap_close (&group->inode_bitmap);                                     
40007d18:   02c40513            addi    a0,s0,44                                          
40007d1c:   c28fe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40007d20:   04440593            addi    a1,s0,68                                          
40007d24:   00050993            mv  s3,a0                                                 
40007d28:   00090513            mv  a0,s2                                                 
40007d2c:   ae9fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
  if (rc > 0)                                                                             
    result = rc;                                                                          
  rc = rtems_rfs_buffer_handle_close (fs, &group->inode_bitmap_buffer);                   
  if (rc > 0)                                                                             
    result = rc;                                                                          
  rc = rtems_rfs_bitmap_close (&group->block_bitmap);                                     
40007d30:   00840513            addi    a0,s0,8                                           
  handle->dirty = false;                                                                  
40007d34:   04040223            sb  zero,68(s0)                                           
  handle->bnum  = 0;                                                                      
40007d38:   04042423            sw  zero,72(s0)                                           
  handle->buffer = NULL;                                                                  
40007d3c:   04042623            sw  zero,76(s0)                                           
40007d40:   c04fe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  
40007d44:   00050493            mv  s1,a0                                                 
  if (rc > 0)                                                                             
40007d48:   00a04863            bgtz    a0,40007d58 <rtems_rfs_group_close+0x70>          <== NEVER TAKEN
40007d4c:   fff9c493            not s1,s3                                                 
40007d50:   41f4d493            srai    s1,s1,0x1f                                        
40007d54:   0099f4b3            and s1,s3,s1                                              
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40007d58:   02040593            addi    a1,s0,32                                          
40007d5c:   00090513            mv  a0,s2                                                 
40007d60:   ab5fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
  rc = rtems_rfs_buffer_handle_close (fs, &group->block_bitmap_buffer);                   
  if (rc > 0)                                                                             
    result = rc;                                                                          
                                                                                          
  return result;                                                                          
}                                                                                         
40007d64:   01c12083            lw  ra,28(sp)                                             
  handle->dirty = false;                                                                  
40007d68:   02040023            sb  zero,32(s0)                                           
  handle->bnum  = 0;                                                                      
40007d6c:   02042223            sw  zero,36(s0)                                           
  handle->buffer = NULL;                                                                  
40007d70:   02042423            sw  zero,40(s0)                                           
40007d74:   01812403            lw  s0,24(sp)                                             
40007d78:   01012903            lw  s2,16(sp)                                             
40007d7c:   00c12983            lw  s3,12(sp)                                             
40007d80:   00048513            mv  a0,s1                                                 
40007d84:   01412483            lw  s1,20(sp)                                             
40007d88:   02010113            addi    sp,sp,32                                          
40007d8c:   00008067            ret                                                       
    printf ("rtems-rfs: group-close: base=%" PRId32 "\n", group->base);                   
40007d90:   00042583            lw  a1,0(s0)                                              <== NOT EXECUTED
40007d94:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007d98:   37c50513            addi    a0,a0,892 # 4002237c <IMFS_node_control_sym_link+0xe1c><== NOT EXECUTED
40007d9c:   c5df90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40007da0:   f79ff06f            j   40007d18 <rtems_rfs_group_close+0x30>                 <== NOT EXECUTED
                                                                                          

40007aac <rtems_rfs_group_open>: size_t inodes, rtems_rfs_group* group) { int rc; if (base >= rtems_rfs_fs_blocks (fs))
40007aac:   00452783            lw  a5,4(a0)                                              
{                                                                                         
40007ab0:   fe010113            addi    sp,sp,-32                                         
40007ab4:   00112e23            sw  ra,28(sp)                                             
40007ab8:   00812c23            sw  s0,24(sp)                                             
40007abc:   00912a23            sw  s1,20(sp)                                             
40007ac0:   01212823            sw  s2,16(sp)                                             
40007ac4:   01312623            sw  s3,12(sp)                                             
40007ac8:   01412423            sw  s4,8(sp)                                              
40007acc:   01512223            sw  s5,4(sp)                                              
40007ad0:   01612023            sw  s6,0(sp)                                              
  if (base >= rtems_rfs_fs_blocks (fs))                                                   
40007ad4:   1ef5f063            bgeu    a1,a5,40007cb4 <rtems_rfs_group_open+0x208>       
40007ad8:   00070413            mv  s0,a4                                                 
      printf ("rtems-rfs: group-open: base outside file system range: %d: %s\n",          
              EIO, strerror (EIO));                                                       
    return EIO;                                                                           
  }                                                                                       
                                                                                          
  if ((base + size) >= rtems_rfs_fs_blocks (fs))                                          
40007adc:   00c58733            add a4,a1,a2                                              
40007ae0:   00050993            mv  s3,a0                                                 
40007ae4:   00058913            mv  s2,a1                                                 
40007ae8:   00060493            mv  s1,a2                                                 
40007aec:   00f76463            bltu    a4,a5,40007af4 <rtems_rfs_group_open+0x48>        
    size = rtems_rfs_fs_blocks (fs) - base;                                               
40007af0:   40b784b3            sub s1,a5,a1                                              
   * Limit the inodes to the same size as the blocks. This is what the                    
   * format does and if this is not done the accounting of inodes does                    
   * not work. If we are so pushed for inodes that this makes a difference                
   * the format configuration needs reviewing.                                            
   */                                                                                     
  if (inodes > size)                                                                      
40007af4:   00048a93            mv  s5,s1                                                 
40007af8:   0c96e063            bltu    a3,s1,40007bb8 <rtems_rfs_group_open+0x10c>       
    inodes = size;                                                                        
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                                       
40007afc:   00008537            lui a0,0x8                                                <== NOT EXECUTED
40007b00:   00000593            li  a1,0                                                  <== NOT EXECUTED
40007b04:   608020ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40007b08:   0c051263            bnez    a0,40007bcc <rtems_rfs_group_open+0x120>          <== NOT EXECUTED
            base, size, inodes);                                                          
                                                                                          
  group->base = base;                                                                     
  group->size = size;                                                                     
                                                                                          
  rc = rtems_rfs_buffer_handle_open (fs, &group->block_bitmap_buffer);                    
40007b0c:   02040a13            addi    s4,s0,32                                          
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",      
              rc, strerror (rc));                                                         
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,                                   
40007b10:   00840b13            addi    s6,s0,8                                           
  group->size = size;                                                                     
40007b14:   00942223            sw  s1,4(s0)                                              
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,                                   
40007b18:   00048693            mv  a3,s1                                                 
  group->base = base;                                                                     
40007b1c:   01242023            sw  s2,0(s0)                                              
  handle->dirty = false;                                                                  
40007b20:   02040023            sb  zero,32(s0)                                           
  handle->bnum  = 0;                                                                      
40007b24:   02042223            sw  zero,36(s0)                                           
  handle->buffer = NULL;                                                                  
40007b28:   02042423            sw  zero,40(s0)                                           
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,                                   
40007b2c:   00090713            mv  a4,s2                                                 
40007b30:   000a0613            mv  a2,s4                                                 
40007b34:   00098593            mv  a1,s3                                                 
40007b38:   000b0513            mv  a0,s6                                                 
40007b3c:   da4fe0ef            jal ra,400060e0 <rtems_rfs_bitmap_open>                   
40007b40:   00050493            mv  s1,a0                                                 
                              &group->block_bitmap_buffer, size,                          
                              group->base + RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);          
  if (rc > 0)                                                                             
40007b44:   0aa04263            bgtz    a0,40007be8 <rtems_rfs_group_open+0x13c>          <== NEVER TAKEN
      printf ("rtems-rfs: group-open: could not open inode bitmap handle: %d: %s\n",      
              rc, strerror (rc));                                                         
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_bitmap_open (&group->inode_bitmap, fs,                                   
40007b48:   00042703            lw  a4,0(s0)                                              
  rc = rtems_rfs_buffer_handle_open (fs, &group->inode_bitmap_buffer);                    
40007b4c:   04440913            addi    s2,s0,68                                          
  handle->dirty = false;                                                                  
40007b50:   04040223            sb  zero,68(s0)                                           
  handle->bnum  = 0;                                                                      
40007b54:   04042423            sw  zero,72(s0)                                           
  handle->buffer = NULL;                                                                  
40007b58:   04042623            sw  zero,76(s0)                                           
  rc = rtems_rfs_bitmap_open (&group->inode_bitmap, fs,                                   
40007b5c:   00170713            addi    a4,a4,1                                           
40007b60:   000a8693            mv  a3,s5                                                 
40007b64:   00090613            mv  a2,s2                                                 
40007b68:   00098593            mv  a1,s3                                                 
40007b6c:   02c40513            addi    a0,s0,44                                          
40007b70:   d70fe0ef            jal ra,400060e0 <rtems_rfs_bitmap_open>                   
40007b74:   00050493            mv  s1,a0                                                 
                              &group->inode_bitmap_buffer, inodes,                        
                              group->base + RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);          
  if (rc > 0)                                                                             
40007b78:   0aa04c63            bgtz    a0,40007c30 <rtems_rfs_group_open+0x184>          <== NEVER TAKEN
      printf ("rtems-rfs: group-open: could not open inode bitmap: %d: %s\n",             
              rc, strerror (rc));                                                         
    return rc;                                                                            
  }                                                                                       
                                                                                          
  if (rtems_rfs_fs_release_bitmaps (fs))                                                  
40007b7c:   0009a783            lw  a5,0(s3)                                              
  {                                                                                       
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);                           
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);                           
  }                                                                                       
                                                                                          
  return 0;                                                                               
40007b80:   00000493            li  s1,0                                                  
  if (rtems_rfs_fs_release_bitmaps (fs))                                                  
40007b84:   0017f793            andi    a5,a5,1                                           
40007b88:   10078863            beqz    a5,40007c98 <rtems_rfs_group_open+0x1ec>          <== ALWAYS TAKEN
}                                                                                         
40007b8c:   01c12083            lw  ra,28(sp)                                             
40007b90:   01812403            lw  s0,24(sp)                                             
40007b94:   01012903            lw  s2,16(sp)                                             
40007b98:   00c12983            lw  s3,12(sp)                                             
40007b9c:   00812a03            lw  s4,8(sp)                                              
40007ba0:   00412a83            lw  s5,4(sp)                                              
40007ba4:   00012b03            lw  s6,0(sp)                                              
40007ba8:   00048513            mv  a0,s1                                                 
40007bac:   01412483            lw  s1,20(sp)                                             
40007bb0:   02010113            addi    sp,sp,32                                          
40007bb4:   00008067            ret                                                       
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                                       
40007bb8:   00008537            lui a0,0x8                                                
40007bbc:   00000593            li  a1,0                                                  
40007bc0:   00068a93            mv  s5,a3                                                 
40007bc4:   548020ef            jal ra,4000a10c <rtems_rfs_trace>                         
40007bc8:   f40502e3            beqz    a0,40007b0c <rtems_rfs_group_open+0x60>           <== ALWAYS TAKEN
    printf ("rtems-rfs: group-open: base=%" PRId32 ", blocks=%zd inodes=%zd\n",           
40007bcc:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007bd0:   000a8693            mv  a3,s5                                                 <== NOT EXECUTED
40007bd4:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40007bd8:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40007bdc:   2cc50513            addi    a0,a0,716 # 400222cc <IMFS_node_control_sym_link+0xd6c><== NOT EXECUTED
40007be0:   e19f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40007be4:   f29ff06f            j   40007b0c <rtems_rfs_group_open+0x60>                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40007be8:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40007bec:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40007bf0:   c25fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                                     
40007bf4:   00008537            lui a0,0x8                                                <== NOT EXECUTED
40007bf8:   00000593            li  a1,0                                                  <== NOT EXECUTED
  handle->dirty = false;                                                                  
40007bfc:   02040023            sb  zero,32(s0)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007c00:   02042223            sw  zero,36(s0)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007c04:   02042423            sw  zero,40(s0)                                           <== NOT EXECUTED
40007c08:   504020ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40007c0c:   f80500e3            beqz    a0,40007b8c <rtems_rfs_group_open+0xe0>           <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open block bitmap: %d: %s\n",             
40007c10:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40007c14:   350170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007c18:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007c1c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007c20:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40007c24:   30450513            addi    a0,a0,772 # 40022304 <IMFS_node_control_sym_link+0xda4><== NOT EXECUTED
40007c28:   dd1f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40007c2c:   f61ff06f            j   40007b8c <rtems_rfs_group_open+0xe0>                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40007c30:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40007c34:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40007c38:   bddfe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    rtems_rfs_bitmap_close (&group->block_bitmap);                                        
40007c3c:   000b0513            mv  a0,s6                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40007c40:   04040223            sb  zero,68(s0)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007c44:   04042423            sw  zero,72(s0)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007c48:   04042623            sw  zero,76(s0)                                           <== NOT EXECUTED
40007c4c:   cf8fe0ef            jal ra,40006144 <rtems_rfs_bitmap_close>                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40007c50:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40007c54:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40007c58:   bbdfe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                                     
40007c5c:   00008537            lui a0,0x8                                                <== NOT EXECUTED
40007c60:   00000593            li  a1,0                                                  <== NOT EXECUTED
  handle->dirty = false;                                                                  
40007c64:   02040023            sb  zero,32(s0)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40007c68:   02042223            sw  zero,36(s0)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40007c6c:   02042423            sw  zero,40(s0)                                           <== NOT EXECUTED
40007c70:   49c020ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40007c74:   f0050ce3            beqz    a0,40007b8c <rtems_rfs_group_open+0xe0>           <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open inode bitmap: %d: %s\n",             
40007c78:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40007c7c:   2e8170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007c80:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007c84:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007c88:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40007c8c:   34050513            addi    a0,a0,832 # 40022340 <IMFS_node_control_sym_link+0xde0><== NOT EXECUTED
40007c90:   d69f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40007c94:   ef9ff06f            j   40007b8c <rtems_rfs_group_open+0xe0>                  <== NOT EXECUTED
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);                           
40007c98:   00842583            lw  a1,8(s0)                                              
40007c9c:   00098513            mv  a0,s3                                                 
40007ca0:   b75fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);                           
40007ca4:   02c42583            lw  a1,44(s0)                                             
40007ca8:   00098513            mv  a0,s3                                                 
40007cac:   b69fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
40007cb0:   eddff06f            j   40007b8c <rtems_rfs_group_open+0xe0>                  
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                                     
40007cb4:   00008537            lui a0,0x8                                                <== NOT EXECUTED
40007cb8:   00000593            li  a1,0                                                  <== NOT EXECUTED
40007cbc:   450020ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
    return EIO;                                                                           
40007cc0:   00500493            li  s1,5                                                  <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                                     
40007cc4:   ec0504e3            beqz    a0,40007b8c <rtems_rfs_group_open+0xe0>           <== NOT EXECUTED
      printf ("rtems-rfs: group-open: base outside file system range: %d: %s\n",          
40007cc8:   00500513            li  a0,5                                                  <== NOT EXECUTED
40007ccc:   298170ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40007cd0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40007cd4:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40007cd8:   00500593            li  a1,5                                                  <== NOT EXECUTED
40007cdc:   28c50513            addi    a0,a0,652 # 4002228c <IMFS_node_control_sym_link+0xd2c><== NOT EXECUTED
40007ce0:   d19f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40007ce4:   ea9ff06f            j   40007b8c <rtems_rfs_group_open+0xe0>                  <== NOT EXECUTED
                                                                                          

40008104 <rtems_rfs_group_usage>: size_t* blocks, size_t* inodes) { int g; *blocks = 0;
40008104:   0005a023            sw  zero,0(a1)                                            <== NOT EXECUTED
  *inodes = 0;                                                                            
40008108:   00062023            sw  zero,0(a2)                                            <== NOT EXECUTED
                                                                                          
  for (g = 0; g < fs->group_count; g++)                                                   
4000810c:   02452783            lw  a5,36(a0)                                             <== NOT EXECUTED
40008110:   06f05463            blez    a5,40008178 <rtems_rfs_group_usage+0x74>          <== NOT EXECUTED
40008114:   02052783            lw  a5,32(a0)                                             <== NOT EXECUTED
40008118:   00000693            li  a3,0                                                  <== NOT EXECUTED
4000811c:   01478793            addi    a5,a5,20                                          <== NOT EXECUTED
  {                                                                                       
    rtems_rfs_group* group = &fs->groups[g];                                              
    *blocks +=                                                                            
40008120:   0007a883            lw  a7,0(a5)                                              <== NOT EXECUTED
40008124:   0005a703            lw  a4,0(a1)                                              <== NOT EXECUTED
40008128:   0047a803            lw  a6,4(a5)                                              <== NOT EXECUTED
  for (g = 0; g < fs->group_count; g++)                                                   
4000812c:   00168693            addi    a3,a3,1                                           <== NOT EXECUTED
    *blocks +=                                                                            
40008130:   01170733            add a4,a4,a7                                              <== NOT EXECUTED
40008134:   41070733            sub a4,a4,a6                                              <== NOT EXECUTED
40008138:   00e5a023            sw  a4,0(a1)                                              <== NOT EXECUTED
      rtems_rfs_bitmap_map_size(&group->block_bitmap) -                                   
      rtems_rfs_bitmap_map_free (&group->block_bitmap);                                   
    *inodes +=                                                                            
4000813c:   0247a883            lw  a7,36(a5)                                             <== NOT EXECUTED
40008140:   00062703            lw  a4,0(a2)                                              <== NOT EXECUTED
40008144:   0287a803            lw  a6,40(a5)                                             <== NOT EXECUTED
  for (g = 0; g < fs->group_count; g++)                                                   
40008148:   05078793            addi    a5,a5,80                                          <== NOT EXECUTED
    *inodes +=                                                                            
4000814c:   01170733            add a4,a4,a7                                              <== NOT EXECUTED
40008150:   41070733            sub a4,a4,a6                                              <== NOT EXECUTED
40008154:   00e62023            sw  a4,0(a2)                                              <== NOT EXECUTED
  for (g = 0; g < fs->group_count; g++)                                                   
40008158:   02452803            lw  a6,36(a0)                                             <== NOT EXECUTED
4000815c:   fd06c2e3            blt a3,a6,40008120 <rtems_rfs_group_usage+0x1c>           <== NOT EXECUTED
      rtems_rfs_bitmap_map_size (&group->inode_bitmap) -                                  
      rtems_rfs_bitmap_map_free (&group->inode_bitmap);                                   
  }                                                                                       
                                                                                          
  if (*blocks > rtems_rfs_fs_blocks (fs))                                                 
40008160:   00452783            lw  a5,4(a0)                                              <== NOT EXECUTED
40008164:   0005a683            lw  a3,0(a1)                                              <== NOT EXECUTED
40008168:   00d7ec63            bltu    a5,a3,40008180 <rtems_rfs_group_usage+0x7c>       <== NOT EXECUTED
    *blocks = rtems_rfs_fs_blocks (fs);                                                   
  if (*inodes > rtems_rfs_fs_inodes (fs))                                                 
4000816c:   01452783            lw  a5,20(a0)                                             <== NOT EXECUTED
40008170:   00e7f463            bgeu    a5,a4,40008178 <rtems_rfs_group_usage+0x74>       <== NOT EXECUTED
    *inodes = rtems_rfs_fs_inodes (fs);                                                   
40008174:   00f62023            sw  a5,0(a2)                                              <== NOT EXECUTED
                                                                                          
  return 0;                                                                               
}                                                                                         
40008178:   00000513            li  a0,0                                                  <== NOT EXECUTED
4000817c:   00008067            ret                                                       <== NOT EXECUTED
    *blocks = rtems_rfs_fs_blocks (fs);                                                   
40008180:   00f5a023            sw  a5,0(a1)                                              <== NOT EXECUTED
  if (*inodes > rtems_rfs_fs_inodes (fs))                                                 
40008184:   00062703            lw  a4,0(a2)                                              <== NOT EXECUTED
40008188:   fe5ff06f            j   4000816c <rtems_rfs_group_usage+0x68>                 <== NOT EXECUTED
                                                                                          

4000818c <rtems_rfs_inode_alloc>: int rtems_rfs_inode_alloc (rtems_rfs_file_system* fs, rtems_rfs_bitmap_bit goal, rtems_rfs_ino* ino) {
4000818c:   fe010113            addi    sp,sp,-32                                         <== NOT EXECUTED
40008190:   00812c23            sw  s0,24(sp)                                             <== NOT EXECUTED
  rtems_rfs_bitmap_bit bit;                                                               
  int                  rc;                                                                
  rc = rtems_rfs_group_bitmap_alloc (fs, goal, true, &bit);                               
40008194:   00c10693            addi    a3,sp,12                                          <== NOT EXECUTED
{                                                                                         
40008198:   00060413            mv  s0,a2                                                 <== NOT EXECUTED
  rc = rtems_rfs_group_bitmap_alloc (fs, goal, true, &bit);                               
4000819c:   00100613            li  a2,1                                                  <== NOT EXECUTED
{                                                                                         
400081a0:   00112e23            sw  ra,28(sp)                                             <== NOT EXECUTED
  rc = rtems_rfs_group_bitmap_alloc (fs, goal, true, &bit);                               
400081a4:   c01ff0ef            jal ra,40007da4 <rtems_rfs_group_bitmap_alloc>            <== NOT EXECUTED
  *ino = bit;                                                                             
400081a8:   00c12783            lw  a5,12(sp)                                             <== NOT EXECUTED
  return rc;                                                                              
}                                                                                         
400081ac:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
  *ino = bit;                                                                             
400081b0:   00f42023            sw  a5,0(s0)                                              <== NOT EXECUTED
}                                                                                         
400081b4:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
400081b8:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
400081bc:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

400084ac <rtems_rfs_inode_close>: {
400084ac:   ff010113            addi    sp,sp,-16                                         
400084b0:   00812423            sw  s0,8(sp)                                              
400084b4:   00912223            sw  s1,4(sp)                                              
400084b8:   00058413            mv  s0,a1                                                 
400084bc:   00050493            mv  s1,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                                      
400084c0:   00000593            li  a1,0                                                  
400084c4:   00080537            lui a0,0x80                                               
{                                                                                         
400084c8:   00112623            sw  ra,12(sp)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                                      
400084cc:   441010ef            jal ra,4000a10c <rtems_rfs_trace>                         
400084d0:   06051463            bnez    a0,40008538 <rtems_rfs_inode_close+0x8c>          <== NEVER TAKEN
  rc = rtems_rfs_inode_unload (fs, handle, true);                                         
400084d4:   00048513            mv  a0,s1                                                 
400084d8:   00100613            li  a2,1                                                  
400084dc:   00040593            mv  a1,s0                                                 
400084e0:   ebdff0ef            jal ra,4000839c <rtems_rfs_inode_unload>                  
400084e4:   00050493            mv  s1,a0                                                 
  if ((rc == 0) && (handle->loads > 0))                                                   
400084e8:   00051663            bnez    a0,400084f4 <rtems_rfs_inode_close+0x48>          <== NEVER TAKEN
400084ec:   02442783            lw  a5,36(s0)                                             
400084f0:   02f04063            bgtz    a5,40008510 <rtems_rfs_inode_close+0x64>          <== NEVER TAKEN
}                                                                                         
400084f4:   00c12083            lw  ra,12(sp)                                             
  handle->ino = 0;                                                                        
400084f8:   00042423            sw  zero,8(s0)                                            
}                                                                                         
400084fc:   00812403            lw  s0,8(sp)                                              
40008500:   00048513            mv  a0,s1                                                 
40008504:   00412483            lw  s1,4(sp)                                              
40008508:   01010113            addi    sp,sp,16                                          
4000850c:   00008067            ret                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                                    
40008510:   00080537            lui a0,0x80                                               <== NOT EXECUTED
40008514:   00000593            li  a1,0                                                  <== NOT EXECUTED
40008518:   3f5010ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
    rc = EIO;                                                                             
4000851c:   00500493            li  s1,5                                                  <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                                    
40008520:   fc050ae3            beqz    a0,400084f4 <rtems_rfs_inode_close+0x48>          <== NOT EXECUTED
      printf ("rtems-rfs: inode-close: bad loads number: %d\n",                           
40008524:   02442583            lw  a1,36(s0)                                             <== NOT EXECUTED
40008528:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000852c:   4f850513            addi    a0,a0,1272 # 400224f8 <IMFS_node_control_sym_link+0xf98><== NOT EXECUTED
40008530:   cc8f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40008534:   fc1ff06f            j   400084f4 <rtems_rfs_inode_close+0x48>                 <== NOT EXECUTED
    printf ("rtems-rfs: inode-close: ino: %" PRIu32 "\n", handle->ino);                   
40008538:   00842583            lw  a1,8(s0)                                              <== NOT EXECUTED
4000853c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40008540:   4d450513            addi    a0,a0,1236 # 400224d4 <IMFS_node_control_sym_link+0xf74><== NOT EXECUTED
40008544:   cb4f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40008548:   f8dff06f            j   400084d4 <rtems_rfs_inode_close+0x28>                 <== NOT EXECUTED
                                                                                          

400088b0 <rtems_rfs_inode_create>: {
400088b0:   f7010113            addi    sp,sp,-144                                        
400088b4:   07312e23            sw  s3,124(sp)                                            
400088b8:   07412c23            sw  s4,120(sp)                                            
400088bc:   00050993            mv  s3,a0                                                 
400088c0:   00058a13            mv  s4,a1                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                                     
400088c4:   00400537            lui a0,0x400                                              
400088c8:   00000593            li  a1,0                                                  
{                                                                                         
400088cc:   08912223            sw  s1,132(sp)                                            
400088d0:   09212023            sw  s2,128(sp)                                            
400088d4:   07512a23            sw  s5,116(sp)                                            
400088d8:   07612823            sw  s6,112(sp)                                            
400088dc:   07712623            sw  s7,108(sp)                                            
400088e0:   07812423            sw  s8,104(sp)                                            
400088e4:   07912223            sw  s9,100(sp)                                            
400088e8:   00070913            mv  s2,a4                                                 
400088ec:   08112623            sw  ra,140(sp)                                            
400088f0:   08812423            sw  s0,136(sp)                                            
400088f4:   07a12023            sw  s10,96(sp)                                            
400088f8:   05b12e23            sw  s11,92(sp)                                            
400088fc:   00060a93            mv  s5,a2                                                 
40008900:   00068b13            mv  s6,a3                                                 
40008904:   00078b93            mv  s7,a5                                                 
40008908:   00080c13            mv  s8,a6                                                 
4000890c:   00088c93            mv  s9,a7                                                 
40008910:   fffff4b7            lui s1,0xfffff                                            
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                                     
40008914:   7f8010ef            jal ra,4000a10c <rtems_rfs_trace>                         
40008918:   009974b3            and s1,s2,s1                                              
4000891c:   08050263            beqz    a0,400089a0 <rtems_rfs_inode_create+0xf0>         <== ALWAYS TAKEN
    if (RTEMS_RFS_S_ISDIR (mode))                                                         
40008920:   000047b7            lui a5,0x4                                                <== NOT EXECUTED
40008924:   02f48863            beq s1,a5,40008954 <rtems_rfs_inode_create+0xa4>          <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISCHR (mode))                                                    
40008928:   000027b7            lui a5,0x2                                                <== NOT EXECUTED
4000892c:   24f48e63            beq s1,a5,40008b88 <rtems_rfs_inode_create+0x2d8>         <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISBLK (mode))                                                    
40008930:   000067b7            lui a5,0x6                                                <== NOT EXECUTED
40008934:   1cf48e63            beq s1,a5,40008b10 <rtems_rfs_inode_create+0x260>         <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISREG (mode))                                                    
40008938:   000087b7            lui a5,0x8                                                <== NOT EXECUTED
4000893c:   24f48c63            beq s1,a5,40008b94 <rtems_rfs_inode_create+0x2e4>         <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISLNK (mode))                                                    
40008940:   0000a7b7            lui a5,0xa                                                <== NOT EXECUTED
40008944:   24f48e63            beq s1,a5,40008ba0 <rtems_rfs_inode_create+0x2f0>         <== NOT EXECUTED
    const char* type = "unknown";                                                         
40008948:   40022db7            lui s11,0x40022                                           <== NOT EXECUTED
4000894c:   568d8d93            addi    s11,s11,1384 # 40022568 <IMFS_node_control_sym_link+0x1008><== NOT EXECUTED
40008950:   00c0006f            j   4000895c <rtems_rfs_inode_create+0xac>                <== NOT EXECUTED
      type = "dir";                                                                       
40008954:   40022db7            lui s11,0x40022                                           <== NOT EXECUTED
40008958:   554d8d93            addi    s11,s11,1364 # 40022554 <IMFS_node_control_sym_link+0xff4><== NOT EXECUTED
    printf("rtems-rfs: inode-create: parent:%" PRIu32 " name:", parent);                  
4000895c:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40008960:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40008964:   57050513            addi    a0,a0,1392 # 40022570 <IMFS_node_control_sym_link+0x1010><== NOT EXECUTED
40008968:   890f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
4000896c:   000a8413            mv  s0,s5                                                 <== NOT EXECUTED
40008970:   015b0d33            add s10,s6,s5                                             <== NOT EXECUTED
40008974:   000b0a63            beqz    s6,40008988 <rtems_rfs_inode_create+0xd8>         <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
40008978:   00044503            lbu a0,0(s0)                                              <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
4000897c:   00140413            addi    s0,s0,1                                           <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
40008980:   295150ef            jal ra,4001e414 <putchar>                                 <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40008984:   fe8d1ae3            bne s10,s0,40008978 <rtems_rfs_inode_create+0xc8>         <== NOT EXECUTED
    printf (" type:%s mode:%04x (%03o)\n", type, mode, mode & ((1 << 10) - 1));           
40008988:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
4000898c:   3ff97693            andi    a3,s2,1023                                        <== NOT EXECUTED
40008990:   00090613            mv  a2,s2                                                 <== NOT EXECUTED
40008994:   000d8593            mv  a1,s11                                                <== NOT EXECUTED
40008998:   59c50513            addi    a0,a0,1436 # 4002259c <IMFS_node_control_sym_link+0x103c><== NOT EXECUTED
4000899c:   85cf90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  switch (mode & RTEMS_RFS_S_IFMT)                                                        
400089a0:   000067b7            lui a5,0x6                                                
400089a4:   06f48a63            beq s1,a5,40008a18 <rtems_rfs_inode_create+0x168>         
400089a8:   0497fc63            bgeu    a5,s1,40008a00 <rtems_rfs_inode_create+0x150>     
400089ac:   ffffd7b7            lui a5,0xffffd                                            
400089b0:   00f977b3            and a5,s2,a5                                              
400089b4:   00008737            lui a4,0x8                                                
400089b8:   01600413            li  s0,22                                                 
400089bc:   04e78e63            beq a5,a4,40008a18 <rtems_rfs_inode_create+0x168>         
}                                                                                         
400089c0:   08c12083            lw  ra,140(sp)                                            
400089c4:   00040513            mv  a0,s0                                                 
400089c8:   08812403            lw  s0,136(sp)                                            
400089cc:   08412483            lw  s1,132(sp)                                            
400089d0:   08012903            lw  s2,128(sp)                                            
400089d4:   07c12983            lw  s3,124(sp)                                            
400089d8:   07812a03            lw  s4,120(sp)                                            
400089dc:   07412a83            lw  s5,116(sp)                                            
400089e0:   07012b03            lw  s6,112(sp)                                            
400089e4:   06c12b83            lw  s7,108(sp)                                            
400089e8:   06812c03            lw  s8,104(sp)                                            
400089ec:   06412c83            lw  s9,100(sp)                                            
400089f0:   06012d03            lw  s10,96(sp)                                            
400089f4:   05c12d83            lw  s11,92(sp)                                            
400089f8:   09010113            addi    sp,sp,144                                         
400089fc:   00008067            ret                                                       
  switch (mode & RTEMS_RFS_S_IFMT)                                                        
40008a00:   ffffe7b7            lui a5,0xffffe                                            
40008a04:   00f487b3            add a5,s1,a5                                              
40008a08:   0000d737            lui a4,0xd                                                
40008a0c:   00e7f7b3            and a5,a5,a4                                              
40008a10:   01600413            li  s0,22                                                 
40008a14:   fa0796e3            bnez    a5,400089c0 <rtems_rfs_inode_create+0x110>        <== NEVER TAKEN
  rc = rtems_rfs_group_bitmap_alloc (fs, goal, true, &bit);                               
40008a18:   000a0593            mv  a1,s4                                                 
40008a1c:   02810693            addi    a3,sp,40                                          
40008a20:   00100613            li  a2,1                                                  
40008a24:   00098513            mv  a0,s3                                                 
40008a28:   b7cff0ef            jal ra,40007da4 <rtems_rfs_group_bitmap_alloc>            
  *ino = bit;                                                                             
40008a2c:   02812583            lw  a1,40(sp)                                             
40008a30:   09012783            lw  a5,144(sp)                                            
  rc = rtems_rfs_group_bitmap_alloc (fs, goal, true, &bit);                               
40008a34:   00050413            mv  s0,a0                                                 
  *ino = bit;                                                                             
40008a38:   00b7a023            sw  a1,0(a5) # ffffe000 <RamEnd+0xbeffe000>               
  if (rc > 0)                                                                             
40008a3c:   f8a042e3            bgtz    a0,400089c0 <rtems_rfs_inode_create+0x110>        
  rc = rtems_rfs_inode_open (fs, *ino, &inode, true);                                     
40008a40:   00100693            li  a3,1                                                  
40008a44:   02810613            addi    a2,sp,40                                          
40008a48:   00098513            mv  a0,s3                                                 
40008a4c:   835ff0ef            jal ra,40008280 <rtems_rfs_inode_open>                    
40008a50:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40008a54:   10a04e63            bgtz    a0,40008b70 <rtems_rfs_inode_create+0x2c0>        <== NEVER TAKEN
  rc = rtems_rfs_inode_initialise (&inode, links, mode, uid, gid);                        
40008a58:   000c8713            mv  a4,s9                                                 
40008a5c:   000c0693            mv  a3,s8                                                 
40008a60:   00090613            mv  a2,s2                                                 
40008a64:   000b8593            mv  a1,s7                                                 
40008a68:   02810513            addi    a0,sp,40                                          
40008a6c:   d11ff0ef            jal ra,4000877c <rtems_rfs_inode_initialise>              
40008a70:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40008a74:   0ea04863            bgtz    a0,40008b64 <rtems_rfs_inode_create+0x2b4>        <== NEVER TAKEN
  if (RTEMS_RFS_S_ISDIR (mode))                                                           
40008a78:   000047b7            lui a5,0x4                                                
40008a7c:   0af48063            beq s1,a5,40008b1c <rtems_rfs_inode_create+0x26c>         
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);                            
40008a80:   00100693            li  a3,1                                                  
40008a84:   00010613            mv  a2,sp                                                 
40008a88:   000a0593            mv  a1,s4                                                 
40008a8c:   00098513            mv  a0,s3                                                 
40008a90:   ff0ff0ef            jal ra,40008280 <rtems_rfs_inode_open>                    
40008a94:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40008a98:   0aa04863            bgtz    a0,40008b48 <rtems_rfs_inode_create+0x298>        <== NEVER TAKEN
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, *ino);                   
40008a9c:   09012783            lw  a5,144(sp)                                            
40008aa0:   000b0693            mv  a3,s6                                                 
40008aa4:   000a8613            mv  a2,s5                                                 
40008aa8:   0007a703            lw  a4,0(a5) # 4000 <bsp_section_rtemsstack_size+0x2000>  
40008aac:   00010593            mv  a1,sp                                                 
40008ab0:   00098513            mv  a0,s3                                                 
40008ab4:   5c10b0ef            jal ra,40014874 <rtems_rfs_dir_add_entry>                 
40008ab8:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40008abc:   10a04c63            bgtz    a0,40008bd4 <rtems_rfs_inode_create+0x324>        <== NEVER TAKEN
  if (RTEMS_RFS_S_ISDIR (mode))                                                           
40008ac0:   000047b7            lui a5,0x4                                                
40008ac4:   12f48c63            beq s1,a5,40008bfc <rtems_rfs_inode_create+0x34c>         
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);                        
40008ac8:   00100613            li  a2,1                                                  
40008acc:   00100593            li  a1,1                                                  
40008ad0:   00010513            mv  a0,sp                                                 
40008ad4:   bc1ff0ef            jal ra,40008694 <rtems_rfs_inode_time_stamp_now>          
40008ad8:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40008adc:   06a04663            bgtz    a0,40008b48 <rtems_rfs_inode_create+0x298>        <== NEVER TAKEN
  rc = rtems_rfs_inode_close (fs, &parent_inode);                                         
40008ae0:   00010593            mv  a1,sp                                                 
40008ae4:   00098513            mv  a0,s3                                                 
40008ae8:   9c5ff0ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40008aec:   00050413            mv  s0,a0                                                 
    rtems_rfs_inode_delete (fs, &inode);                                                  
40008af0:   02810593            addi    a1,sp,40                                          
40008af4:   00098513            mv  a0,s3                                                 
  if (rc > 0)                                                                             
40008af8:   16804263            bgtz    s0,40008c5c <rtems_rfs_inode_create+0x3ac>        <== NEVER TAKEN
  rc = rtems_rfs_inode_close (fs, &inode);                                                
40008afc:   9b1ff0ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40008b00:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40008b04:   06a04663            bgtz    a0,40008b70 <rtems_rfs_inode_create+0x2c0>        <== NEVER TAKEN
  return 0;                                                                               
40008b08:   00000413            li  s0,0                                                  
40008b0c:   eb5ff06f            j   400089c0 <rtems_rfs_inode_create+0x110>               
      type = "block";                                                                     
40008b10:   40022db7            lui s11,0x40022                                           <== NOT EXECUTED
40008b14:   3a8d8d93            addi    s11,s11,936 # 400223a8 <IMFS_node_control_sym_link+0xe48><== NOT EXECUTED
40008b18:   e45ff06f            j   4000895c <rtems_rfs_inode_create+0xac>                <== NOT EXECUTED
    rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, *ino);                              
40008b1c:   09012783            lw  a5,144(sp)                                            
40008b20:   40021637            lui a2,0x40021                                            
40008b24:   00100693            li  a3,1                                                  
40008b28:   0007a703            lw  a4,0(a5) # 4000 <bsp_section_rtemsstack_size+0x2000>  
40008b2c:   10460613            addi    a2,a2,260 # 40021104 <rtems_filesystem_table+0x74>
40008b30:   02810593            addi    a1,sp,40                                          
40008b34:   00098513            mv  a0,s3                                                 
40008b38:   53d0b0ef            jal ra,40014874 <rtems_rfs_dir_add_entry>                 
40008b3c:   00050413            mv  s0,a0                                                 
    if (rc == 0)                                                                          
40008b40:   06050663            beqz    a0,40008bac <rtems_rfs_inode_create+0x2fc>        <== ALWAYS TAKEN
    if (rc > 0)                                                                           
40008b44:   f2805ee3            blez    s0,40008a80 <rtems_rfs_inode_create+0x1d0>        <== NOT EXECUTED
    rtems_rfs_inode_delete (fs, &inode);                                                  
40008b48:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40008b4c:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008b50:   9fdff0ef            jal ra,4000854c <rtems_rfs_inode_delete>                  <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                                                   
40008b54:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40008b58:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008b5c:   951ff0ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return rc;                                                                            
40008b60:   e61ff06f            j   400089c0 <rtems_rfs_inode_create+0x110>               <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                                                   
40008b64:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40008b68:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008b6c:   941ff0ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
  return rtems_rfs_group_bitmap_free (fs, true, bit);                                     
40008b70:   09012783            lw  a5,144(sp)                                            <== NOT EXECUTED
40008b74:   00100593            li  a1,1                                                  <== NOT EXECUTED
40008b78:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008b7c:   0007a603            lw  a2,0(a5)                                              <== NOT EXECUTED
40008b80:   ca8ff0ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             <== NOT EXECUTED
    return rc;                                                                            
40008b84:   e3dff06f            j   400089c0 <rtems_rfs_inode_create+0x110>               <== NOT EXECUTED
      type = "char";                                                                      
40008b88:   40022db7            lui s11,0x40022                                           <== NOT EXECUTED
40008b8c:   558d8d93            addi    s11,s11,1368 # 40022558 <IMFS_node_control_sym_link+0xff8><== NOT EXECUTED
40008b90:   dcdff06f            j   4000895c <rtems_rfs_inode_create+0xac>                <== NOT EXECUTED
      type = "file";                                                                      
40008b94:   40021db7            lui s11,0x40021                                           <== NOT EXECUTED
40008b98:   7c8d8d93            addi    s11,s11,1992 # 400217c8 <IMFS_node_control_sym_link+0x268><== NOT EXECUTED
40008b9c:   dc1ff06f            j   4000895c <rtems_rfs_inode_create+0xac>                <== NOT EXECUTED
      type = "link";                                                                      
40008ba0:   40022db7            lui s11,0x40022                                           <== NOT EXECUTED
40008ba4:   560d8d93            addi    s11,s11,1376 # 40022560 <IMFS_node_control_sym_link+0x1000><== NOT EXECUTED
40008ba8:   db5ff06f            j   4000895c <rtems_rfs_inode_create+0xac>                <== NOT EXECUTED
      rc = rtems_rfs_dir_add_entry (fs, &inode, "..", 2, parent);                         
40008bac:   40022637            lui a2,0x40022                                            
40008bb0:   000a0713            mv  a4,s4                                                 
40008bb4:   00200693            li  a3,2                                                  
40008bb8:   5b860613            addi    a2,a2,1464 # 400225b8 <IMFS_node_control_sym_link+0x1058>
40008bbc:   02810593            addi    a1,sp,40                                          
40008bc0:   00098513            mv  a0,s3                                                 
40008bc4:   4b10b0ef            jal ra,40014874 <rtems_rfs_dir_add_entry>                 
40008bc8:   00050413            mv  s0,a0                                                 
    if (rc > 0)                                                                           
40008bcc:   ea805ae3            blez    s0,40008a80 <rtems_rfs_inode_create+0x1d0>        <== ALWAYS TAKEN
40008bd0:   f79ff06f            j   40008b48 <rtems_rfs_inode_create+0x298>               <== NOT EXECUTED
    rtems_rfs_inode_delete (fs, &inode);                                                  
40008bd4:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40008bd8:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008bdc:   971ff0ef            jal ra,4000854c <rtems_rfs_inode_delete>                  <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                                                   
40008be0:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40008be4:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008be8:   8c5ff0ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                                            
40008bec:   00010593            mv  a1,sp                                                 <== NOT EXECUTED
40008bf0:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008bf4:   8b9ff0ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return rc;                                                                            
40008bf8:   dc9ff06f            j   400089c0 <rtems_rfs_inode_create+0x110>               <== NOT EXECUTED
  links = rtems_rfs_read_u16 (&handle->node->links);                                      
40008bfc:   00c12683            lw  a3,12(sp)                                             
  if (links == 0xffff)                                                                    
40008c00:   00010637            lui a2,0x10                                               
40008c04:   fff60613            addi    a2,a2,-1 # ffff <bsp_section_bss_size+0xaa4f>     
40008c08:   0016c703            lbu a4,1(a3)                                              
40008c0c:   0006c783            lbu a5,0(a3)                                              
40008c10:   00871713            slli    a4,a4,0x8                                         
40008c14:   00f76733            or  a4,a4,a5                                              
40008c18:   00871793            slli    a5,a4,0x8                                         
40008c1c:   00875713            srli    a4,a4,0x8                                         
40008c20:   00e7e7b3            or  a5,a5,a4                                              
40008c24:   01079793            slli    a5,a5,0x10                                        
40008c28:   0107d793            srli    a5,a5,0x10                                        
40008c2c:   04c78263            beq a5,a2,40008c70 <rtems_rfs_inode_create+0x3c0>         
    rtems_rfs_inode_set_links (&parent_inode,                                             
40008c30:   00178793            addi    a5,a5,1                                           
40008c34:   01079793            slli    a5,a5,0x10                                        
40008c38:   0107d793            srli    a5,a5,0x10                                        
  rtems_rfs_write_u16 (&handle->node->links, links);                                      
40008c3c:   0087d713            srli    a4,a5,0x8                                         
40008c40:   0ff7f793            andi    a5,a5,255                                         
40008c44:   00e68023            sb  a4,0(a3)                                              
40008c48:   00c12703            lw  a4,12(sp)                                             
40008c4c:   00f700a3            sb  a5,1(a4) # d001 <bsp_section_bss_size+0x7a51>         
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40008c50:   00100793            li  a5,1                                                  
40008c54:   00f10823            sb  a5,16(sp)                                             
}                                                                                         
40008c58:   e71ff06f            j   40008ac8 <rtems_rfs_inode_create+0x218>               
    rtems_rfs_inode_delete (fs, &inode);                                                  
40008c5c:   8f1ff0ef            jal ra,4000854c <rtems_rfs_inode_delete>                  <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                                                   
40008c60:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40008c64:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40008c68:   845ff0ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return rc;                                                                            
40008c6c:   d55ff06f            j   400089c0 <rtems_rfs_inode_create+0x110>               <== NOT EXECUTED
40008c70:   00100793            li  a5,1                                                  <== NOT EXECUTED
40008c74:   00000713            li  a4,0                                                  <== NOT EXECUTED
40008c78:   fcdff06f            j   40008c44 <rtems_rfs_inode_create+0x394>               <== NOT EXECUTED
                                                                                          

4000854c <rtems_rfs_inode_delete>: } int rtems_rfs_inode_delete (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle) {
4000854c:   f9010113            addi    sp,sp,-112                                        
40008550:   06812423            sw  s0,104(sp)                                            
40008554:   07212023            sw  s2,96(sp)                                             
40008558:   00058413            mv  s0,a1                                                 
4000855c:   00050913            mv  s2,a0                                                 
  int rc = 0;                                                                             
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_DELETE))                                     
40008560:   00000593            li  a1,0                                                  
40008564:   00800537            lui a0,0x800                                              
{                                                                                         
40008568:   06112623            sw  ra,108(sp)                                            
4000856c:   06912223            sw  s1,100(sp)                                            
40008570:   05312e23            sw  s3,92(sp)                                             
40008574:   05412c23            sw  s4,88(sp)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_DELETE))                                     
40008578:   395010ef            jal ra,4000a10c <rtems_rfs_trace>                         
4000857c:   02050263            beqz    a0,400085a0 <rtems_rfs_inode_delete+0x54>         <== ALWAYS TAKEN
    printf("rtems-rfs: inode-delete: ino:%" PRIu32 " loaded:%s\n",                        
40008580:   00c42783            lw  a5,12(s0)                                             <== NOT EXECUTED
40008584:   00842583            lw  a1,8(s0)                                              <== NOT EXECUTED
40008588:   0c078863            beqz    a5,40008658 <rtems_rfs_inode_delete+0x10c>        <== NOT EXECUTED
4000858c:   40022637            lui a2,0x40022                                            <== NOT EXECUTED
40008590:   44460613            addi    a2,a2,1092 # 40022444 <IMFS_node_control_sym_link+0xee4><== NOT EXECUTED
40008594:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40008598:   52850513            addi    a0,a0,1320 # 40022528 <IMFS_node_control_sym_link+0xfc8><== NOT EXECUTED
4000859c:   c5cf90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
           rtems_rfs_inode_ino (handle),                                                  
           rtems_rfs_inode_is_loaded (handle) ? "yes" : "no");                            
                                                                                          
  if (rtems_rfs_inode_is_loaded (handle))                                                 
400085a0:   00c42783            lw  a5,12(s0)                                             
  int rc = 0;                                                                             
400085a4:   00000493            li  s1,0                                                  
  if (rtems_rfs_inode_is_loaded (handle))                                                 
400085a8:   00078e63            beqz    a5,400085c4 <rtems_rfs_inode_delete+0x78>         <== NEVER TAKEN
  return rtems_rfs_group_bitmap_free (fs, true, bit);                                     
400085ac:   00842603            lw  a2,8(s0)                                              
400085b0:   00100593            li  a1,1                                                  
400085b4:   00090513            mv  a0,s2                                                 
400085b8:   a71ff0ef            jal ra,40008028 <rtems_rfs_group_bitmap_free>             
400085bc:   00050493            mv  s1,a0                                                 
                                                                                          
    /*                                                                                    
     * Free the ino number.                                                               
     */                                                                                   
    rc = rtems_rfs_inode_free (fs, handle->ino);                                          
    if (rc > 0)                                                                           
400085c0:   02a05463            blez    a0,400085e8 <rtems_rfs_inode_delete+0x9c>         <== ALWAYS TAKEN
      if (rrc > 0)                                                                        
        rc = rrc;                                                                         
    }                                                                                     
  }                                                                                       
  return rc;                                                                              
}                                                                                         
400085c4:   06c12083            lw  ra,108(sp)                                            
400085c8:   06812403            lw  s0,104(sp)                                            
400085cc:   06012903            lw  s2,96(sp)                                             
400085d0:   05c12983            lw  s3,92(sp)                                             
400085d4:   05812a03            lw  s4,88(sp)                                             
400085d8:   00048513            mv  a0,s1                                                 
400085dc:   06412483            lw  s1,100(sp)                                            
400085e0:   07010113            addi    sp,sp,112                                         
400085e4:   00008067            ret                                                       
    rc = rtems_rfs_block_map_open (fs, handle, &map);                                     
400085e8:   00010613            mv  a2,sp                                                 
400085ec:   00040593            mv  a1,s0                                                 
400085f0:   00090513            mv  a0,s2                                                 
400085f4:   7850a0ef            jal ra,40013578 <rtems_rfs_block_map_open>                
400085f8:   00050493            mv  s1,a0                                                 
    if (rc == 0)                                                                          
400085fc:   fc0514e3            bnez    a0,400085c4 <rtems_rfs_inode_delete+0x78>         <== NEVER TAKEN
      rrc = rtems_rfs_block_map_free_all (fs, &map);                                      
40008600:   00010593            mv  a1,sp                                                 
40008604:   00090513            mv  a0,s2                                                 
40008608:   48d0b0ef            jal ra,40014294 <rtems_rfs_block_map_free_all>            
      rc = rtems_rfs_block_map_close (fs, &map);                                          
4000860c:   00010593            mv  a1,sp                                                 
      rrc = rtems_rfs_block_map_free_all (fs, &map);                                      
40008610:   00050993            mv  s3,a0                                                 
      rc = rtems_rfs_block_map_close (fs, &map);                                          
40008614:   00090513            mv  a0,s2                                                 
40008618:   1340b0ef            jal ra,4001374c <rtems_rfs_block_map_close>               
4000861c:   00050493            mv  s1,a0                                                 
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);                         
40008620:   01040a13            addi    s4,s0,16                                          
      memset (handle->node, 0xff, RTEMS_RFS_INODE_SIZE);                                  
40008624:   00c42503            lw  a0,12(s0)                                             
40008628:   03800613            li  a2,56                                                 
4000862c:   0ff00593            li  a1,255                                                
      if (rc > 0)                                                                         
40008630:   02905a63            blez    s1,40008664 <rtems_rfs_inode_delete+0x118>        <== ALWAYS TAKEN
      memset (handle->node, 0xff, RTEMS_RFS_INODE_SIZE);                                  
40008634:   505150ef            jal ra,4001e338 <memset>                                  <== NOT EXECUTED
      rtems_rfs_buffer_mark_dirty (&handle->buffer);                                      
40008638:   00100793            li  a5,1                                                  <== NOT EXECUTED
4000863c:   00f40823            sb  a5,16(s0)                                             <== NOT EXECUTED
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);                         
40008640:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40008644:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40008648:   9ccfe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
      handle->loads = 0;                                                                  
4000864c:   02042223            sw  zero,36(s0)                                           <== NOT EXECUTED
      handle->node = NULL;                                                                
40008650:   00042623            sw  zero,12(s0)                                           <== NOT EXECUTED
      if (rrc > 0)                                                                        
40008654:   f71ff06f            j   400085c4 <rtems_rfs_inode_delete+0x78>                <== NOT EXECUTED
    printf("rtems-rfs: inode-delete: ino:%" PRIu32 " loaded:%s\n",                        
40008658:   40022637            lui a2,0x40022                                            <== NOT EXECUTED
4000865c:   44860613            addi    a2,a2,1096 # 40022448 <IMFS_node_control_sym_link+0xee8><== NOT EXECUTED
40008660:   f35ff06f            j   40008594 <rtems_rfs_inode_delete+0x48>                <== NOT EXECUTED
      memset (handle->node, 0xff, RTEMS_RFS_INODE_SIZE);                                  
40008664:   4d5150ef            jal ra,4001e338 <memset>                                  
      rtems_rfs_buffer_mark_dirty (&handle->buffer);                                      
40008668:   00100793            li  a5,1                                                  
4000866c:   00f40823            sb  a5,16(s0)                                             
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);                         
40008670:   000a0593            mv  a1,s4                                                 
40008674:   00090513            mv  a0,s2                                                 
40008678:   99cfe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
      handle->loads = 0;                                                                  
4000867c:   02042223            sw  zero,36(s0)                                           
      handle->node = NULL;                                                                
40008680:   00042623            sw  zero,12(s0)                                           
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);                         
40008684:   00050493            mv  s1,a0                                                 
      if (rrc > 0)                                                                        
40008688:   f3305ee3            blez    s3,400085c4 <rtems_rfs_inode_delete+0x78>         <== ALWAYS TAKEN
4000868c:   00098493            mv  s1,s3                                                 <== NOT EXECUTED
40008690:   f35ff06f            j   400085c4 <rtems_rfs_inode_delete+0x78>                <== NOT EXECUTED
                                                                                          

400081c0 <rtems_rfs_inode_load>: } int rtems_rfs_inode_load (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle) {
400081c0:   ff010113            addi    sp,sp,-16                                         
400081c4:   00812423            sw  s0,8(sp)                                              
400081c8:   00912223            sw  s1,4(sp)                                              
400081cc:   00058413            mv  s0,a1                                                 
400081d0:   00050493            mv  s1,a0                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_LOAD))                                       
400081d4:   00000593            li  a1,0                                                  
400081d8:   00100537            lui a0,0x100                                              
{                                                                                         
400081dc:   00112623            sw  ra,12(sp)                                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_LOAD))                                       
400081e0:   72d010ef            jal ra,4000a10c <rtems_rfs_trace>                         
400081e4:   02050463            beqz    a0,4000820c <rtems_rfs_inode_load+0x4c>           <== ALWAYS TAKEN
    printf ("rtems-rfs: inode-load: ino=%" PRIu32 " loads=%i loaded=%s\n",                
400081e8:   00c42783            lw  a5,12(s0)                                             <== NOT EXECUTED
400081ec:   00842583            lw  a1,8(s0)                                              <== NOT EXECUTED
400081f0:   02442603            lw  a2,36(s0)                                             <== NOT EXECUTED
400081f4:   04078263            beqz    a5,40008238 <rtems_rfs_inode_load+0x78>           <== NOT EXECUTED
400081f8:   400226b7            lui a3,0x40022                                            <== NOT EXECUTED
400081fc:   44468693            addi    a3,a3,1092 # 40022444 <IMFS_node_control_sym_link+0xee4><== NOT EXECUTED
40008200:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40008204:   44c50513            addi    a0,a0,1100 # 4002244c <IMFS_node_control_sym_link+0xeec><== NOT EXECUTED
40008208:   ff0f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
                                                                                          
  /*                                                                                      
   * An inode does not move so once loaded no need to do again.                           
   */                                                                                     
                                                                                          
  if (!rtems_rfs_inode_is_loaded (handle))                                                
4000820c:   00c42783            lw  a5,12(s0)                                             
40008210:   02078a63            beqz    a5,40008244 <rtems_rfs_inode_load+0x84>           
                                                                                          
    handle->node = rtems_rfs_buffer_data (&handle->buffer);                               
    handle->node += handle->offset;                                                       
  }                                                                                       
                                                                                          
  handle->loads++;                                                                        
40008214:   02442783            lw  a5,36(s0)                                             
                                                                                          
  return 0;                                                                               
40008218:   00000513            li  a0,0                                                  
  handle->loads++;                                                                        
4000821c:   00178793            addi    a5,a5,1                                           
40008220:   02f42223            sw  a5,36(s0)                                             
}                                                                                         
40008224:   00c12083            lw  ra,12(sp)                                             
40008228:   00812403            lw  s0,8(sp)                                              
4000822c:   00412483            lw  s1,4(sp)                                              
40008230:   01010113            addi    sp,sp,16                                          
40008234:   00008067            ret                                                       
    printf ("rtems-rfs: inode-load: ino=%" PRIu32 " loads=%i loaded=%s\n",                
40008238:   400226b7            lui a3,0x40022                                            <== NOT EXECUTED
4000823c:   44868693            addi    a3,a3,1096 # 40022448 <IMFS_node_control_sym_link+0xee8><== NOT EXECUTED
40008240:   fc1ff06f            j   40008200 <rtems_rfs_inode_load+0x40>                  <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_request (fs,&handle->buffer,                             
40008244:   01c42603            lw  a2,28(s0)                                             
40008248:   00100693            li  a3,1                                                  
4000824c:   01040593            addi    a1,s0,16                                          
40008250:   00048513            mv  a0,s1                                                 
40008254:   b28fe0ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         
    if (rc > 0)                                                                           
40008258:   fca046e3            bgtz    a0,40008224 <rtems_rfs_inode_load+0x64>           <== NEVER TAKEN
    handle->node += handle->offset;                                                       
4000825c:   02042683            lw  a3,32(s0)                                             
    handle->node = rtems_rfs_buffer_data (&handle->buffer);                               
40008260:   01842703            lw  a4,24(s0)                                             
    handle->node += handle->offset;                                                       
40008264:   00369793            slli    a5,a3,0x3                                         
40008268:   01c72703            lw  a4,28(a4)                                             
4000826c:   40d787b3            sub a5,a5,a3                                              
40008270:   00379793            slli    a5,a5,0x3                                         
40008274:   00f707b3            add a5,a4,a5                                              
40008278:   00f42623            sw  a5,12(s0)                                             
4000827c:   f99ff06f            j   40008214 <rtems_rfs_inode_load+0x54>                  
                                                                                          

40008280 <rtems_rfs_inode_open>: {
40008280:   fe010113            addi    sp,sp,-32                                         
40008284:   00912a23            sw  s1,20(sp)                                             
40008288:   01212823            sw  s2,16(sp)                                             
4000828c:   00050493            mv  s1,a0                                                 
40008290:   00058913            mv  s2,a1                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_OPEN))                                       
40008294:   00040537            lui a0,0x40                                               
40008298:   00000593            li  a1,0                                                  
{                                                                                         
4000829c:   00812c23            sw  s0,24(sp)                                             
400082a0:   01312623            sw  s3,12(sp)                                             
400082a4:   00112e23            sw  ra,28(sp)                                             
400082a8:   00060413            mv  s0,a2                                                 
400082ac:   00068993            mv  s3,a3                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_OPEN))                                       
400082b0:   65d010ef            jal ra,4000a10c <rtems_rfs_trace>                         
400082b4:   08051863            bnez    a0,40008344 <rtems_rfs_inode_open+0xc4>           <== NEVER TAKEN
  if (ino == RTEMS_RFS_EMPTY_INO)                                                         
400082b8:   0a090063            beqz    s2,40008358 <rtems_rfs_inode_open+0xd8>           <== NEVER TAKEN
  if ((ino - RTEMS_RFS_ROOT_INO) > rtems_rfs_fs_inodes (fs))                              
400082bc:   0144a703            lw  a4,20(s1)                                             
400082c0:   fff90793            addi    a5,s2,-1                                          
400082c4:   08f76a63            bltu    a4,a5,40008358 <rtems_rfs_inode_open+0xd8>        
  group = gino / fs->group_inodes;                                                        
400082c8:   02c4a703            lw  a4,44(s1)                                             
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;                    
400082cc:   0304a803            lw  a6,48(s1)                                             
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index);                     
400082d0:   0204a583            lw  a1,32(s1)                                             
  gino  = gino % fs->group_inodes;                                                        
400082d4:   02e7f6b3            remu    a3,a5,a4                                          
  handle->ino = ino;                                                                      
400082d8:   01242423            sw  s2,8(s0)                                              
  handle->node = NULL;                                                                    
400082dc:   00042623            sw  zero,12(s0)                                           
  handle->loads = 0;                                                                      
400082e0:   02042223            sw  zero,36(s0)                                           
  rc = rtems_rfs_buffer_handle_open (fs, &handle->buffer);                                
400082e4:   00000513            li  a0,0                                                  
  group = gino / fs->group_inodes;                                                        
400082e8:   02e7d7b3            divu    a5,a5,a4                                          
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;                    
400082ec:   0306d633            divu    a2,a3,a6                                          
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index);                     
400082f0:   00279713            slli    a4,a5,0x2                                         
400082f4:   00f707b3            add a5,a4,a5                                              
400082f8:   00479793            slli    a5,a5,0x4                                         
400082fc:   00f587b3            add a5,a1,a5                                              
40008300:   0007a783            lw  a5,0(a5)                                              
  handle->dirty = false;                                                                  
40008304:   00040823            sb  zero,16(s0)                                           
  handle->bnum  = 0;                                                                      
40008308:   00042a23            sw  zero,20(s0)                                           
  handle->buffer = NULL;                                                                  
4000830c:   00042c23            sw  zero,24(s0)                                           
  handle->offset = gino % fs->inodes_per_block;                                           
40008310:   0306f6b3            remu    a3,a3,a6                                          
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;                    
40008314:   00260713            addi    a4,a2,2                                           
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index);                     
40008318:   00e787b3            add a5,a5,a4                                              
4000831c:   00f42e23            sw  a5,28(s0)                                             
  handle->offset = gino % fs->inodes_per_block;                                           
40008320:   02d42023            sw  a3,32(s0)                                             
  if ((rc == 0) && load)                                                                  
40008324:   04099a63            bnez    s3,40008378 <rtems_rfs_inode_open+0xf8>           <== ALWAYS TAKEN
}                                                                                         
40008328:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
4000832c:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
40008330:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
40008334:   01012903            lw  s2,16(sp)                                             <== NOT EXECUTED
40008338:   00c12983            lw  s3,12(sp)                                             <== NOT EXECUTED
4000833c:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
40008340:   00008067            ret                                                       <== NOT EXECUTED
    printf ("rtems-rfs: inode-open: ino: %" PRIu32 "\n", ino);                            
40008344:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
40008348:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
4000834c:   48050513            addi    a0,a0,1152 # 40022480 <IMFS_node_control_sym_link+0xf20><== NOT EXECUTED
40008350:   ea8f90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (ino == RTEMS_RFS_EMPTY_INO)                                                         
40008354:   f60914e3            bnez    s2,400082bc <rtems_rfs_inode_open+0x3c>           <== NOT EXECUTED
}                                                                                         
40008358:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
4000835c:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
40008360:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
40008364:   01012903            lw  s2,16(sp)                                             <== NOT EXECUTED
40008368:   00c12983            lw  s3,12(sp)                                             <== NOT EXECUTED
    return EINVAL;                                                                        
4000836c:   01600513            li  a0,22                                                 <== NOT EXECUTED
}                                                                                         
40008370:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
40008374:   00008067            ret                                                       <== NOT EXECUTED
    rc = rtems_rfs_inode_load (fs, handle);                                               
40008378:   00040593            mv  a1,s0                                                 
}                                                                                         
4000837c:   01812403            lw  s0,24(sp)                                             
40008380:   01c12083            lw  ra,28(sp)                                             
40008384:   01012903            lw  s2,16(sp)                                             
40008388:   00c12983            lw  s3,12(sp)                                             
    rc = rtems_rfs_inode_load (fs, handle);                                               
4000838c:   00048513            mv  a0,s1                                                 
}                                                                                         
40008390:   01412483            lw  s1,20(sp)                                             
40008394:   02010113            addi    sp,sp,32                                          
    rc = rtems_rfs_inode_load (fs, handle);                                               
40008398:   e29ff06f            j   400081c0 <rtems_rfs_inode_load>                       
                                                                                          

40008694 <rtems_rfs_inode_time_stamp_now>: rtems_rfs_inode_time_stamp_now (rtems_rfs_inode_handle* handle, bool atime, bool mtime) { time_t now; if (!rtems_rfs_inode_is_loaded (handle))
40008694:   00c52783            lw  a5,12(a0)                                             
40008698:   0c078e63            beqz    a5,40008774 <rtems_rfs_inode_time_stamp_now+0xe0> <== NEVER TAKEN
{                                                                                         
4000869c:   ff010113            addi    sp,sp,-16                                         
400086a0:   00812423            sw  s0,8(sp)                                              
400086a4:   00050413            mv  s0,a0                                                 
    return ENXIO;                                                                         
  now = time (NULL);                                                                      
400086a8:   00000513            li  a0,0                                                  
{                                                                                         
400086ac:   00912223            sw  s1,4(sp)                                              
400086b0:   01212023            sw  s2,0(sp)                                              
400086b4:   00112623            sw  ra,12(sp)                                             
400086b8:   00058913            mv  s2,a1                                                 
400086bc:   00060493            mv  s1,a2                                                 
  now = time (NULL);                                                                      
400086c0:   4c5160ef            jal ra,4001f384 <time>                                    
400086c4:   00050793            mv  a5,a0                                                 
  if (atime)                                                                              
400086c8:   02091263            bnez    s2,400086ec <rtems_rfs_inode_time_stamp_now+0x58> <== ALWAYS TAKEN
    rtems_rfs_inode_set_atime (handle, now);                                              
  if (mtime)                                                                              
    rtems_rfs_inode_set_mtime (handle, now);                                              
  return 0;                                                                               
400086cc:   00000513            li  a0,0                                                  <== NOT EXECUTED
  if (mtime)                                                                              
400086d0:   04049c63            bnez    s1,40008728 <rtems_rfs_inode_time_stamp_now+0x94> <== NOT EXECUTED
}                                                                                         
400086d4:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
400086d8:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
400086dc:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
400086e0:   00012903            lw  s2,0(sp)                                              <== NOT EXECUTED
400086e4:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
400086e8:   00008067            ret                                                       <== NOT EXECUTED
  rtems_rfs_write_u32 (&handle->node->atime, atime);                                      
400086ec:   00c42603            lw  a2,12(s0)                                             
400086f0:   01855713            srli    a4,a0,0x18                                        
400086f4:   01055693            srli    a3,a0,0x10                                        
400086f8:   00e60823            sb  a4,16(a2)                                             
400086fc:   00c42603            lw  a2,12(s0)                                             
40008700:   00855713            srli    a4,a0,0x8                                         
40008704:   00d608a3            sb  a3,17(a2)                                             
40008708:   00c42683            lw  a3,12(s0)                                             
4000870c:   00e68923            sb  a4,18(a3)                                             
40008710:   00c42703            lw  a4,12(s0)                                             
40008714:   00a709a3            sb  a0,19(a4)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40008718:   00100713            li  a4,1                                                  
4000871c:   00e40823            sb  a4,16(s0)                                             
  return 0;                                                                               
40008720:   00000513            li  a0,0                                                  
  if (mtime)                                                                              
40008724:   fa0488e3            beqz    s1,400086d4 <rtems_rfs_inode_time_stamp_now+0x40> <== NEVER TAKEN
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                                      
40008728:   00c42703            lw  a4,12(s0)                                             
4000872c:   0187d693            srli    a3,a5,0x18                                        
40008730:   0107d613            srli    a2,a5,0x10                                        
40008734:   00d70a23            sb  a3,20(a4)                                             
40008738:   00c42703            lw  a4,12(s0)                                             
4000873c:   0087d693            srli    a3,a5,0x8                                         
40008740:   00c70aa3            sb  a2,21(a4)                                             
40008744:   00c42703            lw  a4,12(s0)                                             
40008748:   00d70b23            sb  a3,22(a4)                                             
4000874c:   00c42703            lw  a4,12(s0)                                             
40008750:   00f70ba3            sb  a5,23(a4)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40008754:   00100793            li  a5,1                                                  
}                                                                                         
40008758:   00c12083            lw  ra,12(sp)                                             
4000875c:   00f40823            sb  a5,16(s0)                                             
40008760:   00812403            lw  s0,8(sp)                                              
40008764:   00412483            lw  s1,4(sp)                                              
40008768:   00012903            lw  s2,0(sp)                                              
4000876c:   01010113            addi    sp,sp,16                                          
40008770:   00008067            ret                                                       
    return ENXIO;                                                                         
40008774:   00600513            li  a0,6                                                  <== NOT EXECUTED
}                                                                                         
40008778:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

4000839c <rtems_rfs_inode_unload>: int rtems_rfs_inode_unload (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle, bool update_ctime) {
4000839c:   ff010113            addi    sp,sp,-16                                         
400083a0:   00812423            sw  s0,8(sp)                                              
400083a4:   00912223            sw  s1,4(sp)                                              
400083a8:   00058413            mv  s0,a1                                                 
400083ac:   00050493            mv  s1,a0                                                 
  int rc = 0;                                                                             
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_UNLOAD))                                     
400083b0:   00000593            li  a1,0                                                  
400083b4:   00200537            lui a0,0x200                                              
{                                                                                         
400083b8:   01212023            sw  s2,0(sp)                                              
400083bc:   00112623            sw  ra,12(sp)                                             
400083c0:   00060913            mv  s2,a2                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_UNLOAD))                                     
400083c4:   549010ef            jal ra,4000a10c <rtems_rfs_trace>                         
400083c8:   02050463            beqz    a0,400083f0 <rtems_rfs_inode_unload+0x54>         <== ALWAYS TAKEN
    printf ("rtems-rfs: inode-unload: ino=%" PRIu32 " loads=%i loaded=%s\n",              
400083cc:   00c42783            lw  a5,12(s0)                                             <== NOT EXECUTED
400083d0:   00842583            lw  a1,8(s0)                                              <== NOT EXECUTED
400083d4:   02442603            lw  a2,36(s0)                                             <== NOT EXECUTED
400083d8:   08078463            beqz    a5,40008460 <rtems_rfs_inode_unload+0xc4>         <== NOT EXECUTED
400083dc:   400226b7            lui a3,0x40022                                            <== NOT EXECUTED
400083e0:   44468693            addi    a3,a3,1092 # 40022444 <IMFS_node_control_sym_link+0xee4><== NOT EXECUTED
400083e4:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
400083e8:   4a050513            addi    a0,a0,1184 # 400224a0 <IMFS_node_control_sym_link+0xf40><== NOT EXECUTED
400083ec:   e0cf90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
            handle->ino, handle->loads,                                                   
            rtems_rfs_inode_is_loaded (handle) ? "yes" : "no");                           
                                                                                          
  if (rtems_rfs_inode_is_loaded (handle))                                                 
400083f0:   00c42783            lw  a5,12(s0)                                             
400083f4:   00078e63            beqz    a5,40008410 <rtems_rfs_inode_unload+0x74>         
  {                                                                                       
    if (handle->loads == 0)                                                               
400083f8:   02442783            lw  a5,36(s0)                                             
      return EIO;                                                                         
400083fc:   00500513            li  a0,5                                                  
    if (handle->loads == 0)                                                               
40008400:   00078a63            beqz    a5,40008414 <rtems_rfs_inode_unload+0x78>         <== NEVER TAKEN
                                                                                          
    handle->loads--;                                                                      
40008404:   fff78793            addi    a5,a5,-1                                          
40008408:   02f42223            sw  a5,36(s0)                                             
                                                                                          
    if (handle->loads == 0)                                                               
4000840c:   02078063            beqz    a5,4000842c <rtems_rfs_inode_unload+0x90>         
  int rc = 0;                                                                             
40008410:   00000513            li  a0,0                                                  
      handle->node = NULL;                                                                
    }                                                                                     
  }                                                                                       
                                                                                          
  return rc;                                                                              
}                                                                                         
40008414:   00c12083            lw  ra,12(sp)                                             
40008418:   00812403            lw  s0,8(sp)                                              
4000841c:   00412483            lw  s1,4(sp)                                              
40008420:   00012903            lw  s2,0(sp)                                              
40008424:   01010113            addi    sp,sp,16                                          
40008428:   00008067            ret                                                       
      if (rtems_rfs_buffer_dirty (&handle->buffer) && update_ctime)                       
4000842c:   01044783            lbu a5,16(s0)                                             
40008430:   00078463            beqz    a5,40008438 <rtems_rfs_inode_unload+0x9c>         
40008434:   02091c63            bnez    s2,4000846c <rtems_rfs_inode_unload+0xd0>         <== ALWAYS TAKEN
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);                         
40008438:   01040593            addi    a1,s0,16                                          
4000843c:   00048513            mv  a0,s1                                                 
40008440:   bd4fe0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         
}                                                                                         
40008444:   00c12083            lw  ra,12(sp)                                             
      handle->node = NULL;                                                                
40008448:   00042623            sw  zero,12(s0)                                           
}                                                                                         
4000844c:   00812403            lw  s0,8(sp)                                              
40008450:   00412483            lw  s1,4(sp)                                              
40008454:   00012903            lw  s2,0(sp)                                              
40008458:   01010113            addi    sp,sp,16                                          
4000845c:   00008067            ret                                                       
    printf ("rtems-rfs: inode-unload: ino=%" PRIu32 " loads=%i loaded=%s\n",              
40008460:   400226b7            lui a3,0x40022                                            <== NOT EXECUTED
40008464:   44868693            addi    a3,a3,1096 # 40022448 <IMFS_node_control_sym_link+0xee8><== NOT EXECUTED
40008468:   f7dff06f            j   400083e4 <rtems_rfs_inode_unload+0x48>                <== NOT EXECUTED
        rtems_rfs_inode_set_ctime (handle, time (NULL));                                  
4000846c:   00000513            li  a0,0                                                  
40008470:   715160ef            jal ra,4001f384 <time>                                    
 */                                                                                       
static inline void                                                                        
rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle,                                
                           rtems_rfs_time          ctime)                                 
{                                                                                         
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                                      
40008474:   00c42783            lw  a5,12(s0)                                             
40008478:   01855713            srli    a4,a0,0x18                                        
4000847c:   01055693            srli    a3,a0,0x10                                        
40008480:   00e78c23            sb  a4,24(a5)                                             
40008484:   00c42783            lw  a5,12(s0)                                             
40008488:   00855713            srli    a4,a0,0x8                                         
4000848c:   00d78ca3            sb  a3,25(a5)                                             
40008490:   00c42783            lw  a5,12(s0)                                             
40008494:   00e78d23            sb  a4,26(a5)                                             
40008498:   00c42783            lw  a5,12(s0)                                             
4000849c:   00a78da3            sb  a0,27(a5)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
400084a0:   00100793            li  a5,1                                                  
400084a4:   00f40823            sb  a5,16(s0)                                             
}                                                                                         
400084a8:   f91ff06f            j   40008438 <rtems_rfs_inode_unload+0x9c>                
                                                                                          

400171f4 <rtems_rfs_link>: const char* name, int length, rtems_rfs_ino parent, rtems_rfs_ino target, bool link_dir) {
400171f4:   f8010113            addi    sp,sp,-128                                        
400171f8:   06912a23            sw  s1,116(sp)                                            
400171fc:   07312623            sw  s3,108(sp)                                            
40017200:   00050493            mv  s1,a0                                                 
40017204:   00058993            mv  s3,a1                                                 
  rtems_rfs_inode_handle parent_inode;                                                    
  rtems_rfs_inode_handle target_inode;                                                    
  uint16_t               links;                                                           
  int                    rc;                                                              
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                                             
40017208:   01000537            lui a0,0x1000                                             
4001720c:   00000593            li  a1,0                                                  
{                                                                                         
40017210:   07212823            sw  s2,112(sp)                                            
40017214:   07412423            sw  s4,104(sp)                                            
40017218:   07512223            sw  s5,100(sp)                                            
4001721c:   05712e23            sw  s7,92(sp)                                             
40017220:   06112e23            sw  ra,124(sp)                                            
40017224:   06812c23            sw  s0,120(sp)                                            
40017228:   07612023            sw  s6,96(sp)                                             
4001722c:   00060a13            mv  s4,a2                                                 
40017230:   00068a93            mv  s5,a3                                                 
40017234:   00070913            mv  s2,a4                                                 
40017238:   00078b93            mv  s7,a5                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                                             
4001723c:   ed1f20ef            jal ra,4000a10c <rtems_rfs_trace>                         
40017240:   16051263            bnez    a0,400173a4 <rtems_rfs_link+0x1b0>                <== NEVER TAKEN
    for (c = 0; c < length; c++)                                                          
      printf ("%c", name[c]);                                                             
    printf ("(%" PRIu32 ")\n", target);                                                   
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_open (fs, target, &target_inode, true);                            
40017244:   00100693            li  a3,1                                                  
40017248:   02810613            addi    a2,sp,40                                          
4001724c:   00090593            mv  a1,s2                                                 
40017250:   00048513            mv  a0,s1                                                 
40017254:   82cf10ef            jal ra,40008280 <rtems_rfs_inode_open>                    
40017258:   00050413            mv  s0,a0                                                 
  if (rc)                                                                                 
4001725c:   10051263            bnez    a0,40017360 <rtems_rfs_link+0x16c>                <== NEVER TAKEN
                                                                                          
  /*                                                                                      
   * If the target inode is a directory and we cannot link directories                    
   * return a not supported error code.                                                   
   */                                                                                     
  if (!link_dir && S_ISDIR (rtems_rfs_inode_get_mode (&target_inode)))                    
40017260:   020b9663            bnez    s7,4001728c <rtems_rfs_link+0x98>                 
40017264:   03412703            lw  a4,52(sp)                                             
40017268:   000046b7            lui a3,0x4                                                
4001726c:   00374783            lbu a5,3(a4) # 4003 <bsp_section_rtemsstack_size+0x2003>  
40017270:   00274703            lbu a4,2(a4)                                              
40017274:   00879793            slli    a5,a5,0x8                                         
40017278:   00e7e7b3            or  a5,a5,a4                                              
4001727c:   00879793            slli    a5,a5,0x8                                         
40017280:   0000f737            lui a4,0xf                                                
40017284:   00e7f7b3            and a5,a5,a4                                              
40017288:   18d78263            beq a5,a3,4001740c <rtems_rfs_link+0x218>                 
  {                                                                                       
    rtems_rfs_inode_close (fs, &target_inode);                                            
    return ENOTSUP;                                                                       
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);                            
4001728c:   00100693            li  a3,1                                                  
40017290:   00010613            mv  a2,sp                                                 
40017294:   000a8593            mv  a1,s5                                                 
40017298:   00048513            mv  a0,s1                                                 
4001729c:   fe5f00ef            jal ra,40008280 <rtems_rfs_inode_open>                    
400172a0:   00050413            mv  s0,a0                                                 
  if (rc)                                                                                 
400172a4:   0e051863            bnez    a0,40017394 <rtems_rfs_link+0x1a0>                <== NEVER TAKEN
  {                                                                                       
    rtems_rfs_inode_close (fs, &target_inode);                                            
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, target);                 
400172a8:   00090713            mv  a4,s2                                                 
400172ac:   000a0693            mv  a3,s4                                                 
400172b0:   00098613            mv  a2,s3                                                 
400172b4:   00010593            mv  a1,sp                                                 
400172b8:   00048513            mv  a0,s1                                                 
400172bc:   db8fd0ef            jal ra,40014874 <rtems_rfs_dir_add_entry>                 
400172c0:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
400172c4:   12a04063            bgtz    a0,400173e4 <rtems_rfs_link+0x1f0>                <== NEVER TAKEN
  links = rtems_rfs_read_u16 (&handle->node->links);                                      
400172c8:   03412683            lw  a3,52(sp)                                             
  if (links == 0xffff)                                                                    
400172cc:   00010637            lui a2,0x10                                               
400172d0:   fff60613            addi    a2,a2,-1 # ffff <bsp_section_bss_size+0xaa4f>     
400172d4:   0016c703            lbu a4,1(a3) # 4001 <bsp_section_rtemsstack_size+0x2001>  
400172d8:   0006c783            lbu a5,0(a3)                                              
400172dc:   00871713            slli    a4,a4,0x8                                         
400172e0:   00f76733            or  a4,a4,a5                                              
400172e4:   00871793            slli    a5,a4,0x8                                         
400172e8:   00875713            srli    a4,a4,0x8                                         
400172ec:   00e7e7b3            or  a5,a5,a4                                              
400172f0:   01079793            slli    a5,a5,0x10                                        
400172f4:   0107d793            srli    a5,a5,0x10                                        
400172f8:   10c78463            beq a5,a2,40017400 <rtems_rfs_link+0x20c>                 
    rtems_rfs_inode_close (fs, &parent_inode);                                            
    rtems_rfs_inode_close (fs, &target_inode);                                            
    return rc;                                                                            
  }                                                                                       
                                                                                          
  links = rtems_rfs_inode_get_links (&target_inode) + 1;                                  
400172fc:   00178793            addi    a5,a5,1                                           
40017300:   01079793            slli    a5,a5,0x10                                        
40017304:   0107d793            srli    a5,a5,0x10                                        
  rtems_rfs_write_u16 (&handle->node->links, links);                                      
40017308:   0087d713            srli    a4,a5,0x8                                         
4001730c:   0ff7f793            andi    a5,a5,255                                         
40017310:   00e68023            sb  a4,0(a3)                                              
40017314:   03412703            lw  a4,52(sp)                                             
  rtems_rfs_inode_set_links (&target_inode, links);                                       
                                                                                          
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);                        
40017318:   00100593            li  a1,1                                                  
4001731c:   00100613            li  a2,1                                                  
40017320:   00f700a3            sb  a5,1(a4) # f001 <bsp_section_bss_size+0x9a51>         
40017324:   00010513            mv  a0,sp                                                 
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
40017328:   00100793            li  a5,1                                                  
4001732c:   02f10c23            sb  a5,56(sp)                                             
40017330:   b64f10ef            jal ra,40008694 <rtems_rfs_inode_time_stamp_now>          
40017334:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
  {                                                                                       
    rtems_rfs_inode_close (fs, &parent_inode);                                            
40017338:   00010593            mv  a1,sp                                                 
4001733c:   00048513            mv  a0,s1                                                 
  if (rc > 0)                                                                             
40017340:   04804863            bgtz    s0,40017390 <rtems_rfs_link+0x19c>                <== NEVER TAKEN
    rtems_rfs_inode_close (fs, &target_inode);                                            
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_close (fs, &parent_inode);                                         
40017344:   968f10ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40017348:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
  {                                                                                       
    rtems_rfs_inode_close (fs, &target_inode);                                            
4001734c:   02810593            addi    a1,sp,40                                          
40017350:   00048513            mv  a0,s1                                                 
  if (rc > 0)                                                                             
40017354:   04804463            bgtz    s0,4001739c <rtems_rfs_link+0x1a8>                <== NEVER TAKEN
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_close (fs, &target_inode);                                         
40017358:   954f10ef            jal ra,400084ac <rtems_rfs_inode_close>                   
4001735c:   00050413            mv  s0,a0                                                 
                                                                                          
  return rc;                                                                              
}                                                                                         
40017360:   07c12083            lw  ra,124(sp)                                            
40017364:   00040513            mv  a0,s0                                                 
40017368:   07812403            lw  s0,120(sp)                                            
4001736c:   07412483            lw  s1,116(sp)                                            
40017370:   07012903            lw  s2,112(sp)                                            
40017374:   06c12983            lw  s3,108(sp)                                            
40017378:   06812a03            lw  s4,104(sp)                                            
4001737c:   06412a83            lw  s5,100(sp)                                            
40017380:   06012b03            lw  s6,96(sp)                                             
40017384:   05c12b83            lw  s7,92(sp)                                             
40017388:   08010113            addi    sp,sp,128                                         
4001738c:   00008067            ret                                                       
    rtems_rfs_inode_close (fs, &parent_inode);                                            
40017390:   91cf10ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                                            
40017394:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40017398:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
4001739c:   910f10ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return rc;                                                                            
400173a0:   fc1ff06f            j   40017360 <rtems_rfs_link+0x16c>                       <== NOT EXECUTED
    printf ("rtems-rfs: link: parent(%" PRIu32 ") -> ", parent);                          
400173a4:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400173a8:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
400173ac:   ca050513            addi    a0,a0,-864 # 40023ca0 <IMFS_LIMITS_AND_OPTIONS+0xec0><== NOT EXECUTED
400173b0:   e48ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
400173b4:   00098413            mv  s0,s3                                                 <== NOT EXECUTED
400173b8:   013a0b33            add s6,s4,s3                                              <== NOT EXECUTED
400173bc:   01405a63            blez    s4,400173d0 <rtems_rfs_link+0x1dc>                <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
400173c0:   00044503            lbu a0,0(s0)                                              <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
400173c4:   00140413            addi    s0,s0,1                                           <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
400173c8:   04c070ef            jal ra,4001e414 <putchar>                                 <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
400173cc:   fe8b1ae3            bne s6,s0,400173c0 <rtems_rfs_link+0x1cc>                 <== NOT EXECUTED
    printf ("(%" PRIu32 ")\n", target);                                                   
400173d0:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400173d4:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
400173d8:   cc050513            addi    a0,a0,-832 # 40023cc0 <IMFS_LIMITS_AND_OPTIONS+0xee0><== NOT EXECUTED
400173dc:   e1cea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400173e0:   e65ff06f            j   40017244 <rtems_rfs_link+0x50>                        <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                                            
400173e4:   00010593            mv  a1,sp                                                 <== NOT EXECUTED
400173e8:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400173ec:   8c0f10ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                                            
400173f0:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
400173f4:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400173f8:   8b4f10ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return rc;                                                                            
400173fc:   f65ff06f            j   40017360 <rtems_rfs_link+0x16c>                       <== NOT EXECUTED
40017400:   00100793            li  a5,1                                                  <== NOT EXECUTED
40017404:   00000713            li  a4,0                                                  <== NOT EXECUTED
40017408:   f09ff06f            j   40017310 <rtems_rfs_link+0x11c>                       <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                                            
4001740c:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40017410:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017414:   898f10ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return ENOTSUP;                                                                       
40017418:   08600413            li  s0,134                                                <== NOT EXECUTED
4001741c:   f45ff06f            j   40017360 <rtems_rfs_link+0x16c>                       <== NOT EXECUTED
                                                                                          

40009b64 <rtems_rfs_rtems_fdatasync>: rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));
40009b64:   02452783            lw  a5,36(a0)                                             <== NOT EXECUTED
{                                                                                         
40009b68:   ff010113            addi    sp,sp,-16                                         <== NOT EXECUTED
40009b6c:   00812423            sw  s0,8(sp)                                              <== NOT EXECUTED
  rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));              
40009b70:   0087a503            lw  a0,8(a5)                                              <== NOT EXECUTED
{                                                                                         
40009b74:   00112623            sw  ra,12(sp)                                             <== NOT EXECUTED
  rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));              
40009b78:   e79fc0ef            jal ra,400069f0 <rtems_rfs_buffer_sync>                   <== NOT EXECUTED
40009b7c:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
  if (rc)                                                                                 
40009b80:   00051c63            bnez    a0,40009b98 <rtems_rfs_rtems_fdatasync+0x34>      <== NOT EXECUTED
}                                                                                         
40009b84:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
40009b88:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009b8c:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
40009b90:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
40009b94:   00008067            ret                                                       <== NOT EXECUTED
    return rtems_rfs_rtems_error ("fdatasync: sync", rc);                                 
40009b98:   0f0140ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40009b9c:   00852023            sw  s0,0(a0)                                              <== NOT EXECUTED
40009ba0:   fff00413            li  s0,-1                                                 <== NOT EXECUTED
40009ba4:   fe1ff06f            j   40009b84 <rtems_rfs_rtems_fdatasync+0x20>             <== NOT EXECUTED
                                                                                          

4000958c <rtems_rfs_rtems_fstat>: rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);
4000958c:   01452783            lw  a5,20(a0)                                             
{                                                                                         
40009590:   fc010113            addi    sp,sp,-64                                         
40009594:   03212823            sw  s2,48(sp)                                             
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);                      
40009598:   0087a903            lw  s2,8(a5)                                              
{                                                                                         
4000959c:   02812c23            sw  s0,56(sp)                                             
400095a0:   00058413            mv  s0,a1                                                 
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                                      
400095a4:   00852583            lw  a1,8(a0)                                              
400095a8:   00100693            li  a3,1                                                  
400095ac:   00810613            addi    a2,sp,8                                           
400095b0:   00090513            mv  a0,s2                                                 
{                                                                                         
400095b4:   02912a23            sw  s1,52(sp)                                             
400095b8:   02112e23            sw  ra,60(sp)                                             
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                                      
400095bc:   cc5fe0ef            jal ra,40008280 <rtems_rfs_inode_open>                    
400095c0:   00050493            mv  s1,a0                                                 
  if (rc)                                                                                 
400095c4:   30051663            bnez    a0,400098d0 <rtems_rfs_rtems_fstat+0x344>         <== NEVER TAKEN
  return rtems_rfs_read_u16 (&handle->node->mode);                                        
400095c8:   01412783            lw  a5,20(sp)                                             
  if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK (mode))                               
400095cc:   000026b7            lui a3,0x2                                                
400095d0:   0037c503            lbu a0,3(a5)                                              
400095d4:   0027c703            lbu a4,2(a5)                                              
400095d8:   00851513            slli    a0,a0,0x8                                         
400095dc:   00e56533            or  a0,a0,a4                                              
400095e0:   00851713            slli    a4,a0,0x8                                         
400095e4:   00855513            srli    a0,a0,0x8                                         
400095e8:   00a76533            or  a0,a4,a0                                              
400095ec:   01051513            slli    a0,a0,0x10                                        
400095f0:   01055513            srli    a0,a0,0x10                                        
400095f4:   ffffb737            lui a4,0xffffb                                            
400095f8:   00e57733            and a4,a0,a4                                              
400095fc:   04d71e63            bne a4,a3,40009658 <rtems_rfs_rtems_fstat+0xcc>           
  return rtems_rfs_read_u32 (&handle->node->data.blocks[block]);                          
40009600:   01c7c683            lbu a3,28(a5)                                             <== NOT EXECUTED
40009604:   0207c703            lbu a4,32(a5)                                             <== NOT EXECUTED
40009608:   0217c883            lbu a7,33(a5)                                             <== NOT EXECUTED
4000960c:   01d7c803            lbu a6,29(a5)                                             <== NOT EXECUTED
40009610:   0237ce03            lbu t3,35(a5)                                             <== NOT EXECUTED
40009614:   0227c583            lbu a1,34(a5)                                             <== NOT EXECUTED
40009618:   01f7c303            lbu t1,31(a5)                                             <== NOT EXECUTED
4000961c:   01e7c603            lbu a2,30(a5)                                             <== NOT EXECUTED
40009620:   01089893            slli    a7,a7,0x10                                        <== NOT EXECUTED
40009624:   01871793            slli    a5,a4,0x18                                        <== NOT EXECUTED
40009628:   01869713            slli    a4,a3,0x18                                        <== NOT EXECUTED
4000962c:   01081693            slli    a3,a6,0x10                                        <== NOT EXECUTED
40009630:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
40009634:   0117e7b3            or  a5,a5,a7                                              <== NOT EXECUTED
40009638:   01c7e7b3            or  a5,a5,t3                                              <== NOT EXECUTED
4000963c:   00859593            slli    a1,a1,0x8                                         <== NOT EXECUTED
40009640:   00676733            or  a4,a4,t1                                              <== NOT EXECUTED
40009644:   00861693            slli    a3,a2,0x8                                         <== NOT EXECUTED
40009648:   00b7e7b3            or  a5,a5,a1                                              <== NOT EXECUTED
4000964c:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
    buf->st_rdev =                                                                        
40009650:   02e42023            sw  a4,32(s0)                                             <== NOT EXECUTED
40009654:   02f42223            sw  a5,36(s0)                                             <== NOT EXECUTED
  buf->st_dev     = (dev_t) (uintptr_t)rtems_rfs_fs_device (fs);                          
40009658:   01092783            lw  a5,16(s2)                                             
4000965c:   00042223            sw  zero,4(s0)                                            
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                                         
40009660:   00042623            sw  zero,12(s0)                                           
  buf->st_dev     = (dev_t) (uintptr_t)rtems_rfs_fs_device (fs);                          
40009664:   00f42023            sw  a5,0(s0)                                              
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                                         
40009668:   01012783            lw  a5,16(sp)                                             
4000966c:   00f42423            sw  a5,8(s0)                                              
  buf->st_mode    = rtems_rfs_rtems_mode (mode);                                          
40009670:   299000ef            jal ra,4000a108 <rtems_rfs_rtems_mode>                    
  links = rtems_rfs_read_u16 (&handle->node->links);                                      
40009674:   01412683            lw  a3,20(sp)                                             
40009678:   00a42823            sw  a0,16(s0)                                             
  shared = rtems_rfs_file_get_shared (fs, rtems_rfs_inode_ino (&inode));                  
4000967c:   01012583            lw  a1,16(sp)                                             
40009680:   0016c783            lbu a5,1(a3) # 2001 <bsp_section_rtemsstack_size+0x1>     
40009684:   0006c703            lbu a4,0(a3)                                              
40009688:   00090513            mv  a0,s2                                                 
4000968c:   00879793            slli    a5,a5,0x8                                         
40009690:   00e7e7b3            or  a5,a5,a4                                              
40009694:   00879713            slli    a4,a5,0x8                                         
40009698:   0087d793            srli    a5,a5,0x8                                         
4000969c:   00f76733            or  a4,a4,a5                                              
400096a0:   01071713            slli    a4,a4,0x10                                        
    links = 0;                                                                            
400096a4:   000107b7            lui a5,0x10                                               
400096a8:   01075713            srli    a4,a4,0x10                                        
400096ac:   fff78793            addi    a5,a5,-1 # ffff <bsp_section_bss_size+0xaa4f>     
400096b0:   40f707b3            sub a5,a4,a5                                              
400096b4:   00f037b3            snez    a5,a5                                             
400096b8:   40f007b3            neg a5,a5                                                 
400096bc:   00f77733            and a4,a4,a5                                              
  buf->st_nlink   = rtems_rfs_inode_get_links (&inode);                                   
400096c0:   00e41a23            sh  a4,20(s0)                                             
  buf->st_uid     = rtems_rfs_inode_get_uid (&inode);                                     
400096c4:   0076c783            lbu a5,7(a3)                                              
400096c8:   0066c703            lbu a4,6(a3)                                              
400096cc:   00879793            slli    a5,a5,0x8                                         
400096d0:   00e7e7b3            or  a5,a5,a4                                              
400096d4:   00879713            slli    a4,a5,0x8                                         
400096d8:   0087d793            srli    a5,a5,0x8                                         
400096dc:   00f767b3            or  a5,a4,a5                                              
400096e0:   00f41b23            sh  a5,22(s0)                                             
  return (rtems_rfs_read_u32 (&handle->node->owner) >> 16) & 0xffff;                      
400096e4:   0046c783            lbu a5,4(a3)                                              
400096e8:   0056c703            lbu a4,5(a3)                                              
400096ec:   01879793            slli    a5,a5,0x18                                        
400096f0:   01071713            slli    a4,a4,0x10                                        
400096f4:   00e7e7b3            or  a5,a5,a4                                              
400096f8:   0107d793            srli    a5,a5,0x10                                        
400096fc:   00f41c23            sh  a5,24(s0)                                             
  shared = rtems_rfs_file_get_shared (fs, rtems_rfs_inode_ino (&inode));                  
40009700:   2200d0ef            jal ra,40016920 <rtems_rfs_file_get_shared>               
  if (shared)                                                                             
40009704:   0a050063            beqz    a0,400097a4 <rtems_rfs_rtems_fstat+0x218>         
    buf->st_blocks  = rtems_rfs_file_shared_get_block_count (shared);                     
40009708:   08452783            lw  a5,132(a0)                                            
    buf->st_atime   = rtems_rfs_file_shared_get_atime (shared);                           
4000970c:   08c52583            lw  a1,140(a0)                                            
    buf->st_mtime   = rtems_rfs_file_shared_get_mtime (shared);                           
40009710:   09052603            lw  a2,144(a0)                                            
    buf->st_ctime   = rtems_rfs_file_shared_get_ctime (shared);                           
40009714:   09452683            lw  a3,148(a0)                                            
    if (S_ISLNK (buf->st_mode))                                                           
40009718:   01042703            lw  a4,16(s0)                                             
    buf->st_blocks  = rtems_rfs_file_shared_get_block_count (shared);                     
4000971c:   06f42223            sw  a5,100(s0)                                            
    if (S_ISLNK (buf->st_mode))                                                           
40009720:   0000f7b7            lui a5,0xf                                                
40009724:   00e7f7b3            and a5,a5,a4                                              
    buf->st_atime   = rtems_rfs_file_shared_get_atime (shared);                           
40009728:   02b42823            sw  a1,48(s0)                                             
4000972c:   02042a23            sw  zero,52(s0)                                           
    buf->st_mtime   = rtems_rfs_file_shared_get_mtime (shared);                           
40009730:   04c42023            sw  a2,64(s0)                                             
40009734:   04042223            sw  zero,68(s0)                                           
    buf->st_ctime   = rtems_rfs_file_shared_get_ctime (shared);                           
40009738:   04d42823            sw  a3,80(s0)                                             
4000973c:   04042a23            sw  zero,84(s0)                                           
    if (S_ISLNK (buf->st_mode))                                                           
40009740:   0000a737            lui a4,0xa                                                
40009744:   04e79463            bne a5,a4,4000978c <rtems_rfs_rtems_fstat+0x200>          
      buf->st_size = rtems_rfs_file_shared_get_block_offset (shared);                     
40009748:   08855783            lhu a5,136(a0)                                            <== NOT EXECUTED
4000974c:   02042623            sw  zero,44(s0)                                           <== NOT EXECUTED
40009750:   02f42423            sw  a5,40(s0)                                             <== NOT EXECUTED
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                                         
40009754:   00892783            lw  a5,8(s2)                                              
  rc = rtems_rfs_inode_close (fs, &inode);                                                
40009758:   00810593            addi    a1,sp,8                                           
4000975c:   00090513            mv  a0,s2                                                 
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                                         
40009760:   06f42023            sw  a5,96(s0)                                             
  rc = rtems_rfs_inode_close (fs, &inode);                                                
40009764:   d49fe0ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40009768:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
4000976c:   14a04a63            bgtz    a0,400098c0 <rtems_rfs_rtems_fstat+0x334>         <== NEVER TAKEN
}                                                                                         
40009770:   03c12083            lw  ra,60(sp)                                             
40009774:   03812403            lw  s0,56(sp)                                             
40009778:   03012903            lw  s2,48(sp)                                             
4000977c:   00048513            mv  a0,s1                                                 
40009780:   03412483            lw  s1,52(sp)                                             
40009784:   04010113            addi    sp,sp,64                                          
40009788:   00008067            ret                                                       
 */                                                                                       
static inline rtems_rfs_pos                                                               
rtems_rfs_file_shared_get_size (rtems_rfs_file_system* fs,                                
                                rtems_rfs_file_shared* shared)                            
{                                                                                         
  return rtems_rfs_block_get_size (fs, &shared->size);                                    
4000978c:   08450593            addi    a1,a0,132                                         
40009790:   00090513            mv  a0,s2                                                 
40009794:   5a5090ef            jal ra,40013538 <rtems_rfs_block_get_size>                
      buf->st_size = rtems_rfs_file_shared_get_size (fs, shared);                         
40009798:   02a42423            sw  a0,40(s0)                                             
4000979c:   02b42623            sw  a1,44(s0)                                             
400097a0:   fb5ff06f            j   40009754 <rtems_rfs_rtems_fstat+0x1c8>                
    buf->st_atime   = rtems_rfs_inode_get_atime (&inode);                                 
400097a4:   01412783            lw  a5,20(sp)                                             
    if (S_ISLNK (buf->st_mode))                                                           
400097a8:   01042603            lw  a2,16(s0)                                             
  return rtems_rfs_read_u32 (&handle->node->atime);                                       
400097ac:   0107c703            lbu a4,16(a5) # f010 <bsp_section_bss_size+0x9a60>        
400097b0:   0117c583            lbu a1,17(a5)                                             
400097b4:   0137c503            lbu a0,19(a5)                                             
400097b8:   0127c683            lbu a3,18(a5)                                             
400097bc:   01059593            slli    a1,a1,0x10                                        
400097c0:   01871713            slli    a4,a4,0x18                                        
400097c4:   00b76733            or  a4,a4,a1                                              
400097c8:   00a76733            or  a4,a4,a0                                              
400097cc:   00869693            slli    a3,a3,0x8                                         
400097d0:   00d76733            or  a4,a4,a3                                              
    buf->st_atime   = rtems_rfs_inode_get_atime (&inode);                                 
400097d4:   02e42823            sw  a4,48(s0)                                             
400097d8:   02042a23            sw  zero,52(s0)                                           
  return rtems_rfs_read_u32 (&handle->node->mtime);                                       
400097dc:   0147c703            lbu a4,20(a5)                                             
400097e0:   0157c583            lbu a1,21(a5)                                             
400097e4:   0177c503            lbu a0,23(a5)                                             
400097e8:   0167c683            lbu a3,22(a5)                                             
400097ec:   01059593            slli    a1,a1,0x10                                        
400097f0:   01871713            slli    a4,a4,0x18                                        
400097f4:   00b76733            or  a4,a4,a1                                              
400097f8:   00a76733            or  a4,a4,a0                                              
400097fc:   00869693            slli    a3,a3,0x8                                         
40009800:   00d76733            or  a4,a4,a3                                              
    buf->st_mtime   = rtems_rfs_inode_get_mtime (&inode);                                 
40009804:   04e42023            sw  a4,64(s0)                                             
40009808:   04042223            sw  zero,68(s0)                                           
  return rtems_rfs_read_u32 (&handle->node->ctime);                                       
4000980c:   0187c703            lbu a4,24(a5)                                             
40009810:   0197c583            lbu a1,25(a5)                                             
40009814:   01b7c503            lbu a0,27(a5)                                             
40009818:   01a7c683            lbu a3,26(a5)                                             
4000981c:   01059593            slli    a1,a1,0x10                                        
40009820:   01871713            slli    a4,a4,0x18                                        
40009824:   00b76733            or  a4,a4,a1                                              
40009828:   00a76733            or  a4,a4,a0                                              
4000982c:   00869693            slli    a3,a3,0x8                                         
40009830:   00d76733            or  a4,a4,a3                                              
    buf->st_ctime   = rtems_rfs_inode_get_ctime (&inode);                                 
40009834:   04e42823            sw  a4,80(s0)                                             
40009838:   04042a23            sw  zero,84(s0)                                           
  return rtems_rfs_read_u32 (&handle->node->block_count);                                 
4000983c:   00c7c703            lbu a4,12(a5)                                             
40009840:   00d7c583            lbu a1,13(a5)                                             
40009844:   00f7c503            lbu a0,15(a5)                                             
40009848:   00e7c683            lbu a3,14(a5)                                             
4000984c:   01871713            slli    a4,a4,0x18                                        
40009850:   01059593            slli    a1,a1,0x10                                        
40009854:   00b76733            or  a4,a4,a1                                              
40009858:   00869693            slli    a3,a3,0x8                                         
4000985c:   00a76733            or  a4,a4,a0                                              
40009860:   00d76733            or  a4,a4,a3                                              
    buf->st_blocks  = rtems_rfs_inode_get_block_count (&inode);                           
40009864:   06e42223            sw  a4,100(s0)                                            
    if (S_ISLNK (buf->st_mode))                                                           
40009868:   0000f737            lui a4,0xf                                                
4000986c:   00c77733            and a4,a4,a2                                              
40009870:   0000a6b7            lui a3,0xa                                                
40009874:   02d71a63            bne a4,a3,400098a8 <rtems_rfs_rtems_fstat+0x31c>          
      buf->st_size = rtems_rfs_inode_get_block_offset (&inode);                           
40009878:   00b7c703            lbu a4,11(a5)                                             
4000987c:   00a7c683            lbu a3,10(a5)                                             
40009880:   02042623            sw  zero,44(s0)                                           
40009884:   00871793            slli    a5,a4,0x8                                         
40009888:   00d7e7b3            or  a5,a5,a3                                              
4000988c:   00879713            slli    a4,a5,0x8                                         
40009890:   0087d793            srli    a5,a5,0x8                                         
40009894:   00f767b3            or  a5,a4,a5                                              
40009898:   01079793            slli    a5,a5,0x10                                        
4000989c:   0107d793            srli    a5,a5,0x10                                        
400098a0:   02f42423            sw  a5,40(s0)                                             
400098a4:   eb1ff06f            j   40009754 <rtems_rfs_rtems_fstat+0x1c8>                
      buf->st_size = rtems_rfs_inode_get_size (fs, &inode);                               
400098a8:   00810593            addi    a1,sp,8                                           
400098ac:   00090513            mv  a0,s2                                                 
400098b0:   bccff0ef            jal ra,40008c7c <rtems_rfs_inode_get_size>                
400098b4:   02a42423            sw  a0,40(s0)                                             
400098b8:   02b42623            sw  a1,44(s0)                                             
400098bc:   e99ff06f            j   40009754 <rtems_rfs_rtems_fstat+0x1c8>                
    return rtems_rfs_rtems_error ("stat: closing inode", rc);                             
400098c0:   3c8140ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
400098c4:   00852023            sw  s0,0(a0)                                              <== NOT EXECUTED
400098c8:   fff00493            li  s1,-1                                                 <== NOT EXECUTED
400098cc:   ea5ff06f            j   40009770 <rtems_rfs_rtems_fstat+0x1e4>                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("stat: opening inode", rc);                             
400098d0:   3b8140ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
400098d4:   00952023            sw  s1,0(a0)                                              <== NOT EXECUTED
400098d8:   fff00493            li  s1,-1                                                 <== NOT EXECUTED
400098dc:   e95ff06f            j   40009770 <rtems_rfs_rtems_fstat+0x1e4>                <== NOT EXECUTED
                                                                                          

40009ba8 <rtems_rfs_rtems_initialise>: {
40009ba8:   fc010113            addi    sp,sp,-64                                         
40009bac:   01712e23            sw  s7,28(sp)                                             
40009bb0:   02112e23            sw  ra,60(sp)                                             
40009bb4:   02812c23            sw  s0,56(sp)                                             
40009bb8:   02912a23            sw  s1,52(sp)                                             
40009bbc:   03212823            sw  s2,48(sp)                                             
40009bc0:   03312623            sw  s3,44(sp)                                             
40009bc4:   03412423            sw  s4,40(sp)                                             
40009bc8:   03512223            sw  s5,36(sp)                                             
40009bcc:   03612023            sw  s6,32(sp)                                             
40009bd0:   00050b93            mv  s7,a0                                                 
  while (options)                                                                         
40009bd4:   1a058a63            beqz    a1,40009d88 <rtems_rfs_rtems_initialise+0x1e0>    <== ALWAYS TAKEN
40009bd8:   00058413            mv  s0,a1                                                 <== NOT EXECUTED
  uint32_t                 max_held_buffers = RTEMS_RFS_FS_MAX_HELD_BUFFERS;              
40009bdc:   00500a93            li  s5,5                                                  <== NOT EXECUTED
  uint32_t                 flags = 0;                                                     
40009be0:   00000493            li  s1,0                                                  <== NOT EXECUTED
40009be4:   40022a37            lui s4,0x40022                                            <== NOT EXECUTED
40009be8:   400229b7            lui s3,0x40022                                            <== NOT EXECUTED
    else if (strncmp (options, "no-local-cache",                                          
40009bec:   40022937            lui s2,0x40022                                            <== NOT EXECUTED
    else if (strncmp (options, "max-held-bufs",                                           
40009bf0:   40022b37            lui s6,0x40022                                            <== NOT EXECUTED
    printf ("options=%s\n", options);                                                     
40009bf4:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40009bf8:   5bca0513            addi    a0,s4,1468 # 400225bc <IMFS_node_control_sym_link+0x105c><== NOT EXECUTED
40009bfc:   dfdf70ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    if (strncmp (options, "hold-bitmaps",                                                 
40009c00:   5c898593            addi    a1,s3,1480 # 400225c8 <IMFS_node_control_sym_link+0x1068><== NOT EXECUTED
40009c04:   00c00613            li  a2,12                                                 <== NOT EXECUTED
40009c08:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009c0c:   494150ef            jal ra,4001f0a0 <strncmp>                                 <== NOT EXECUTED
40009c10:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
    else if (strncmp (options, "no-local-cache",                                          
40009c14:   5d890593            addi    a1,s2,1496 # 400225d8 <IMFS_node_control_sym_link+0x1078><== NOT EXECUTED
40009c18:   00e00613            li  a2,14                                                 <== NOT EXECUTED
40009c1c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
    if (strncmp (options, "hold-bitmaps",                                                 
40009c20:   0c079c63            bnez    a5,40009cf8 <rtems_rfs_rtems_initialise+0x150>    <== NOT EXECUTED
      flags |= RTEMS_RFS_FS_BITMAPS_HOLD;                                                 
40009c24:   0014e493            ori s1,s1,1                                               <== NOT EXECUTED
    options = strchr (options, ',');                                                      
40009c28:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009c2c:   02c00593            li  a1,44                                                 <== NOT EXECUTED
40009c30:   3a5140ef            jal ra,4001e7d4 <strchr>                                  <== NOT EXECUTED
    if (options)                                                                          
40009c34:   00050863            beqz    a0,40009c44 <rtems_rfs_rtems_initialise+0x9c>     <== NOT EXECUTED
      if (*options == '\0')                                                               
40009c38:   00154783            lbu a5,1(a0)                                              <== NOT EXECUTED
      ++options;                                                                          
40009c3c:   00150413            addi    s0,a0,1                                           <== NOT EXECUTED
      if (*options == '\0')                                                               
40009c40:   fa079ae3            bnez    a5,40009bf4 <rtems_rfs_rtems_initialise+0x4c>     <== NOT EXECUTED
  rtems = malloc (sizeof (rtems_rfs_rtems_private));                                      
40009c44:   00100593            li  a1,1                                                  
40009c48:   01800513            li  a0,24                                                 
40009c4c:   134080ef            jal ra,40011d80 <calloc>                                  
40009c50:   00050413            mv  s0,a0                                                 
  if (!rtems)                                                                             
40009c54:   14050a63            beqz    a0,40009da8 <rtems_rfs_rtems_initialise+0x200>    <== NEVER TAKEN
  rc = rtems_rfs_mutex_create (&rtems->access);                                           
40009c58:   0d80e0ef            jal ra,40017d30 <rtems_rfs_mutex_create>                  
40009c5c:   00050913            mv  s2,a0                                                 
    free (rtems);                                                                         
40009c60:   00040513            mv  a0,s0                                                 
  if (rc > 0)                                                                             
40009c64:   13204863            bgtz    s2,40009d94 <rtems_rfs_rtems_initialise+0x1ec>    <== NEVER TAKEN
  _Mutex_recursive_Acquire( mutex );                                                      
40009c68:   1b4020ef            jal ra,4000be1c <_Mutex_recursive_Acquire>                
  rc = rtems_rfs_fs_open (mt_entry->dev, rtems, flags, max_held_buffers, &fs);            
40009c6c:   038ba503            lw  a0,56(s7)                                             
40009c70:   00048613            mv  a2,s1                                                 
40009c74:   00c10713            addi    a4,sp,12                                          
40009c78:   000a8693            mv  a3,s5                                                 
40009c7c:   00040593            mv  a1,s0                                                 
40009c80:   4fd0c0ef            jal ra,4001697c <rtems_rfs_fs_open>                       
40009c84:   00050493            mv  s1,a0                                                 
  if (rc)                                                                                 
40009c88:   0a051a63            bnez    a0,40009d3c <rtems_rfs_rtems_initialise+0x194>    <== NEVER TAKEN
  mt_entry->fs_info                          = fs;                                        
40009c8c:   00c12503            lw  a0,12(sp)                                             
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;                
40009c90:   024ba703            lw  a4,36(s7)                                             
  mt_entry->ops                              = &rtems_rfs_ops;                            
40009c94:   400227b7            lui a5,0x40022                                            
40009c98:   5f878793            addi    a5,a5,1528 # 400225f8 <rtems_rfs_ops>             
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);                                
40009c9c:   08052403            lw  s0,128(a0)                                            
40009ca0:   00fba623            sw  a5,12(s7)                                             
  mt_entry->fs_info                          = fs;                                        
40009ca4:   00aba423            sw  a0,8(s7)                                              
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;                
40009ca8:   00100793            li  a5,1                                                  
40009cac:   00f72423            sw  a5,8(a4) # f008 <bsp_section_bss_size+0x9a58>         
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;             
40009cb0:   400227b7            lui a5,0x40022                                            
40009cb4:   68478793            addi    a5,a5,1668 # 40022684 <rtems_rfs_rtems_dir_handlers>
40009cb8:   00f72823            sw  a5,16(a4)                                             
  rtems_rfs_buffers_release (fs);                                                         
40009cbc:   de9fc0ef            jal ra,40006aa4 <rtems_rfs_buffers_release>               
  _Mutex_recursive_Release( mutex );                                                      
40009cc0:   00040513            mv  a0,s0                                                 
40009cc4:   1e0020ef            jal ra,4000bea4 <_Mutex_recursive_Release>                
}                                                                                         
40009cc8:   03c12083            lw  ra,60(sp)                                             
40009ccc:   03812403            lw  s0,56(sp)                                             
40009cd0:   03012903            lw  s2,48(sp)                                             
40009cd4:   02c12983            lw  s3,44(sp)                                             
40009cd8:   02812a03            lw  s4,40(sp)                                             
40009cdc:   02412a83            lw  s5,36(sp)                                             
40009ce0:   02012b03            lw  s6,32(sp)                                             
40009ce4:   01c12b83            lw  s7,28(sp)                                             
40009ce8:   00048513            mv  a0,s1                                                 
40009cec:   03412483            lw  s1,52(sp)                                             
40009cf0:   04010113            addi    sp,sp,64                                          
40009cf4:   00008067            ret                                                       
    else if (strncmp (options, "no-local-cache",                                          
40009cf8:   3a8150ef            jal ra,4001f0a0 <strncmp>                                 <== NOT EXECUTED
40009cfc:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
    else if (strncmp (options, "max-held-bufs",                                           
40009d00:   5e8b0593            addi    a1,s6,1512 # 400225e8 <IMFS_node_control_sym_link+0x1088><== NOT EXECUTED
40009d04:   00d00613            li  a2,13                                                 <== NOT EXECUTED
40009d08:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
    else if (strncmp (options, "no-local-cache",                                          
40009d0c:   00079663            bnez    a5,40009d18 <rtems_rfs_rtems_initialise+0x170>    <== NOT EXECUTED
      flags |= RTEMS_RFS_FS_NO_LOCAL_CACHE;                                               
40009d10:   0024e493            ori s1,s1,2                                               <== NOT EXECUTED
40009d14:   f15ff06f            j   40009c28 <rtems_rfs_rtems_initialise+0x80>            <== NOT EXECUTED
    else if (strncmp (options, "max-held-bufs",                                           
40009d18:   388150ef            jal ra,4001f0a0 <strncmp>                                 <== NOT EXECUTED
40009d1c:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
      max_held_buffers = strtoul (options + sizeof ("max-held-bufs"), 0, 0);              
40009d20:   00000613            li  a2,0                                                  <== NOT EXECUTED
40009d24:   00000593            li  a1,0                                                  <== NOT EXECUTED
40009d28:   00e40513            addi    a0,s0,14                                          <== NOT EXECUTED
    else if (strncmp (options, "max-held-bufs",                                           
40009d2c:   04079463            bnez    a5,40009d74 <rtems_rfs_rtems_initialise+0x1cc>    <== NOT EXECUTED
      max_held_buffers = strtoul (options + sizeof ("max-held-bufs"), 0, 0);              
40009d30:   60c150ef            jal ra,4001f33c <strtoul>                                 <== NOT EXECUTED
40009d34:   00050a93            mv  s5,a0                                                 <== NOT EXECUTED
40009d38:   ef1ff06f            j   40009c28 <rtems_rfs_rtems_initialise+0x80>            <== NOT EXECUTED
40009d3c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009d40:   164020ef            jal ra,4000bea4 <_Mutex_recursive_Release>                <== NOT EXECUTED
    rtems_rfs_mutex_destroy (&rtems->access);                                             
40009d44:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009d48:   0100e0ef            jal ra,40017d58 <rtems_rfs_mutex_destroy>                 <== NOT EXECUTED
    free (rtems);                                                                         
40009d4c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009d50:   838f80ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
    return rtems_rfs_rtems_error ("initialise: open", errno);                             
40009d54:   735130ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40009d58:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
40009d5c:   72d130ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40009d60:   00042783            lw  a5,0(s0)                                              <== NOT EXECUTED
40009d64:   00f034b3            snez    s1,a5                                             <== NOT EXECUTED
40009d68:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
40009d6c:   409004b3            neg s1,s1                                                 <== NOT EXECUTED
40009d70:   f59ff06f            j   40009cc8 <rtems_rfs_rtems_initialise+0x120>           <== NOT EXECUTED
      return rtems_rfs_rtems_error ("initialise: invalid option", EINVAL);                
40009d74:   715130ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40009d78:   01600793            li  a5,22                                                 <== NOT EXECUTED
40009d7c:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
40009d80:   fff00493            li  s1,-1                                                 <== NOT EXECUTED
40009d84:   f45ff06f            j   40009cc8 <rtems_rfs_rtems_initialise+0x120>           <== NOT EXECUTED
  uint32_t                 max_held_buffers = RTEMS_RFS_FS_MAX_HELD_BUFFERS;              
40009d88:   00500a93            li  s5,5                                                  
  uint32_t                 flags = 0;                                                     
40009d8c:   00000493            li  s1,0                                                  
40009d90:   eb5ff06f            j   40009c44 <rtems_rfs_rtems_initialise+0x9c>            
    free (rtems);                                                                         
40009d94:   ff5f70ef            jal ra,40001d88 <free>                                    <== NOT EXECUTED
    return rtems_rfs_rtems_error ("initialise: cannot create mutex", rc);                 
40009d98:   6f1130ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40009d9c:   01252023            sw  s2,0(a0)                                              <== NOT EXECUTED
40009da0:   fff00493            li  s1,-1                                                 <== NOT EXECUTED
40009da4:   f25ff06f            j   40009cc8 <rtems_rfs_rtems_initialise+0x120>           <== NOT EXECUTED
    return rtems_rfs_rtems_error ("initialise: local data", ENOMEM);                      
40009da8:   6e1130ef            jal ra,4001dc88 <__errno>                                 <== NOT EXECUTED
40009dac:   00c00793            li  a5,12                                                 <== NOT EXECUTED
40009db0:   00f52023            sw  a5,0(a0)                                              <== NOT EXECUTED
40009db4:   fff00493            li  s1,-1                                                 <== NOT EXECUTED
40009db8:   f11ff06f            j   40009cc8 <rtems_rfs_rtems_initialise+0x120>           <== NOT EXECUTED
                                                                                          

4000a02c <rtems_rfs_rtems_set_handlers>: return rtems_rfs_read_u16 (&handle->node->mode);
4000a02c:   00c5a783            lw  a5,12(a1)                                             
rtems_rfs_rtems_set_handlers (rtems_filesystem_location_info_t* loc,                      
                              rtems_rfs_inode_handle*           inode)                    
{                                                                                         
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                                       
  loc->handlers = NULL;                                                                   
  if (RTEMS_RFS_S_ISDIR (mode))                                                           
4000a030:   00004737            lui a4,0x4                                                
4000a034:   0037c583            lbu a1,3(a5)                                              
4000a038:   0027c783            lbu a5,2(a5)                                              
  loc->handlers = NULL;                                                                   
4000a03c:   00052823            sw  zero,16(a0)                                           
4000a040:   00859593            slli    a1,a1,0x8                                         
4000a044:   00f5e5b3            or  a1,a1,a5                                              
4000a048:   00859793            slli    a5,a1,0x8                                         
4000a04c:   0085d593            srli    a1,a1,0x8                                         
4000a050:   00b7e5b3            or  a1,a5,a1                                              
4000a054:   01059593            slli    a1,a1,0x10                                        
4000a058:   0105d593            srli    a1,a1,0x10                                        
  if (RTEMS_RFS_S_ISDIR (mode))                                                           
4000a05c:   fffff7b7            lui a5,0xfffff                                            
4000a060:   00f5f7b3            and a5,a1,a5                                              
4000a064:   04e78663            beq a5,a4,4000a0b0 <rtems_rfs_rtems_set_handlers+0x84>    
    loc->handlers = rtems_rfs_rtems_handlers (dir);                                       
  else if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK(mode))                           
4000a068:   ffffb737            lui a4,0xffffb                                            
4000a06c:   00e5f733            and a4,a1,a4                                              
4000a070:   000026b7            lui a3,0x2                                                
4000a074:   02d70463            beq a4,a3,4000a09c <rtems_rfs_rtems_set_handlers+0x70>    
    loc->handlers = rtems_rfs_rtems_handlers (device);                                    
  else if (RTEMS_RFS_S_ISLNK (mode))                                                      
4000a078:   0000a737            lui a4,0xa                                                
4000a07c:   04e78463            beq a5,a4,4000a0c4 <rtems_rfs_rtems_set_handlers+0x98>    
    loc->handlers = rtems_rfs_rtems_handlers (link);                                      
  else if (RTEMS_RFS_S_ISREG (mode))                                                      
4000a080:   00008737            lui a4,0x8                                                
4000a084:   04e79a63            bne a5,a4,4000a0d8 <rtems_rfs_rtems_set_handlers+0xac>    
    loc->handlers = rtems_rfs_rtems_handlers (file);                                      
4000a088:   400247b7            lui a5,0x40024                                            
4000a08c:   f1078793            addi    a5,a5,-240 # 40023f10 <rtems_rfs_rtems_file_handlers>
4000a090:   00f52823            sw  a5,16(a0)                                             
  else                                                                                    
  {                                                                                       
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);                                
    return false;                                                                         
  }                                                                                       
  return true;                                                                            
4000a094:   00100513            li  a0,1                                                  
}                                                                                         
4000a098:   00008067            ret                                                       
    loc->handlers = rtems_rfs_rtems_handlers (device);                                    
4000a09c:   400247b7            lui a5,0x40024                                            <== NOT EXECUTED
4000a0a0:   ed078793            addi    a5,a5,-304 # 40023ed0 <rtems_rfs_rtems_device_handlers><== NOT EXECUTED
4000a0a4:   00f52823            sw  a5,16(a0)                                             <== NOT EXECUTED
  return true;                                                                            
4000a0a8:   00100513            li  a0,1                                                  <== NOT EXECUTED
    loc->handlers = rtems_rfs_rtems_handlers (device);                                    
4000a0ac:   00008067            ret                                                       <== NOT EXECUTED
    loc->handlers = rtems_rfs_rtems_handlers (dir);                                       
4000a0b0:   400227b7            lui a5,0x40022                                            
4000a0b4:   68478793            addi    a5,a5,1668 # 40022684 <rtems_rfs_rtems_dir_handlers>
4000a0b8:   00f52823            sw  a5,16(a0)                                             
  return true;                                                                            
4000a0bc:   00100513            li  a0,1                                                  
4000a0c0:   00008067            ret                                                       
    loc->handlers = rtems_rfs_rtems_handlers (link);                                      
4000a0c4:   400227b7            lui a5,0x40022                                            
4000a0c8:   64478793            addi    a5,a5,1604 # 40022644 <rtems_rfs_rtems_link_handlers>
4000a0cc:   00f52823            sw  a5,16(a0)                                             
  return true;                                                                            
4000a0d0:   00100513            li  a0,1                                                  
4000a0d4:   00008067            ret                                                       
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);                                
4000a0d8:   40022537            lui a0,0x40022                                            <== NOT EXECUTED
{                                                                                         
4000a0dc:   ff010113            addi    sp,sp,-16                                         <== NOT EXECUTED
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);                                
4000a0e0:   6c450513            addi    a0,a0,1732 # 400226c4 <rtems_rfs_rtems_dir_handlers+0x40><== NOT EXECUTED
{                                                                                         
4000a0e4:   00112623            sw  ra,12(sp)                                             <== NOT EXECUTED
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);                                
4000a0e8:   911f70ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
}                                                                                         
4000a0ec:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
    return false;                                                                         
4000a0f0:   00000513            li  a0,0                                                  <== NOT EXECUTED
}                                                                                         
4000a0f4:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
4000a0f8:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

4001787c <rtems_rfs_symlink>: const char* link, int link_length, uid_t uid, gid_t gid, rtems_rfs_ino parent) {
4001787c:   f3010113            addi    sp,sp,-208                                        
40017880:   0d212023            sw  s2,192(sp)                                            
40017884:   0b512a23            sw  s5,180(sp)                                            
40017888:   00050913            mv  s2,a0                                                 
4001788c:   00058a93            mv  s5,a1                                                 
  rtems_rfs_inode_handle inode;                                                           
  rtems_rfs_ino          ino;                                                             
  int                    rc;                                                              
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK))                                          
40017890:   00000513            li  a0,0                                                  
40017894:   00200593            li  a1,2                                                  
{                                                                                         
40017898:   0c912223            sw  s1,196(sp)                                            
4001789c:   0b312e23            sw  s3,188(sp)                                            
400178a0:   0b412c23            sw  s4,184(sp)                                            
400178a4:   0b612823            sw  s6,176(sp)                                            
400178a8:   0b712623            sw  s7,172(sp)                                            
400178ac:   0b812423            sw  s8,168(sp)                                            
400178b0:   0c112623            sw  ra,204(sp)                                            
400178b4:   0c812423            sw  s0,200(sp)                                            
400178b8:   00060493            mv  s1,a2                                                 
400178bc:   00068a13            mv  s4,a3                                                 
400178c0:   00070993            mv  s3,a4                                                 
400178c4:   00078b93            mv  s7,a5                                                 
400178c8:   00080c13            mv  s8,a6                                                 
400178cc:   00088b13            mv  s6,a7                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK))                                          
400178d0:   83df20ef            jal ra,4000a10c <rtems_rfs_trace>                         
400178d4:   12051063            bnez    a0,400179f4 <rtems_rfs_symlink+0x178>             <== NEVER TAKEN
    printf (" link:");                                                                    
    for (c = 0; c < link_length; c++)                                                     
      printf ("%c", link[c]);                                                             
  }                                                                                       
                                                                                          
  if (link_length >= rtems_rfs_fs_block_size (fs))                                        
400178d8:   00892783            lw  a5,8(s2)                                              
    return ENAMETOOLONG;                                                                  
400178dc:   05b00413            li  s0,91                                                 
  if (link_length >= rtems_rfs_fs_block_size (fs))                                        
400178e0:   04f9f263            bgeu    s3,a5,40017924 <rtems_rfs_symlink+0xa8>           
                                                                                          
  rc = rtems_rfs_inode_create (fs, parent, name, strlen (name),                           
400178e4:   000a8513            mv  a0,s5                                                 
400178e8:   72c070ef            jal ra,4001f014 <strlen>                                  
400178ec:   01410793            addi    a5,sp,20                                          
400178f0:   0000a737            lui a4,0xa                                                
400178f4:   00050693            mv  a3,a0                                                 
400178f8:   00f12023            sw  a5,0(sp)                                              
400178fc:   000c0893            mv  a7,s8                                                 
40017900:   000b8813            mv  a6,s7                                                 
40017904:   00100793            li  a5,1                                                  
40017908:   1ff70713            addi    a4,a4,511 # a1ff <bsp_section_bss_size+0x4c4f>    
4001790c:   000a8613            mv  a2,s5                                                 
40017910:   000b0593            mv  a1,s6                                                 
40017914:   00090513            mv  a0,s2                                                 
40017918:   f99f00ef            jal ra,400088b0 <rtems_rfs_inode_create>                  
4001791c:   00050413            mv  s0,a0                                                 
                               RTEMS_RFS_S_SYMLINK,                                       
                               1, uid, gid, &ino);                                        
  if (rc > 0)                                                                             
40017920:   02a05c63            blez    a0,40017958 <rtems_rfs_symlink+0xdc>              <== ALWAYS TAKEN
  rtems_rfs_inode_set_block_offset (&inode, link_length);                                 
                                                                                          
  rc = rtems_rfs_inode_close (fs, &inode);                                                
                                                                                          
  return rc;                                                                              
}                                                                                         
40017924:   0cc12083            lw  ra,204(sp)                                            
40017928:   00040513            mv  a0,s0                                                 
4001792c:   0c812403            lw  s0,200(sp)                                            
40017930:   0c412483            lw  s1,196(sp)                                            
40017934:   0c012903            lw  s2,192(sp)                                            
40017938:   0bc12983            lw  s3,188(sp)                                            
4001793c:   0b812a03            lw  s4,184(sp)                                            
40017940:   0b412a83            lw  s5,180(sp)                                            
40017944:   0b012b03            lw  s6,176(sp)                                            
40017948:   0ac12b83            lw  s7,172(sp)                                            
4001794c:   0a812c03            lw  s8,168(sp)                                            
40017950:   0d010113            addi    sp,sp,208                                         
40017954:   00008067            ret                                                       
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                                      
40017958:   01412583            lw  a1,20(sp)                                             
4001795c:   00100693            li  a3,1                                                  
40017960:   02810613            addi    a2,sp,40                                          
40017964:   00090513            mv  a0,s2                                                 
40017968:   919f00ef            jal ra,40008280 <rtems_rfs_inode_open>                    
4001796c:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40017970:   faa04ae3            bgtz    a0,40017924 <rtems_rfs_symlink+0xa8>              <== NEVER TAKEN
  if (link_length < RTEMS_RFS_INODE_DATA_NAME_SIZE)                                       
40017974:   01300793            li  a5,19                                                 
40017978:   0d37ea63            bltu    a5,s3,40017a4c <rtems_rfs_symlink+0x1d0>          
    memset (inode.node->data.name, 0, RTEMS_RFS_INODE_DATA_NAME_SIZE);                    
4001797c:   03412403            lw  s0,52(sp)                                             
40017980:   01400613            li  a2,20                                                 
40017984:   00000593            li  a1,0                                                  
40017988:   01c40793            addi    a5,s0,28                                          
4001798c:   00078513            mv  a0,a5                                                 
40017990:   1a9060ef            jal ra,4001e338 <memset>                                  
    memcpy (inode.node->data.name, link, link_length);                                    
40017994:   00098613            mv  a2,s3                                                 
40017998:   000a0593            mv  a1,s4                                                 
4001799c:   754060ef            jal ra,4001e0f0 <memcpy>                                  
  rtems_rfs_write_u32 (&handle->node->block_count, block_count);                          
400179a0:   00040623            sb  zero,12(s0)                                           
400179a4:   03412783            lw  a5,52(sp)                                             
400179a8:   000786a3            sb  zero,13(a5)                                           
400179ac:   03412783            lw  a5,52(sp)                                             
400179b0:   00078723            sb  zero,14(a5)                                           
400179b4:   03412783            lw  a5,52(sp)                                             
400179b8:   000787a3            sb  zero,15(a5)                                           
  rtems_rfs_write_u16 (&handle->node->block_offset, block_offset);                        
400179bc:   03412703            lw  a4,52(sp)                                             
400179c0:   01099793            slli    a5,s3,0x10                                        
400179c4:   0107d793            srli    a5,a5,0x10                                        
400179c8:   0087d793            srli    a5,a5,0x8                                         
400179cc:   00f70523            sb  a5,10(a4)                                             
400179d0:   03412783            lw  a5,52(sp)                                             
  rc = rtems_rfs_inode_close (fs, &inode);                                                
400179d4:   02810593            addi    a1,sp,40                                          
400179d8:   00090513            mv  a0,s2                                                 
400179dc:   013785a3            sb  s3,11(a5)                                             
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
400179e0:   00100793            li  a5,1                                                  
400179e4:   02f10c23            sb  a5,56(sp)                                             
400179e8:   ac5f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   
400179ec:   00050413            mv  s0,a0                                                 
  return rc;                                                                              
400179f0:   f35ff06f            j   40017924 <rtems_rfs_symlink+0xa8>                     
    printf ("rtems-rfs: symlink: parent:%" PRIu32 " name:", parent);                      
400179f4:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400179f8:   000b0593            mv  a1,s6                                                 <== NOT EXECUTED
400179fc:   e8050513            addi    a0,a0,-384 # 40023e80 <IMFS_LIMITS_AND_OPTIONS+0x10a0><== NOT EXECUTED
40017a00:   ff9e90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40017a04:   00905e63            blez    s1,40017a20 <rtems_rfs_symlink+0x1a4>             <== NOT EXECUTED
40017a08:   000a8413            mv  s0,s5                                                 <== NOT EXECUTED
40017a0c:   015484b3            add s1,s1,s5                                              <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
40017a10:   00044503            lbu a0,0(s0)                                              <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40017a14:   00140413            addi    s0,s0,1                                           <== NOT EXECUTED
      printf ("%c", name[c]);                                                             
40017a18:   1fd060ef            jal ra,4001e414 <putchar>                                 <== NOT EXECUTED
    for (c = 0; c < length; c++)                                                          
40017a1c:   fe941ae3            bne s0,s1,40017a10 <rtems_rfs_symlink+0x194>              <== NOT EXECUTED
    printf (" link:");                                                                    
40017a20:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017a24:   ea450513            addi    a0,a0,-348 # 40023ea4 <IMFS_LIMITS_AND_OPTIONS+0x10c4><== NOT EXECUTED
40017a28:   fd1e90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    for (c = 0; c < link_length; c++)                                                     
40017a2c:   eb3056e3            blez    s3,400178d8 <rtems_rfs_symlink+0x5c>              <== NOT EXECUTED
40017a30:   000a0413            mv  s0,s4                                                 <== NOT EXECUTED
40017a34:   014984b3            add s1,s3,s4                                              <== NOT EXECUTED
      printf ("%c", link[c]);                                                             
40017a38:   00044503            lbu a0,0(s0)                                              <== NOT EXECUTED
    for (c = 0; c < link_length; c++)                                                     
40017a3c:   00140413            addi    s0,s0,1                                           <== NOT EXECUTED
      printf ("%c", link[c]);                                                             
40017a40:   1d5060ef            jal ra,4001e414 <putchar>                                 <== NOT EXECUTED
    for (c = 0; c < link_length; c++)                                                     
40017a44:   fe849ae3            bne s1,s0,40017a38 <rtems_rfs_symlink+0x1bc>              <== NOT EXECUTED
40017a48:   e91ff06f            j   400178d8 <rtems_rfs_symlink+0x5c>                     <== NOT EXECUTED
    rc = rtems_rfs_block_map_open (fs, &inode, &map);                                     
40017a4c:   05010613            addi    a2,sp,80                                          <== NOT EXECUTED
40017a50:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40017a54:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40017a58:   b21fb0ef            jal ra,40013578 <rtems_rfs_block_map_open>                <== NOT EXECUTED
40017a5c:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017a60:   08a04c63            bgtz    a0,40017af8 <rtems_rfs_symlink+0x27c>             <== NOT EXECUTED
    rc = rtems_rfs_block_map_grow (fs, &map, 1, &block);                                  
40017a64:   01810693            addi    a3,sp,24                                          <== NOT EXECUTED
40017a68:   00100613            li  a2,1                                                  <== NOT EXECUTED
40017a6c:   05010593            addi    a1,sp,80                                          <== NOT EXECUTED
40017a70:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40017a74:   914fc0ef            jal ra,40013b88 <rtems_rfs_block_map_grow>                <== NOT EXECUTED
40017a78:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017a7c:   08a04663            bgtz    a0,40017b08 <rtems_rfs_symlink+0x28c>             <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false);                     
40017a80:   01812603            lw  a2,24(sp)                                             <== NOT EXECUTED
40017a84:   00000693            li  a3,0                                                  <== NOT EXECUTED
40017a88:   01c10593            addi    a1,sp,28                                          <== NOT EXECUTED
40017a8c:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40017a90:   00010e23            sb  zero,28(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40017a94:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40017a98:   02012223            sw  zero,36(sp)                                           <== NOT EXECUTED
40017a9c:   ae1ee0ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         <== NOT EXECUTED
40017aa0:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017aa4:   06a04263            bgtz    a0,40017b08 <rtems_rfs_symlink+0x28c>             <== NOT EXECUTED
    data = rtems_rfs_buffer_data (&buffer);                                               
40017aa8:   02412783            lw  a5,36(sp)                                             <== NOT EXECUTED
    memset (data, 0xff, rtems_rfs_fs_block_size (fs));                                    
40017aac:   00892603            lw  a2,8(s2)                                              <== NOT EXECUTED
40017ab0:   0ff00593            li  a1,255                                                <== NOT EXECUTED
    data = rtems_rfs_buffer_data (&buffer);                                               
40017ab4:   01c7a783            lw  a5,28(a5)                                             <== NOT EXECUTED
    memset (data, 0xff, rtems_rfs_fs_block_size (fs));                                    
40017ab8:   00078513            mv  a0,a5                                                 <== NOT EXECUTED
40017abc:   07d060ef            jal ra,4001e338 <memset>                                  <== NOT EXECUTED
    memcpy (data, link, link_length);                                                     
40017ac0:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40017ac4:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40017ac8:   628060ef            jal ra,4001e0f0 <memcpy>                                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40017acc:   01c10593            addi    a1,sp,28                                          <== NOT EXECUTED
40017ad0:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40017ad4:   d41ee0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    rc = rtems_rfs_block_map_close (fs, &map);                                            
40017ad8:   05010593            addi    a1,sp,80                                          <== NOT EXECUTED
40017adc:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40017ae0:   00010e23            sb  zero,28(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40017ae4:   02012023            sw  zero,32(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40017ae8:   02012223            sw  zero,36(sp)                                           <== NOT EXECUTED
40017aec:   c61fb0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
40017af0:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017af4:   eca054e3            blez    a0,400179bc <rtems_rfs_symlink+0x140>             <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                                                 
40017af8:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40017afc:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40017b00:   9adf00ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
      return rc;                                                                          
40017b04:   e21ff06f            j   40017924 <rtems_rfs_symlink+0xa8>                     <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                                               
40017b08:   05010593            addi    a1,sp,80                                          <== NOT EXECUTED
40017b0c:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40017b10:   c3dfb0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
40017b14:   fe5ff06f            j   40017af8 <rtems_rfs_symlink+0x27c>                    <== NOT EXECUTED
                                                                                          

40017b18 <rtems_rfs_symlink_read>: rtems_rfs_symlink_read (rtems_rfs_file_system* fs, rtems_rfs_ino link, char* path, size_t size, size_t* length) {
40017b18:   f5010113            addi    sp,sp,-176                                        
40017b1c:   0a812423            sw  s0,168(sp)                                            
40017b20:   0a912223            sw  s1,164(sp)                                            
40017b24:   00058413            mv  s0,a1                                                 
40017b28:   00050493            mv  s1,a0                                                 
  rtems_rfs_inode_handle inode;                                                           
  int                    rc;                                                              
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK_READ))                                     
40017b2c:   00400593            li  a1,4                                                  
40017b30:   00000513            li  a0,0                                                  
{                                                                                         
40017b34:   0b212023            sw  s2,160(sp)                                            
40017b38:   09312e23            sw  s3,156(sp)                                            
40017b3c:   09412c23            sw  s4,152(sp)                                            
40017b40:   0a112623            sw  ra,172(sp)                                            
40017b44:   00060993            mv  s3,a2                                                 
40017b48:   00068a13            mv  s4,a3                                                 
40017b4c:   00070913            mv  s2,a4                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK_READ))                                     
40017b50:   dbcf20ef            jal ra,4000a10c <rtems_rfs_trace>                         
40017b54:   18051c63            bnez    a0,40017cec <rtems_rfs_symlink_read+0x1d4>        <== NEVER TAKEN
    printf ("rtems-rfs: symlink-read: link:%" PRIu32 "\n", link);                         
                                                                                          
  rc = rtems_rfs_inode_open (fs, link, &inode, true);                                     
40017b58:   00040593            mv  a1,s0                                                 
40017b5c:   00100693            li  a3,1                                                  
40017b60:   01810613            addi    a2,sp,24                                          
40017b64:   00048513            mv  a0,s1                                                 
40017b68:   f18f00ef            jal ra,40008280 <rtems_rfs_inode_open>                    
40017b6c:   00050413            mv  s0,a0                                                 
  if (rc)                                                                                 
40017b70:   0a051063            bnez    a0,40017c10 <rtems_rfs_symlink_read+0xf8>         <== NEVER TAKEN
  return rtems_rfs_read_u16 (&handle->node->mode);                                        
40017b74:   02412583            lw  a1,36(sp)                                             
    return rc;                                                                            
                                                                                          
  if (!RTEMS_RFS_S_ISLNK (rtems_rfs_inode_get_mode (&inode)))                             
40017b78:   0000a737            lui a4,0xa                                                
40017b7c:   0035c783            lbu a5,3(a1)                                              
40017b80:   0025c683            lbu a3,2(a1)                                              
40017b84:   00879793            slli    a5,a5,0x8                                         
40017b88:   00d7e7b3            or  a5,a5,a3                                              
40017b8c:   00879793            slli    a5,a5,0x8                                         
40017b90:   0000f6b7            lui a3,0xf                                                
40017b94:   00d7f7b3            and a5,a5,a3                                              
40017b98:   18e79263            bne a5,a4,40017d1c <rtems_rfs_symlink_read+0x204>         
  {                                                                                       
    rtems_rfs_inode_close (fs, &inode);                                                   
    return EINVAL;                                                                        
  }                                                                                       
                                                                                          
  *length = rtems_rfs_inode_get_block_offset (&inode);                                    
40017b9c:   00b5c603            lbu a2,11(a1)                                             
40017ba0:   00a5c783            lbu a5,10(a1)                                             
40017ba4:   00861613            slli    a2,a2,0x8                                         
40017ba8:   00f66633            or  a2,a2,a5                                              
40017bac:   00861793            slli    a5,a2,0x8                                         
40017bb0:   00865613            srli    a2,a2,0x8                                         
40017bb4:   00c7e633            or  a2,a5,a2                                              
40017bb8:   01061613            slli    a2,a2,0x10                                        
40017bbc:   01065613            srli    a2,a2,0x10                                        
40017bc0:   12ca6263            bltu    s4,a2,40017ce4 <rtems_rfs_symlink_read+0x1cc>     
40017bc4:   00c92023            sw  a2,0(s2)                                              
  return rtems_rfs_read_u32 (&handle->node->block_count);                                 
40017bc8:   00c5c783            lbu a5,12(a1)                                             
40017bcc:   00d5c683            lbu a3,13(a1)                                             
40017bd0:   00f5c503            lbu a0,15(a1)                                             
40017bd4:   00e5c703            lbu a4,14(a1)                                             
40017bd8:   01879793            slli    a5,a5,0x18                                        
40017bdc:   01069693            slli    a3,a3,0x10                                        
40017be0:   00d7e7b3            or  a5,a5,a3                                              
40017be4:   00a7e7b3            or  a5,a5,a0                                              
40017be8:   00871713            slli    a4,a4,0x8                                         
40017bec:   00e7e7b3            or  a5,a5,a4                                              
  if (size < *length)                                                                     
  {                                                                                       
    *length = size;                                                                       
  }                                                                                       
                                                                                          
  if (rtems_rfs_inode_get_block_count (&inode) == 0)                                      
40017bf0:   04079263            bnez    a5,40017c34 <rtems_rfs_symlink_read+0x11c>        <== NEVER TAKEN
  {                                                                                       
    memcpy (path, inode.node->data.name, *length);                                        
40017bf4:   01c58593            addi    a1,a1,28                                          
40017bf8:   00098513            mv  a0,s3                                                 
40017bfc:   4f4060ef            jal ra,4001e0f0 <memcpy>                                  
      rtems_rfs_inode_close (fs, &inode);                                                 
      return rc;                                                                          
    }                                                                                     
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_close (fs, &inode);                                                
40017c00:   01810593            addi    a1,sp,24                                          
40017c04:   00048513            mv  a0,s1                                                 
40017c08:   8a5f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40017c0c:   00050413            mv  s0,a0                                                 
                                                                                          
  return rc;                                                                              
}                                                                                         
40017c10:   0ac12083            lw  ra,172(sp)                                            
40017c14:   00040513            mv  a0,s0                                                 
40017c18:   0a812403            lw  s0,168(sp)                                            
40017c1c:   0a412483            lw  s1,164(sp)                                            
40017c20:   0a012903            lw  s2,160(sp)                                            
40017c24:   09c12983            lw  s3,156(sp)                                            
40017c28:   09812a03            lw  s4,152(sp)                                            
40017c2c:   0b010113            addi    sp,sp,176                                         
40017c30:   00008067            ret                                                       
    rc = rtems_rfs_block_map_open (fs, &inode, &map);                                     
40017c34:   04010613            addi    a2,sp,64                                          <== NOT EXECUTED
40017c38:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40017c3c:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017c40:   939fb0ef            jal ra,40013578 <rtems_rfs_block_map_open>                <== NOT EXECUTED
40017c44:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017c48:   08a04663            bgtz    a0,40017cd4 <rtems_rfs_symlink_read+0x1bc>        <== NOT EXECUTED
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);                                  
40017c4c:   00810713            addi    a4,sp,8                                           <== NOT EXECUTED
40017c50:   00000613            li  a2,0                                                  <== NOT EXECUTED
40017c54:   00000693            li  a3,0                                                  <== NOT EXECUTED
40017c58:   04010593            addi    a1,sp,64                                          <== NOT EXECUTED
40017c5c:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017c60:   e2dfb0ef            jal ra,40013a8c <rtems_rfs_block_map_seek>                <== NOT EXECUTED
40017c64:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017c68:   08a04c63            bgtz    a0,40017d00 <rtems_rfs_symlink_read+0x1e8>        <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false);                     
40017c6c:   00812603            lw  a2,8(sp)                                              <== NOT EXECUTED
40017c70:   00000693            li  a3,0                                                  <== NOT EXECUTED
40017c74:   00c10593            addi    a1,sp,12                                          <== NOT EXECUTED
40017c78:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40017c7c:   00010623            sb  zero,12(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40017c80:   00012823            sw  zero,16(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40017c84:   00012a23            sw  zero,20(sp)                                           <== NOT EXECUTED
40017c88:   8f5ee0ef            jal ra,4000657c <rtems_rfs_buffer_handle_request>         <== NOT EXECUTED
40017c8c:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017c90:   06a04863            bgtz    a0,40017d00 <rtems_rfs_symlink_read+0x1e8>        <== NOT EXECUTED
    memcpy (path, data, *length);                                                         
40017c94:   01412783            lw  a5,20(sp)                                             <== NOT EXECUTED
40017c98:   00092603            lw  a2,0(s2)                                              <== NOT EXECUTED
40017c9c:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40017ca0:   01c7a583            lw  a1,28(a5)                                             <== NOT EXECUTED
40017ca4:   44c060ef            jal ra,4001e0f0 <memcpy>                                  <== NOT EXECUTED
  rtems_rfs_buffer_handle_release (fs, handle);                                           
40017ca8:   00c10593            addi    a1,sp,12                                          <== NOT EXECUTED
40017cac:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017cb0:   b65ee0ef            jal ra,40006814 <rtems_rfs_buffer_handle_release>         <== NOT EXECUTED
    rc = rtems_rfs_block_map_close (fs, &map);                                            
40017cb4:   04010593            addi    a1,sp,64                                          <== NOT EXECUTED
40017cb8:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
  handle->dirty = false;                                                                  
40017cbc:   00010623            sb  zero,12(sp)                                           <== NOT EXECUTED
  handle->bnum  = 0;                                                                      
40017cc0:   00012823            sw  zero,16(sp)                                           <== NOT EXECUTED
  handle->buffer = NULL;                                                                  
40017cc4:   00012a23            sw  zero,20(sp)                                           <== NOT EXECUTED
40017cc8:   a85fb0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
40017ccc:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (rc > 0)                                                                           
40017cd0:   f2a058e3            blez    a0,40017c00 <rtems_rfs_symlink_read+0xe8>         <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                                                 
40017cd4:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40017cd8:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017cdc:   fd0f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
      return rc;                                                                          
40017ce0:   f31ff06f            j   40017c10 <rtems_rfs_symlink_read+0xf8>                <== NOT EXECUTED
40017ce4:   000a0613            mv  a2,s4                                                 
40017ce8:   eddff06f            j   40017bc4 <rtems_rfs_symlink_read+0xac>                
    printf ("rtems-rfs: symlink-read: link:%" PRIu32 "\n", link);                         
40017cec:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017cf0:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40017cf4:   eac50513            addi    a0,a0,-340 # 40023eac <IMFS_LIMITS_AND_OPTIONS+0x10cc><== NOT EXECUTED
40017cf8:   d01e90ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40017cfc:   e5dff06f            j   40017b58 <rtems_rfs_symlink_read+0x40>                <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                                               
40017d00:   04010593            addi    a1,sp,64                                          <== NOT EXECUTED
40017d04:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017d08:   a45fb0ef            jal ra,4001374c <rtems_rfs_block_map_close>               <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                                                 
40017d0c:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40017d10:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017d14:   f98f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
      return rc;                                                                          
40017d18:   ef9ff06f            j   40017c10 <rtems_rfs_symlink_read+0xf8>                <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                                                   
40017d1c:   01810593            addi    a1,sp,24                                          <== NOT EXECUTED
40017d20:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017d24:   f88f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return EINVAL;                                                                        
40017d28:   01600413            li  s0,22                                                 <== NOT EXECUTED
40017d2c:   ee5ff06f            j   40017c10 <rtems_rfs_symlink_read+0xf8>                <== NOT EXECUTED
                                                                                          

40017420 <rtems_rfs_unlink>: rtems_rfs_unlink (rtems_rfs_file_system* fs, rtems_rfs_ino parent, rtems_rfs_ino target, uint32_t doff, rtems_rfs_unlink_dir dir_mode) {
40017420:   f9010113            addi    sp,sp,-112                                        
40017424:   06912223            sw  s1,100(sp)                                            
40017428:   05412c23            sw  s4,88(sp)                                             
4001742c:   00050493            mv  s1,a0                                                 
40017430:   00058a13            mv  s4,a1                                                 
  rtems_rfs_inode_handle target_inode;                                                    
  uint16_t               links;                                                           
  bool                   dir;                                                             
  int                    rc;                                                              
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                           
40017434:   02000537            lui a0,0x2000                                             
40017438:   00000593            li  a1,0                                                  
{                                                                                         
4001743c:   07212023            sw  s2,96(sp)                                             
40017440:   05512a23            sw  s5,84(sp)                                             
40017444:   05612823            sw  s6,80(sp)                                             
40017448:   06112623            sw  ra,108(sp)                                            
4001744c:   06812423            sw  s0,104(sp)                                            
40017450:   05312e23            sw  s3,92(sp)                                             
40017454:   00060913            mv  s2,a2                                                 
40017458:   00068b13            mv  s6,a3                                                 
4001745c:   00070a93            mv  s5,a4                                                 
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                           
40017460:   cadf20ef            jal ra,4000a10c <rtems_rfs_trace>                         
40017464:   16051463            bnez    a0,400175cc <rtems_rfs_unlink+0x1ac>              <== NEVER TAKEN
    printf ("rtems-rfs: unlink: parent(%" PRIu32 ") -X-> (%" PRIu32 ")\n", parent, target);
                                                                                          
  rc = rtems_rfs_inode_open (fs, target, &target_inode, true);                            
40017468:   00100693            li  a3,1                                                  
4001746c:   02810613            addi    a2,sp,40                                          
40017470:   00090593            mv  a1,s2                                                 
40017474:   00048513            mv  a0,s1                                                 
40017478:   e09f00ef            jal ra,40008280 <rtems_rfs_inode_open>                    
4001747c:   00050413            mv  s0,a0                                                 
  if (rc)                                                                                 
40017480:   12051063            bnez    a0,400175a0 <rtems_rfs_unlink+0x180>              <== NEVER TAKEN
  return rtems_rfs_read_u16 (&handle->node->mode);                                        
40017484:   03412703            lw  a4,52(sp)                                             
40017488:   0000f9b7            lui s3,0xf                                                
  /*                                                                                      
   * If a directory process the unlink mode.                                              
   */                                                                                     
                                                                                          
  dir = RTEMS_RFS_S_ISDIR (rtems_rfs_inode_get_mode (&target_inode));                     
  if (dir)                                                                                
4001748c:   000046b7            lui a3,0x4                                                
40017490:   00374783            lbu a5,3(a4)                                              
40017494:   00274703            lbu a4,2(a4)                                              
40017498:   00879793            slli    a5,a5,0x8                                         
4001749c:   00e7e7b3            or  a5,a5,a4                                              
400174a0:   00879793            slli    a5,a5,0x8                                         
400174a4:   0137f9b3            and s3,a5,s3                                              
400174a8:   00d99863            bne s3,a3,400174b8 <rtems_rfs_unlink+0x98>                
  {                                                                                       
    switch (dir_mode)                                                                     
400174ac:   220a8463            beqz    s5,400176d4 <rtems_rfs_unlink+0x2b4>              <== NEVER TAKEN
400174b0:   00100793            li  a5,1                                                  
400174b4:   14fa8863            beq s5,a5,40017604 <rtems_rfs_unlink+0x1e4>               
      default:                                                                            
        break;                                                                            
    }                                                                                     
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);                            
400174b8:   00100693            li  a3,1                                                  
400174bc:   00010613            mv  a2,sp                                                 
400174c0:   000a0593            mv  a1,s4                                                 
400174c4:   00048513            mv  a0,s1                                                 
400174c8:   db9f00ef            jal ra,40008280 <rtems_rfs_inode_open>                    
400174cc:   00050413            mv  s0,a0                                                 
  if (rc)                                                                                 
400174d0:   10051a63            bnez    a0,400175e4 <rtems_rfs_unlink+0x1c4>              <== NEVER TAKEN
              rc, strerror (rc));                                                         
    rtems_rfs_inode_close (fs, &target_inode);                                            
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_dir_del_entry (fs, &parent_inode, target, doff);                         
400174d4:   000b0693            mv  a3,s6                                                 
400174d8:   00090613            mv  a2,s2                                                 
400174dc:   00010593            mv  a1,sp                                                 
400174e0:   00048513            mv  a0,s1                                                 
400174e4:   fccfd0ef            jal ra,40014cb0 <rtems_rfs_dir_del_entry>                 
400174e8:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
400174ec:   22a04c63            bgtz    a0,40017724 <rtems_rfs_unlink+0x304>              <== NEVER TAKEN
  links = rtems_rfs_read_u16 (&handle->node->links);                                      
400174f0:   03412683            lw  a3,52(sp)                                             
  if (links == 0xffff)                                                                    
400174f4:   00010737            lui a4,0x10                                               
400174f8:   fff70713            addi    a4,a4,-1 # ffff <bsp_section_bss_size+0xaa4f>     
400174fc:   0016c783            lbu a5,1(a3) # 4001 <bsp_section_rtemsstack_size+0x2001>  
40017500:   0006c403            lbu s0,0(a3)                                              
    return rc;                                                                            
  }                                                                                       
                                                                                          
  links = rtems_rfs_inode_get_links (&target_inode);                                      
                                                                                          
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                           
40017504:   02000537            lui a0,0x2000                                             
40017508:   00879793            slli    a5,a5,0x8                                         
4001750c:   0087e7b3            or  a5,a5,s0                                              
40017510:   00879413            slli    s0,a5,0x8                                         
40017514:   0087d793            srli    a5,a5,0x8                                         
40017518:   00f46433            or  s0,s0,a5                                              
4001751c:   01041413            slli    s0,s0,0x10                                        
40017520:   01045413            srli    s0,s0,0x10                                        
40017524:   00000593            li  a1,0                                                  
40017528:   12e40063            beq s0,a4,40017648 <rtems_rfs_unlink+0x228>               
4001752c:   be1f20ef            jal ra,4000a10c <rtems_rfs_trace>                         
40017530:   26051a63            bnez    a0,400177a4 <rtems_rfs_unlink+0x384>              <== NEVER TAKEN
    printf ("rtems-rfs: unlink: target:%" PRIu32 " links:%u\n", target, links);           
                                                                                          
  if (links > 1)                                                                          
40017534:   00100793            li  a5,1                                                  
40017538:   1087fc63            bgeu    a5,s0,40017650 <rtems_rfs_unlink+0x230>           
  {                                                                                       
    links--;                                                                              
4001753c:   fff40413            addi    s0,s0,-1                                          
  rtems_rfs_write_u16 (&handle->node->links, links);                                      
40017540:   03412703            lw  a4,52(sp)                                             
40017544:   01041413            slli    s0,s0,0x10                                        
40017548:   01045413            srli    s0,s0,0x10                                        
4001754c:   00845693            srli    a3,s0,0x8                                         
40017550:   00d70023            sb  a3,0(a4)                                              
40017554:   03412703            lw  a4,52(sp)                                             
40017558:   008700a3            sb  s0,1(a4)                                              
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
4001755c:   02f10c23            sb  a5,56(sp)                                             
        links--;                                                                          
      rtems_rfs_inode_set_links (&parent_inode, links);                                   
    }                                                                                     
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);                        
40017560:   00100613            li  a2,1                                                  
40017564:   00100593            li  a1,1                                                  
40017568:   00010513            mv  a0,sp                                                 
4001756c:   928f10ef            jal ra,40008694 <rtems_rfs_inode_time_stamp_now>          
40017570:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40017574:   18a04263            bgtz    a0,400176f8 <rtems_rfs_unlink+0x2d8>              <== NEVER TAKEN
    rtems_rfs_inode_close (fs, &parent_inode);                                            
    rtems_rfs_inode_close (fs, &target_inode);                                            
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_close (fs, &parent_inode);                                         
40017578:   00010593            mv  a1,sp                                                 
4001757c:   00048513            mv  a0,s1                                                 
40017580:   f2df00ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40017584:   00050413            mv  s0,a0                                                 
  if (rc > 0)                                                                             
40017588:   1ea04663            bgtz    a0,40017774 <rtems_rfs_unlink+0x354>              <== NEVER TAKEN
              rc, strerror (rc));                                                         
    rtems_rfs_inode_close (fs, &target_inode);                                            
    return rc;                                                                            
  }                                                                                       
                                                                                          
  rc = rtems_rfs_inode_close (fs, &target_inode);                                         
4001758c:   02810593            addi    a1,sp,40                                          
40017590:   00048513            mv  a0,s1                                                 
40017594:   f19f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   
40017598:   00050413            mv  s0,a0                                                 
                                                                                          
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                               
4001759c:   22a04063            bgtz    a0,400177bc <rtems_rfs_unlink+0x39c>              <== NEVER TAKEN
    printf ("rtems-rfs: link: target inode-close failed: %d: %s\n",                       
            rc, strerror (rc));                                                           
                                                                                          
  return rc;                                                                              
}                                                                                         
400175a0:   06c12083            lw  ra,108(sp)                                            
400175a4:   00040513            mv  a0,s0                                                 
400175a8:   06812403            lw  s0,104(sp)                                            
400175ac:   06412483            lw  s1,100(sp)                                            
400175b0:   06012903            lw  s2,96(sp)                                             
400175b4:   05c12983            lw  s3,92(sp)                                             
400175b8:   05812a03            lw  s4,88(sp)                                             
400175bc:   05412a83            lw  s5,84(sp)                                             
400175c0:   05012b03            lw  s6,80(sp)                                             
400175c4:   07010113            addi    sp,sp,112                                         
400175c8:   00008067            ret                                                       
    printf ("rtems-rfs: unlink: parent(%" PRIu32 ") -X-> (%" PRIu32 ")\n", parent, target);
400175cc:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400175d0:   00090613            mv  a2,s2                                                 <== NOT EXECUTED
400175d4:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
400175d8:   cc850513            addi    a0,a0,-824 # 40023cc8 <IMFS_LIMITS_AND_OPTIONS+0xee8><== NOT EXECUTED
400175dc:   c1cea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400175e0:   e89ff06f            j   40017468 <rtems_rfs_unlink+0x48>                      <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                         
400175e4:   02000537            lui a0,0x2000                                             <== NOT EXECUTED
400175e8:   00000593            li  a1,0                                                  <== NOT EXECUTED
400175ec:   b21f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400175f0:   16051263            bnez    a0,40017754 <rtems_rfs_unlink+0x334>              <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                                            
400175f4:   02810593            addi    a1,sp,40                                          
400175f8:   00048513            mv  a0,s1                                                 
400175fc:   eb1f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   
    return rc;                                                                            
40017600:   fa1ff06f            j   400175a0 <rtems_rfs_unlink+0x180>                     
        rc = rtems_rfs_dir_empty (fs, &target_inode);                                     
40017604:   02810593            addi    a1,sp,40                                          
40017608:   00048513            mv  a0,s1                                                 
4001760c:   eb1fd0ef            jal ra,400154bc <rtems_rfs_dir_empty>                     
40017610:   00050413            mv  s0,a0                                                 
        if (rc > 0)                                                                       
40017614:   eaa052e3            blez    a0,400174b8 <rtems_rfs_unlink+0x98>               
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                   
40017618:   02000537            lui a0,0x2000                                             
4001761c:   00000593            li  a1,0                                                  
40017620:   aedf20ef            jal ra,4000a10c <rtems_rfs_trace>                         
40017624:   fc0508e3            beqz    a0,400175f4 <rtems_rfs_unlink+0x1d4>              <== ALWAYS TAKEN
            printf ("rtems-rfs: dir-empty: %d: %s\n", rc, strerror (rc));                 
40017628:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4001762c:   139070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40017630:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40017634:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017638:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4001763c:   d1450513            addi    a0,a0,-748 # 40023d14 <IMFS_LIMITS_AND_OPTIONS+0xf34><== NOT EXECUTED
40017640:   bb8ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
          rtems_rfs_inode_close (fs, &target_inode);                                      
40017644:   fb1ff06f            j   400175f4 <rtems_rfs_unlink+0x1d4>                     <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                           
40017648:   ac5f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
4001764c:   20051063            bnez    a0,4001784c <rtems_rfs_unlink+0x42c>              <== NOT EXECUTED
    rc = rtems_rfs_inode_delete (fs, &target_inode);                                      
40017650:   02810593            addi    a1,sp,40                                          
40017654:   00048513            mv  a0,s1                                                 
40017658:   ef5f00ef            jal ra,4000854c <rtems_rfs_inode_delete>                  
4001765c:   00050413            mv  s0,a0                                                 
    if (rc > 0)                                                                           
40017660:   18a04663            bgtz    a0,400177ec <rtems_rfs_unlink+0x3cc>              <== NEVER TAKEN
    if (dir)                                                                              
40017664:   000047b7            lui a5,0x4                                                
40017668:   eef99ce3            bne s3,a5,40017560 <rtems_rfs_unlink+0x140>               
  links = rtems_rfs_read_u16 (&handle->node->links);                                      
4001766c:   00c12683            lw  a3,12(sp)                                             
  if (links == 0xffff)                                                                    
40017670:   00010637            lui a2,0x10                                               
40017674:   fff60613            addi    a2,a2,-1 # ffff <bsp_section_bss_size+0xaa4f>     
40017678:   0016c703            lbu a4,1(a3)                                              
4001767c:   0006c783            lbu a5,0(a3)                                              
40017680:   00871713            slli    a4,a4,0x8                                         
40017684:   00f76733            or  a4,a4,a5                                              
40017688:   00871793            slli    a5,a4,0x8                                         
4001768c:   00875713            srli    a4,a4,0x8                                         
40017690:   00e7e7b3            or  a5,a5,a4                                              
40017694:   01079793            slli    a5,a5,0x10                                        
40017698:   0107d793            srli    a5,a5,0x10                                        
4001769c:   1cc78463            beq a5,a2,40017864 <rtems_rfs_unlink+0x444>               
      if (links > 1)                                                                      
400176a0:   00100713            li  a4,1                                                  
400176a4:   1cf77663            bgeu    a4,a5,40017870 <rtems_rfs_unlink+0x450>           
        links--;                                                                          
400176a8:   fff78793            addi    a5,a5,-1 # 3fff <bsp_section_rtemsstack_size+0x1fff>
400176ac:   01079793            slli    a5,a5,0x10                                        
400176b0:   0107d793            srli    a5,a5,0x10                                        
  rtems_rfs_write_u16 (&handle->node->links, links);                                      
400176b4:   0087d713            srli    a4,a5,0x8                                         
400176b8:   0ff7f793            andi    a5,a5,255                                         
400176bc:   00e68023            sb  a4,0(a3)                                              
400176c0:   00c12703            lw  a4,12(sp)                                             
400176c4:   00f700a3            sb  a5,1(a4)                                              
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                                          
400176c8:   00100793            li  a5,1                                                  
400176cc:   00f10823            sb  a5,16(sp)                                             
}                                                                                         
400176d0:   e91ff06f            j   40017560 <rtems_rfs_unlink+0x140>                     
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                     
400176d4:   02000537            lui a0,0x2000                                             <== NOT EXECUTED
400176d8:   00000593            li  a1,0                                                  <== NOT EXECUTED
400176dc:   a31f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400176e0:   12051e63            bnez    a0,4001781c <rtems_rfs_unlink+0x3fc>              <== NOT EXECUTED
        rtems_rfs_inode_close (fs, &target_inode);                                        
400176e4:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
400176e8:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400176ec:   dc1f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
        return EISDIR;                                                                    
400176f0:   01500413            li  s0,21                                                 <== NOT EXECUTED
400176f4:   eadff06f            j   400175a0 <rtems_rfs_unlink+0x180>                     <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                         
400176f8:   02000537            lui a0,0x2000                                             <== NOT EXECUTED
400176fc:   00000593            li  a1,0                                                  <== NOT EXECUTED
40017700:   a0df20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40017704:   12051463            bnez    a0,4001782c <rtems_rfs_unlink+0x40c>              <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                                            
40017708:   00010593            mv  a1,sp                                                 <== NOT EXECUTED
4001770c:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40017710:   d9df00ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                                            
40017714:   02810593            addi    a1,sp,40                                          <== NOT EXECUTED
40017718:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
4001771c:   d91f00ef            jal ra,400084ac <rtems_rfs_inode_close>                   <== NOT EXECUTED
    return rc;                                                                            
40017720:   e81ff06f            j   400175a0 <rtems_rfs_unlink+0x180>                     <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                         
40017724:   02000537            lui a0,0x2000                                             <== NOT EXECUTED
40017728:   00000593            li  a1,0                                                  <== NOT EXECUTED
4001772c:   9e1f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40017730:   fc050ce3            beqz    a0,40017708 <rtems_rfs_unlink+0x2e8>              <== NOT EXECUTED
      printf ("rtems-rfs: unlink: dir-del failed: %d: %s\n",                              
40017734:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40017738:   02d070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4001773c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40017740:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017744:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40017748:   d6050513            addi    a0,a0,-672 # 40023d60 <IMFS_LIMITS_AND_OPTIONS+0xf80><== NOT EXECUTED
4001774c:   aacea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                                            
40017750:   fb9ff06f            j   40017708 <rtems_rfs_unlink+0x2e8>                     <== NOT EXECUTED
      printf ("rtems-rfs: link: inode-open failed: %d: %s\n",                             
40017754:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40017758:   00d070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4001775c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40017760:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017764:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40017768:   d3450513            addi    a0,a0,-716 # 40023d34 <IMFS_LIMITS_AND_OPTIONS+0xf54><== NOT EXECUTED
4001776c:   a8cea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                                            
40017770:   e85ff06f            j   400175f4 <rtems_rfs_unlink+0x1d4>                     <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                         
40017774:   02000537            lui a0,0x2000                                             <== NOT EXECUTED
40017778:   00000593            li  a1,0                                                  <== NOT EXECUTED
4001777c:   991f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
40017780:   e6050ae3            beqz    a0,400175f4 <rtems_rfs_unlink+0x1d4>              <== NOT EXECUTED
      printf ("rtems-rfs: link: parent inode-close failed: %d: %s\n",                     
40017784:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40017788:   7dc070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
4001778c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40017790:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017794:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40017798:   e1850513            addi    a0,a0,-488 # 40023e18 <IMFS_LIMITS_AND_OPTIONS+0x1038><== NOT EXECUTED
4001779c:   a5cea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400177a0:   e55ff06f            j   400175f4 <rtems_rfs_unlink+0x1d4>                     <== NOT EXECUTED
    printf ("rtems-rfs: unlink: target:%" PRIu32 " links:%u\n", target, links);           
400177a4:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400177a8:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
400177ac:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
400177b0:   d8c50513            addi    a0,a0,-628 # 40023d8c <IMFS_LIMITS_AND_OPTIONS+0xfac><== NOT EXECUTED
400177b4:   a44ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400177b8:   d7dff06f            j   40017534 <rtems_rfs_unlink+0x114>                     <== NOT EXECUTED
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                               
400177bc:   02000537            lui a0,0x2000                                             <== NOT EXECUTED
400177c0:   00000593            li  a1,0                                                  <== NOT EXECUTED
400177c4:   949f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400177c8:   dc050ce3            beqz    a0,400175a0 <rtems_rfs_unlink+0x180>              <== NOT EXECUTED
    printf ("rtems-rfs: link: target inode-close failed: %d: %s\n",                       
400177cc:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
400177d0:   794070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
400177d4:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400177d8:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
400177dc:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400177e0:   e4c50513            addi    a0,a0,-436 # 40023e4c <IMFS_LIMITS_AND_OPTIONS+0x106c><== NOT EXECUTED
400177e4:   a14ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
400177e8:   db9ff06f            j   400175a0 <rtems_rfs_unlink+0x180>                     <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                                       
400177ec:   02000537            lui a0,0x2000                                             <== NOT EXECUTED
400177f0:   00000593            li  a1,0                                                  <== NOT EXECUTED
400177f4:   919f20ef            jal ra,4000a10c <rtems_rfs_trace>                         <== NOT EXECUTED
400177f8:   f00508e3            beqz    a0,40017708 <rtems_rfs_unlink+0x2e8>              <== NOT EXECUTED
        printf ("rtems-rfs: unlink: inode-del failed: %d: %s\n",                          
400177fc:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40017800:   764070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40017804:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40017808:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
4001780c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40017810:   db450513            addi    a0,a0,-588 # 40023db4 <IMFS_LIMITS_AND_OPTIONS+0xfd4><== NOT EXECUTED
40017814:   9e4ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &parent_inode);                                          
40017818:   ef1ff06f            j   40017708 <rtems_rfs_unlink+0x2e8>                     <== NOT EXECUTED
          printf ("rtems-rfs: link is a directory\n");                                    
4001781c:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017820:   cf450513            addi    a0,a0,-780 # 40023cf4 <IMFS_LIMITS_AND_OPTIONS+0xf14><== NOT EXECUTED
40017824:   a1cea0ef            jal ra,40001a40 <__wrap_puts>                             <== NOT EXECUTED
40017828:   ebdff06f            j   400176e4 <rtems_rfs_unlink+0x2c4>                     <== NOT EXECUTED
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",                       
4001782c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40017830:   734070ef            jal ra,4001ef64 <strerror>                                <== NOT EXECUTED
40017834:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40017838:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
4001783c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40017840:   de450513            addi    a0,a0,-540 # 40023de4 <IMFS_LIMITS_AND_OPTIONS+0x1004><== NOT EXECUTED
40017844:   9b4ea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
40017848:   ec1ff06f            j   40017708 <rtems_rfs_unlink+0x2e8>                     <== NOT EXECUTED
    printf ("rtems-rfs: unlink: target:%" PRIu32 " links:%u\n", target, links);           
4001784c:   40024537            lui a0,0x40024                                            <== NOT EXECUTED
40017850:   00000613            li  a2,0                                                  <== NOT EXECUTED
40017854:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40017858:   d8c50513            addi    a0,a0,-628 # 40023d8c <IMFS_LIMITS_AND_OPTIONS+0xfac><== NOT EXECUTED
4001785c:   99cea0ef            jal ra,400019f8 <__wrap_printf>                           <== NOT EXECUTED
  if (links > 1)                                                                          
40017860:   df1ff06f            j   40017650 <rtems_rfs_unlink+0x230>                     <== NOT EXECUTED
40017864:   00000793            li  a5,0                                                  <== NOT EXECUTED
40017868:   00000713            li  a4,0                                                  <== NOT EXECUTED
4001786c:   e51ff06f            j   400176bc <rtems_rfs_unlink+0x29c>                     <== NOT EXECUTED
  rtems_rfs_write_u16 (&handle->node->links, links);                                      
40017870:   0ff7f793            andi    a5,a5,255                                         
40017874:   00000713            li  a4,0                                                  
40017878:   e45ff06f            j   400176bc <rtems_rfs_unlink+0x29c>