RTEMS-6
Annotated Report
libjffs2
Sun Feb 28 12:30:56 2021

4000a7b0 <__jffs2_dbg_acct_sanity_check>:                                                 
void                                                                                      
__jffs2_dbg_acct_sanity_check(struct jffs2_sb_info *c,                                    
                  struct jffs2_eraseblock *jeb)                                           
{                                                                                         
    spin_lock(&c->erase_completion_lock);                                                 
    jffs2_dbg_acct_sanity_check_nolock(c, jeb);                                           
4000a7b0:   e9dff06f            j   4000a64c <__jffs2_dbg_acct_sanity_check_nolock>       <== NOT EXECUTED
                                                                                          

4000a64c <__jffs2_dbg_acct_sanity_check_nolock>: #ifdef JFFS2_DBG_SANITY_CHECKS void __jffs2_dbg_acct_sanity_check_nolock(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb) {
4000a64c:   fe010113            addi    sp,sp,-32                                         
4000a650:   00812c23            sw  s0,24(sp)                                             
4000a654:   00112e23            sw  ra,28(sp)                                             
4000a658:   00912a23            sw  s1,20(sp)                                             
4000a65c:   01212823            sw  s2,16(sp)                                             
4000a660:   00050413            mv  s0,a0                                                 
    if (unlikely(jeb && jeb->used_size + jeb->dirty_size +                                
4000a664:   02058a63            beqz    a1,4000a698 <__jffs2_dbg_acct_sanity_check_nolock+0x4c><== NEVER TAKEN
4000a668:   00058493            mv  s1,a1                                                 
4000a66c:   0145a783            lw  a5,20(a1)                                             
4000a670:   0185a583            lw  a1,24(a1)                                             
4000a674:   0204a703            lw  a4,32(s1)                                             
4000a678:   01c4a603            lw  a2,28(s1)                                             
4000a67c:   0104a683            lw  a3,16(s1)                                             
4000a680:   00b787b3            add a5,a5,a1                                              
4000a684:   00e787b3            add a5,a5,a4                                              
4000a688:   03452703            lw  a4,52(a0)                                             
4000a68c:   00c787b3            add a5,a5,a2                                              
4000a690:   00d787b3            add a5,a5,a3                                              
4000a694:   0ce79063            bne a5,a4,4000a754 <__jffs2_dbg_acct_sanity_check_nolock+0x108>
            jeb->free_size, jeb->dirty_size, jeb->used_size,                              
            jeb->wasted_size, jeb->unchecked_size, c->sector_size);                       
        BUG();                                                                            
    }                                                                                     
                                                                                          
    if (unlikely(c->used_size + c->dirty_size + c->free_size + c->erasing_size + c->bad_size
4000a698:   02042603            lw  a2,32(s0)                                             
4000a69c:   01c42783            lw  a5,28(s0)                                             
4000a6a0:   02842683            lw  a3,40(s0)                                             
4000a6a4:   02c42583            lw  a1,44(s0)                                             
4000a6a8:   03042703            lw  a4,48(s0)                                             
4000a6ac:   00c787b3            add a5,a5,a2                                              
4000a6b0:   00d787b3            add a5,a5,a3                                              
4000a6b4:   02442603            lw  a2,36(s0)                                             
4000a6b8:   03842683            lw  a3,56(s0)                                             
4000a6bc:   00b787b3            add a5,a5,a1                                              
4000a6c0:   00e787b3            add a5,a5,a4                                              
4000a6c4:   01842703            lw  a4,24(s0)                                             
4000a6c8:   00c787b3            add a5,a5,a2                                              
4000a6cc:   00d787b3            add a5,a5,a3                                              
4000a6d0:   00e79e63            bne a5,a4,4000a6ec <__jffs2_dbg_acct_sanity_check_nolock+0xa0>
        JFFS2_ERROR("free %#08x + dirty %#08x + used %#08x + erasing %#08x + bad %#08x + wasted %#08x + unchecked %#08x != total %#08x.\n",
            c->free_size, c->dirty_size, c->used_size, c->erasing_size, c->bad_size,      
            c->wasted_size, c->unchecked_size, c->flash_size);                            
        BUG();                                                                            
    }                                                                                     
}                                                                                         
4000a6d4:   01c12083            lw  ra,28(sp)                                             
4000a6d8:   01812403            lw  s0,24(sp)                                             
4000a6dc:   01412483            lw  s1,20(sp)                                             
4000a6e0:   01012903            lw  s2,16(sp)                                             
4000a6e4:   02010113            addi    sp,sp,32                                          
4000a6e8:   00008067            ret                                                       
        JFFS2_ERROR("eeep, space accounting superblock info is screwed.\n");              
4000a6ec:   400204b7            lui s1,0x40020                                            <== NOT EXECUTED
4000a6f0:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000a6f4:   85c48593            addi    a1,s1,-1956 # 4001f85c <__func__.0>               <== NOT EXECUTED
4000a6f8:   78450513            addi    a0,a0,1924 # 4001f784 <crc32_tab+0x4ec>           <== NOT EXECUTED
4000a6fc:   f11ff0ef            jal ra,4000a60c <jffs2_printk>                            <== NOT EXECUTED
        JFFS2_ERROR("free %#08x + dirty %#08x + used %#08x + erasing %#08x + bad %#08x + wasted %#08x + unchecked %#08x != total %#08x.\n",
4000a700:   03842503            lw  a0,56(s0)                                             <== NOT EXECUTED
4000a704:   01842303            lw  t1,24(s0)                                             <== NOT EXECUTED
4000a708:   02042683            lw  a3,32(s0)                                             <== NOT EXECUTED
4000a70c:   02842603            lw  a2,40(s0)                                             <== NOT EXECUTED
4000a710:   02442883            lw  a7,36(s0)                                             <== NOT EXECUTED
4000a714:   03042803            lw  a6,48(s0)                                             <== NOT EXECUTED
4000a718:   02c42783            lw  a5,44(s0)                                             <== NOT EXECUTED
4000a71c:   01c42703            lw  a4,28(s0)                                             <== NOT EXECUTED
4000a720:   00a12023            sw  a0,0(sp)                                              <== NOT EXECUTED
4000a724:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000a728:   85c48593            addi    a1,s1,-1956                                       <== NOT EXECUTED
4000a72c:   00612223            sw  t1,4(sp)                                              <== NOT EXECUTED
4000a730:   7d050513            addi    a0,a0,2000 # 4001f7d0 <crc32_tab+0x538>           <== NOT EXECUTED
4000a734:   ed9ff0ef            jal ra,4000a60c <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
4000a738:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
4000a73c:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000a740:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
4000a744:   85c48613            addi    a2,s1,-1956                                       <== NOT EXECUTED
4000a748:   03100593            li  a1,49                                                 <== NOT EXECUTED
4000a74c:   75850513            addi    a0,a0,1880 # 4001f758 <crc32_tab+0x4c0>           <== NOT EXECUTED
4000a750:   351020ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        JFFS2_ERROR("eeep, space accounting for block at 0x%08x is screwed.\n", jeb->offset);
4000a754:   00c4a603            lw  a2,12(s1)                                             <== NOT EXECUTED
4000a758:   40020937            lui s2,0x40020                                            <== NOT EXECUTED
4000a75c:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000a760:   85c90593            addi    a1,s2,-1956 # 4001f85c <__func__.0>               <== NOT EXECUTED
4000a764:   69850513            addi    a0,a0,1688 # 4001f698 <crc32_tab+0x400>           <== NOT EXECUTED
4000a768:   ea5ff0ef            jal ra,4000a60c <jffs2_printk>                            <== NOT EXECUTED
        JFFS2_ERROR("free %#08x + dirty %#08x + used %#08x + wasted %#08x + unchecked %#08x != total %#08x.\n",
4000a76c:   0184a683            lw  a3,24(s1)                                             <== NOT EXECUTED
4000a770:   0204a603            lw  a2,32(s1)                                             <== NOT EXECUTED
4000a774:   03442883            lw  a7,52(s0)                                             <== NOT EXECUTED
4000a778:   0104a803            lw  a6,16(s1)                                             <== NOT EXECUTED
4000a77c:   01c4a783            lw  a5,28(s1)                                             <== NOT EXECUTED
4000a780:   0144a703            lw  a4,20(s1)                                             <== NOT EXECUTED
4000a784:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000a788:   85c90593            addi    a1,s2,-1956                                       <== NOT EXECUTED
4000a78c:   6e850513            addi    a0,a0,1768 # 4001f6e8 <crc32_tab+0x450>           <== NOT EXECUTED
4000a790:   e7dff0ef            jal ra,4000a60c <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
4000a794:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
4000a798:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000a79c:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
4000a7a0:   85c90613            addi    a2,s2,-1956                                       <== NOT EXECUTED
4000a7a4:   02800593            li  a1,40                                                 <== NOT EXECUTED
4000a7a8:   75850513            addi    a0,a0,1880 # 4001f758 <crc32_tab+0x4c0>           <== NOT EXECUTED
4000a7ac:   2f5020ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
                                                                                          

40005824 <__jffs2_ref_totlen>: jeb = &c->blocks[ref->flash_offset / c->sector_size];
40005824:   00462703            lw  a4,4(a2)                                              
    if (ref->flash_offset == REF_LINK_NODE) {                                             
40005828:   00c62783            lw  a5,12(a2)                                             
4000582c:   fff00693            li  a3,-1                                                 
}                                                                                         
                                                                                          
uint32_t __jffs2_ref_totlen(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,        
                struct jffs2_raw_node_ref *ref)                                           
{                                                                                         
40005830:   00060813            mv  a6,a2                                                 
            pr_crit("ref %p @0x%08x is not jeb->last_node (%p @0x%08x)\n",                
40005834:   ffc77613            andi    a2,a4,-4                                          
40005838:   00d78c63            beq a5,a3,40005850 <__jffs2_ref_totlen+0x2c>              
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
4000583c:   ffe00693            li  a3,-2                                                 
40005840:   02d78063            beq a5,a3,40005860 <__jffs2_ref_totlen+0x3c>              
        ref_end = ref_offset(next_ref);                                                   
40005844:   ffc7f513            andi    a0,a5,-4                                          
                                                                                          
        ret = ref->__totlen;                                                              
    }                                                                                     
#endif /* TEST_TOTLEN */                                                                  
    return ret;                                                                           
}                                                                                         
40005848:   40c50533            sub a0,a0,a2                                              
4000584c:   00008067            ret                                                       
        ref = ref->next_in_ino;                                                           
40005850:   00882783            lw  a5,8(a6)                                              
        if (!ref)                                                                         
40005854:   00078663            beqz    a5,40005860 <__jffs2_ref_totlen+0x3c>             <== NEVER TAKEN
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
40005858:   0047a783            lw  a5,4(a5)                                              
4000585c:   fe1ff06f            j   4000583c <__jffs2_ref_totlen+0x18>                    
        if (!jeb)                                                                         
40005860:   02058463            beqz    a1,40005888 <__jffs2_ref_totlen+0x64>             <== NEVER TAKEN
        if (unlikely(ref != jeb->last_node)) {                                            
40005864:   02c5a683            lw  a3,44(a1)                                             
40005868:   02d81e63            bne a6,a3,400058a4 <__jffs2_ref_totlen+0x80>              
        ref_end = jeb->offset + c->sector_size - jeb->free_size;                          
4000586c:   03452703            lw  a4,52(a0)                                             
40005870:   00c5a783            lw  a5,12(a1)                                             
40005874:   0205a503            lw  a0,32(a1)                                             
40005878:   00e787b3            add a5,a5,a4                                              
4000587c:   40a78533            sub a0,a5,a0                                              
}                                                                                         
40005880:   40c50533            sub a0,a0,a2                                              
40005884:   00008067            ret                                                       
            jeb = &c->blocks[ref->flash_offset / c->sector_size];                         
40005888:   03452783            lw  a5,52(a0)                                             <== NOT EXECUTED
4000588c:   05452583            lw  a1,84(a0)                                             <== NOT EXECUTED
40005890:   02f75733            divu    a4,a4,a5                                          <== NOT EXECUTED
40005894:   03400793            li  a5,52                                                 <== NOT EXECUTED
40005898:   02f70733            mul a4,a4,a5                                              <== NOT EXECUTED
4000589c:   00e585b3            add a1,a1,a4                                              <== NOT EXECUTED
400058a0:   fc5ff06f            j   40005864 <__jffs2_ref_totlen+0x40>                    <== NOT EXECUTED
{                                                                                         
400058a4:   ff010113            addi    sp,sp,-16                                         <== NOT EXECUTED
400058a8:   00112623            sw  ra,12(sp)                                             <== NOT EXECUTED
            pr_crit("ref %p @0x%08x is not jeb->last_node (%p @0x%08x)\n",                
400058ac:   02068e63            beqz    a3,400058e8 <__jffs2_ref_totlen+0xc4>             <== NOT EXECUTED
400058b0:   0046a703            lw  a4,4(a3)                                              <== NOT EXECUTED
400058b4:   ffc77713            andi    a4,a4,-4                                          <== NOT EXECUTED
400058b8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400058bc:   00080593            mv  a1,a6                                                 <== NOT EXECUTED
400058c0:   edc50513            addi    a0,a0,-292 # 4001dedc <__func__.4+0x178>          <== NOT EXECUTED
400058c4:   954ff0ef            jal ra,40004a18 <jffs2_printk>                            <== NOT EXECUTED
            BUG();                                                                        
400058c8:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
400058cc:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
400058d0:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400058d4:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
400058d8:   f1c60613            addi    a2,a2,-228 # 4001df1c <__func__.0>                <== NOT EXECUTED
400058dc:   2c900593            li  a1,713                                                <== NOT EXECUTED
400058e0:   db850513            addi    a0,a0,-584 # 4001ddb8 <__func__.4+0x54>           <== NOT EXECUTED
400058e4:   1bd070ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
            pr_crit("ref %p @0x%08x is not jeb->last_node (%p @0x%08x)\n",                
400058e8:   00000713            li  a4,0                                                  <== NOT EXECUTED
400058ec:   fcdff06f            j   400058b8 <__jffs2_ref_totlen+0x94>                    <== NOT EXECUTED
                                                                                          

40004af8 <jffs2_add_fd_to_list>: {
40004af8:   fe010113            addi    sp,sp,-32                                         
40004afc:   00812c23            sw  s0,24(sp)                                             
    while ((*prev) && (*prev)->nhash <= new->nhash) {                                     
40004b00:   00062403            lw  s0,0(a2)                                              
{                                                                                         
40004b04:   01212823            sw  s2,16(sp)                                             
40004b08:   01312623            sw  s3,12(sp)                                             
40004b0c:   00112e23            sw  ra,28(sp)                                             
40004b10:   00912a23            sw  s1,20(sp)                                             
40004b14:   01412423            sw  s4,8(sp)                                              
40004b18:   01512223            sw  s5,4(sp)                                              
40004b1c:   00060913            mv  s2,a2                                                 
40004b20:   00058993            mv  s3,a1                                                 
    while ((*prev) && (*prev)->nhash <= new->nhash) {                                     
40004b24:   06040a63            beqz    s0,40004b98 <jffs2_add_fd_to_list+0xa0>           
40004b28:   0105a483            lw  s1,16(a1)                                             
40004b2c:   00050a93            mv  s5,a0                                                 
        if ((*prev)->nhash == new->nhash && !strcmp((*prev)->name, new->name)) {          
40004b30:   01558a13            addi    s4,a1,21                                          
40004b34:   0100006f            j   40004b44 <jffs2_add_fd_to_list+0x4c>                  
        prev = &((*prev)->next);                                                          
40004b38:   00440913            addi    s2,s0,4                                           
    while ((*prev) && (*prev)->nhash <= new->nhash) {                                     
40004b3c:   00442403            lw  s0,4(s0)                                              
40004b40:   04040c63            beqz    s0,40004b98 <jffs2_add_fd_to_list+0xa0>           
40004b44:   01042783            lw  a5,16(s0)                                             
40004b48:   04f4e863            bltu    s1,a5,40004b98 <jffs2_add_fd_to_list+0xa0>        
        if ((*prev)->nhash == new->nhash && !strcmp((*prev)->name, new->name)) {          
40004b4c:   fe9796e3            bne a5,s1,40004b38 <jffs2_add_fd_to_list+0x40>            
40004b50:   01540513            addi    a0,s0,21                                          
40004b54:   000a0593            mv  a1,s4                                                 
40004b58:   029170ef            jal ra,4001c380 <strcmp>                                  
40004b5c:   fc051ee3            bnez    a0,40004b38 <jffs2_add_fd_to_list+0x40>           <== NEVER TAKEN
            if (new->version < (*prev)->version) {                                        
40004b60:   0089a703            lw  a4,8(s3)                                              
40004b64:   00842783            lw  a5,8(s0)                                              
40004b68:   04f76e63            bltu    a4,a5,40004bc4 <jffs2_add_fd_to_list+0xcc>        
                new->next = (*prev)->next;                                                
40004b6c:   00442783            lw  a5,4(s0)                                              
40004b70:   00f9a223            sw  a5,4(s3)                                              
                if ((*prev)->raw)                                                         
40004b74:   00092503            lw  a0,0(s2)                                              
40004b78:   00052583            lw  a1,0(a0)                                              
40004b7c:   00058863            beqz    a1,40004b8c <jffs2_add_fd_to_list+0x94>           
                    jffs2_mark_node_obsolete(c, ((*prev)->raw));                          
40004b80:   000a8513            mv  a0,s5                                                 
40004b84:   719000ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                
                jffs2_free_full_dirent(*prev);                                            
40004b88:   00092503            lw  a0,0(s2)                                              
40004b8c:   cedff0ef            jal ra,40004878 <jffs2_free_full_dirent>                  
                *prev = new;                                                              
40004b90:   01392023            sw  s3,0(s2)                                              
40004b94:   00c0006f            j   40004ba0 <jffs2_add_fd_to_list+0xa8>                  
    new->next = *prev;                                                                    
40004b98:   0089a223            sw  s0,4(s3)                                              
    *prev = new;                                                                          
40004b9c:   01392023            sw  s3,0(s2)                                              
}                                                                                         
40004ba0:   01c12083            lw  ra,28(sp)                                             
40004ba4:   01812403            lw  s0,24(sp)                                             
40004ba8:   01412483            lw  s1,20(sp)                                             
40004bac:   01012903            lw  s2,16(sp)                                             
40004bb0:   00c12983            lw  s3,12(sp)                                             
40004bb4:   00812a03            lw  s4,8(sp)                                              
40004bb8:   00412a83            lw  s5,4(sp)                                              
40004bbc:   02010113            addi    sp,sp,32                                          
40004bc0:   00008067            ret                                                       
                jffs2_mark_node_obsolete(c, new->raw);                                    
40004bc4:   0009a583            lw  a1,0(s3)                                              <== NOT EXECUTED
40004bc8:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40004bcc:   6d1000ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
}                                                                                         
40004bd0:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
40004bd4:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
40004bd8:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
40004bdc:   01012903            lw  s2,16(sp)                                             <== NOT EXECUTED
40004be0:   00812a03            lw  s4,8(sp)                                              <== NOT EXECUTED
40004be4:   00412a83            lw  s5,4(sp)                                              <== NOT EXECUTED
                jffs2_free_full_dirent(new);                                              
40004be8:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
}                                                                                         
40004bec:   00c12983            lw  s3,12(sp)                                             <== NOT EXECUTED
40004bf0:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
                jffs2_free_full_dirent(new);                                              
40004bf4:   c85ff06f            j   40004878 <jffs2_free_full_dirent>                     <== NOT EXECUTED
                                                                                          

40004d78 <jffs2_add_full_dnode_to_inode>: {
40004d78:   fd010113            addi    sp,sp,-48                                         
40004d7c:   01812423            sw  s8,8(sp)                                              
    if (unlikely(!fn->size))                                                              
40004d80:   00862c03            lw  s8,8(a2)                                              
{                                                                                         
40004d84:   02112623            sw  ra,44(sp)                                             
40004d88:   02812423            sw  s0,40(sp)                                             
40004d8c:   02912223            sw  s1,36(sp)                                             
40004d90:   03212023            sw  s2,32(sp)                                             
40004d94:   01312e23            sw  s3,28(sp)                                             
40004d98:   01412c23            sw  s4,24(sp)                                             
40004d9c:   01512a23            sw  s5,20(sp)                                             
40004da0:   01612823            sw  s6,16(sp)                                             
40004da4:   01712623            sw  s7,12(sp)                                             
40004da8:   01912223            sw  s9,4(sp)                                              
    if (unlikely(!fn->size))                                                              
40004dac:   020c1e63            bnez    s8,40004de8 <jffs2_add_full_dnode_to_inode+0x70>  <== ALWAYS TAKEN
        return 0;                                                                         
40004db0:   00000513            li  a0,0                                                  
}                                                                                         
40004db4:   02c12083            lw  ra,44(sp)                                             
40004db8:   02812403            lw  s0,40(sp)                                             
40004dbc:   02412483            lw  s1,36(sp)                                             
40004dc0:   02012903            lw  s2,32(sp)                                             
40004dc4:   01c12983            lw  s3,28(sp)                                             
40004dc8:   01812a03            lw  s4,24(sp)                                             
40004dcc:   01412a83            lw  s5,20(sp)                                             
40004dd0:   01012b03            lw  s6,16(sp)                                             
40004dd4:   00c12b83            lw  s7,12(sp)                                             
40004dd8:   00812c03            lw  s8,8(sp)                                              
40004ddc:   00412c83            lw  s9,4(sp)                                              
40004de0:   03010113            addi    sp,sp,48                                          
40004de4:   00008067            ret                                                       
    newfrag = new_fragment(fn, fn->ofs, fn->size);                                        
40004de8:   00462c83            lw  s9,4(a2)                                              
40004dec:   00060a13            mv  s4,a2                                                 
40004df0:   00050b13            mv  s6,a0                                                 
40004df4:   00058b93            mv  s7,a1                                                 
    newfrag = jffs2_alloc_node_frag();                                                    
40004df8:   b9dff0ef            jal ra,40004994 <jffs2_alloc_node_frag>                   
40004dfc:   00050913            mv  s2,a0                                                 
    if (likely(newfrag)) {                                                                
40004e00:   32050e63            beqz    a0,4000513c <jffs2_add_full_dnode_to_inode+0x3c4> <== NEVER TAKEN
    next = fragtree->rb_node;                                                             
40004e04:   004ba403            lw  s0,4(s7)                                              
    newfrag->node->frags = 1;                                                             
40004e08:   00100713            li  a4,1                                                  
        newfrag->ofs = ofs;                                                               
40004e0c:   01952c23            sw  s9,24(a0)                                             
        newfrag->size = size;                                                             
40004e10:   01852a23            sw  s8,20(a0)                                             
        newfrag->node = fn;                                                               
40004e14:   01452823            sw  s4,16(a0)                                             
    newfrag->node->frags = 1;                                                             
40004e18:   00ea2623            sw  a4,12(s4)                                             
    this = jffs2_lookup_node_frag(root, newfrag->node->ofs);                              
40004e1c:   004a2983            lw  s3,4(s4)                                              
    ret = jffs2_add_frag_to_fragtree(c, &f->fragtree, newfrag);                           
40004e20:   004b8a93            addi    s5,s7,4                                           
    struct jffs2_node_frag *prev = NULL;                                                  
40004e24:   00000713            li  a4,0                                                  
    while(next) {                                                                         
40004e28:   14040863            beqz    s0,40004f78 <jffs2_add_full_dnode_to_inode+0x200> 
        if (frag->ofs + frag->size <= offset) {                                           
40004e2c:   01842783            lw  a5,24(s0)                                             
40004e30:   01442483            lw  s1,20(s0)                                             
40004e34:   009784b3            add s1,a5,s1                                              
40004e38:   1299e863            bltu    s3,s1,40004f68 <jffs2_add_full_dnode_to_inode+0x1f0>
            if (!prev || frag->ofs > prev->ofs)                                           
40004e3c:   00070663            beqz    a4,40004e48 <jffs2_add_full_dnode_to_inode+0xd0>  
40004e40:   01872683            lw  a3,24(a4)                                             
40004e44:   00f6f463            bgeu    a3,a5,40004e4c <jffs2_add_full_dnode_to_inode+0xd4>
40004e48:   00040713            mv  a4,s0                                                 
            next = frag->rb.rb_right;                                                     
40004e4c:   00442403            lw  s0,4(s0)                                              
    while(next) {                                                                         
40004e50:   fc041ee3            bnez    s0,40004e2c <jffs2_add_full_dnode_to_inode+0xb4>  
    if (this) {                                                                           
40004e54:   12070263            beqz    a4,40004f78 <jffs2_add_full_dnode_to_inode+0x200> <== NEVER TAKEN
        lastend = this->ofs + this->size;                                                 
40004e58:   01872783            lw  a5,24(a4)                                             
40004e5c:   01472483            lw  s1,20(a4)                                             
40004e60:   00070413            mv  s0,a4                                                 
40004e64:   009784b3            add s1,a5,s1                                              
    if (lastend <= newfrag->ofs) {                                                        
40004e68:   229cf863            bgeu    s9,s1,40005098 <jffs2_add_full_dnode_to_inode+0x320>
    if (newfrag->ofs > this->ofs) {                                                       
40004e6c:   2797fa63            bgeu    a5,s9,400050e0 <jffs2_add_full_dnode_to_inode+0x368>
        mark_ref_normal(newfrag->node->raw);                                              
40004e70:   000a2683            lw  a3,0(s4)                                              
    if (this->node)                                                                       
40004e74:   01042b83            lw  s7,16(s0)                                             
        mark_ref_normal(newfrag->node->raw);                                              
40004e78:   0046a703            lw  a4,4(a3)                                              
40004e7c:   00376713            ori a4,a4,3                                               
40004e80:   00e6a223            sw  a4,4(a3)                                              
        if (this->node)                                                                   
40004e84:   000b8a63            beqz    s7,40004e98 <jffs2_add_full_dnode_to_inode+0x120> 
            mark_ref_normal(this->node->raw);                                             
40004e88:   000ba683            lw  a3,0(s7)                                              
40004e8c:   0046a703            lw  a4,4(a3)                                              
40004e90:   00376713            ori a4,a4,3                                               
40004e94:   00e6a223            sw  a4,4(a3)                                              
        if (this->ofs + this->size > newfrag->ofs + newfrag->size) {                      
40004e98:   019c0c33            add s8,s8,s9                                              
40004e9c:   149c7463            bgeu    s8,s1,40004fe4 <jffs2_add_full_dnode_to_inode+0x26c>
    newfrag = jffs2_alloc_node_frag();                                                    
40004ea0:   af5ff0ef            jal ra,40004994 <jffs2_alloc_node_frag>                   <== NOT EXECUTED
40004ea4:   00050b13            mv  s6,a0                                                 <== NOT EXECUTED
            newfrag2 = new_fragment(this->node, newfrag->ofs + newfrag->size,             
40004ea8:   418484b3            sub s1,s1,s8                                              <== NOT EXECUTED
    if (likely(newfrag)) {                                                                
40004eac:   28050863            beqz    a0,4000513c <jffs2_add_full_dnode_to_inode+0x3c4> <== NOT EXECUTED
        newfrag->node = fn;                                                               
40004eb0:   01752823            sw  s7,16(a0)                                             <== NOT EXECUTED
            if (this->node)                                                               
40004eb4:   01042783            lw  a5,16(s0)                                             <== NOT EXECUTED
        newfrag->ofs = ofs;                                                               
40004eb8:   01852c23            sw  s8,24(a0)                                             <== NOT EXECUTED
        newfrag->size = size;                                                             
40004ebc:   00952a23            sw  s1,20(a0)                                             <== NOT EXECUTED
            if (this->node)                                                               
40004ec0:   00078863            beqz    a5,40004ed0 <jffs2_add_full_dnode_to_inode+0x158> <== NOT EXECUTED
                this->node->frags++;                                                      
40004ec4:   00c7a703            lw  a4,12(a5)                                             <== NOT EXECUTED
40004ec8:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
40004ecc:   00e7a623            sw  a4,12(a5)                                             <== NOT EXECUTED
            this->size = newfrag->ofs - this->ofs;                                        
40004ed0:   01842703            lw  a4,24(s0)                                             <== NOT EXECUTED
40004ed4:   01892783            lw  a5,24(s2)                                             <== NOT EXECUTED
            jffs2_fragtree_insert(newfrag, this);                                         
40004ed8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40004edc:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
            this->size = newfrag->ofs - this->ofs;                                        
40004ee0:   40e787b3            sub a5,a5,a4                                              <== NOT EXECUTED
40004ee4:   00f42a23            sw  a5,20(s0)                                             <== NOT EXECUTED
            jffs2_fragtree_insert(newfrag, this);                                         
40004ee8:   b71ff0ef            jal ra,40004a58 <jffs2_fragtree_insert>                   <== NOT EXECUTED
  _RBTree_Insert_color( (RBTree_Control *) root, node );                                  
40004eec:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40004ef0:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40004ef4:   5180f0ef            jal ra,4001440c <_RBTree_Insert_color>                    <== NOT EXECUTED
            jffs2_fragtree_insert(newfrag2, newfrag);                                     
40004ef8:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40004efc:   000b0513            mv  a0,s6                                                 <== NOT EXECUTED
40004f00:   b59ff0ef            jal ra,40004a58 <jffs2_fragtree_insert>                   <== NOT EXECUTED
40004f04:   000b0593            mv  a1,s6                                                 <== NOT EXECUTED
40004f08:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40004f0c:   5000f0ef            jal ra,4001440c <_RBTree_Insert_color>                    <== NOT EXECUTED
    if (newfrag->ofs & (PAGE_SIZE-1)) {                                                   
40004f10:   01892683            lw  a3,24(s2)                                             <== NOT EXECUTED
40004f14:   01469793            slli    a5,a3,0x14                                        
40004f18:   08079a63            bnez    a5,40004fac <jffs2_add_full_dnode_to_inode+0x234> 
    if ((newfrag->ofs+newfrag->size) & (PAGE_SIZE-1)) {                                   
40004f1c:   01492783            lw  a5,20(s2)                                             
40004f20:   00f686b3            add a3,a3,a5                                              
40004f24:   01469693            slli    a3,a3,0x14                                        
40004f28:   e80684e3            beqz    a3,40004db0 <jffs2_add_full_dnode_to_inode+0x38>  
  return _RBTree_Successor( node );                                                       
40004f2c:   00090513            mv  a0,s2                                                 
40004f30:   6f00f0ef            jal ra,40014620 <_RBTree_Successor>                       
        if (next) {                                                                       
40004f34:   e6050ee3            beqz    a0,40004db0 <jffs2_add_full_dnode_to_inode+0x38>  
            mark_ref_normal(fn->raw);                                                     
40004f38:   000a2703            lw  a4,0(s4)                                              
            if (next->node)                                                               
40004f3c:   01052683            lw  a3,16(a0)                                             
            mark_ref_normal(fn->raw);                                                     
40004f40:   00472783            lw  a5,4(a4)                                              
40004f44:   0037e793            ori a5,a5,3                                               
40004f48:   00f72223            sw  a5,4(a4)                                              
            if (next->node)                                                               
40004f4c:   e60682e3            beqz    a3,40004db0 <jffs2_add_full_dnode_to_inode+0x38>  <== NEVER TAKEN
                mark_ref_normal(next->node->raw);                                         
40004f50:   0006a703            lw  a4,0(a3)                                              
    return 0;                                                                             
40004f54:   00000513            li  a0,0                                                  
                mark_ref_normal(next->node->raw);                                         
40004f58:   00472783            lw  a5,4(a4)                                              
40004f5c:   0037e793            ori a5,a5,3                                               
40004f60:   00f72223            sw  a5,4(a4)                                              
40004f64:   e51ff06f            j   40004db4 <jffs2_add_full_dnode_to_inode+0x3c>         
        } else if (frag->ofs > offset) {                                                  
40004f68:   f0f9f0e3            bgeu    s3,a5,40004e68 <jffs2_add_full_dnode_to_inode+0xf0>
            next = frag->rb.rb_left;                                                      
40004f6c:   00042403            lw  s0,0(s0)                                              
    while(next) {                                                                         
40004f70:   ea041ee3            bnez    s0,40004e2c <jffs2_add_full_dnode_to_inode+0xb4>  <== ALWAYS TAKEN
40004f74:   ee1ff06f            j   40004e54 <jffs2_add_full_dnode_to_inode+0xdc>         <== NOT EXECUTED
    if (lastend < newfrag->node->ofs) {                                                   
40004f78:   24099e63            bnez    s3,400051d4 <jffs2_add_full_dnode_to_inode+0x45c> 
  RB_SET( child, parent, Node );                                                          
40004f7c:   00100793            li  a5,1                                                  
40004f80:   00092423            sw  zero,8(s2)                                            
40004f84:   00092223            sw  zero,4(s2)                                            
40004f88:   00092023            sw  zero,0(s2)                                            
40004f8c:   00f92623            sw  a5,12(s2)                                             
  *link = child;                                                                          
40004f90:   012ba223            sw  s2,4(s7)                                              
  _RBTree_Insert_color( (RBTree_Control *) root, node );                                  
40004f94:   00090593            mv  a1,s2                                                 
40004f98:   000a8513            mv  a0,s5                                                 
40004f9c:   4700f0ef            jal ra,4001440c <_RBTree_Insert_color>                    
    if (newfrag->ofs & (PAGE_SIZE-1)) {                                                   
40004fa0:   01892683            lw  a3,24(s2)                                             
40004fa4:   01469793            slli    a5,a3,0x14                                        
40004fa8:   f6078ae3            beqz    a5,40004f1c <jffs2_add_full_dnode_to_inode+0x1a4> 
  return _RBTree_Predecessor( node );                                                     
40004fac:   00090513            mv  a0,s2                                                 
40004fb0:   6c40f0ef            jal ra,40014674 <_RBTree_Predecessor>                     
        mark_ref_normal(fn->raw);                                                         
40004fb4:   000a2703            lw  a4,0(s4)                                              
        if (prev->node)                                                                   
40004fb8:   01052683            lw  a3,16(a0)                                             
        mark_ref_normal(fn->raw);                                                         
40004fbc:   00472783            lw  a5,4(a4)                                              
40004fc0:   0037e793            ori a5,a5,3                                               
40004fc4:   00f72223            sw  a5,4(a4)                                              
        if (prev->node)                                                                   
40004fc8:   1c068c63            beqz    a3,400051a0 <jffs2_add_full_dnode_to_inode+0x428> 
            mark_ref_normal(prev->node->raw);                                             
40004fcc:   0006a703            lw  a4,0(a3)                                              
    if ((newfrag->ofs+newfrag->size) & (PAGE_SIZE-1)) {                                   
40004fd0:   01892683            lw  a3,24(s2)                                             
            mark_ref_normal(prev->node->raw);                                             
40004fd4:   00472783            lw  a5,4(a4)                                              
40004fd8:   0037e793            ori a5,a5,3                                               
40004fdc:   00f72223            sw  a5,4(a4)                                              
40004fe0:   f3dff06f            j   40004f1c <jffs2_add_full_dnode_to_inode+0x1a4>        
        this->size = newfrag->ofs - this->ofs;                                            
40004fe4:   40fc87b3            sub a5,s9,a5                                              
        jffs2_fragtree_insert(newfrag, this);                                             
40004fe8:   00040593            mv  a1,s0                                                 
40004fec:   00090513            mv  a0,s2                                                 
        this->size = newfrag->ofs - this->ofs;                                            
40004ff0:   00f42a23            sw  a5,20(s0)                                             
        jffs2_fragtree_insert(newfrag, this);                                             
40004ff4:   a65ff0ef            jal ra,40004a58 <jffs2_fragtree_insert>                   
  _RBTree_Insert_color( (RBTree_Control *) root, node );                                  
40004ff8:   00090593            mv  a1,s2                                                 
40004ffc:   000a8513            mv  a0,s5                                                 
40005000:   40c0f0ef            jal ra,4001440c <_RBTree_Insert_color>                    
}                                                                                         
40005004:   0140006f            j   40005018 <jffs2_add_full_dnode_to_inode+0x2a0>        
  _RBTree_Extract( (RBTree_Control *) root, node );                                       
40005008:   7d90e0ef            jal ra,40013fe0 <_RBTree_Extract>                         
        jffs2_obsolete_node_frag(c, this);                                                
4000500c:   00040593            mv  a1,s0                                                 
40005010:   000b0513            mv  a0,s6                                                 
40005014:   999ff0ef            jal ra,400049ac <jffs2_obsolete_node_frag>                
  return _RBTree_Successor( node );                                                       
40005018:   00090513            mv  a0,s2                                                 
4000501c:   6040f0ef            jal ra,40014620 <_RBTree_Successor>                       
40005020:   00050413            mv  s0,a0                                                 
    while ((this = frag_next(newfrag)) && newfrag->ofs + newfrag->size >= this->ofs + this->size) {
40005024:   01892683            lw  a3,24(s2)                                             
  _RBTree_Extract( (RBTree_Control *) root, node );                                       
40005028:   000a8513            mv  a0,s5                                                 
4000502c:   00040593            mv  a1,s0                                                 
40005030:   ee0402e3            beqz    s0,40004f14 <jffs2_add_full_dnode_to_inode+0x19c> 
40005034:   01492703            lw  a4,20(s2)                                             
40005038:   01842603            lw  a2,24(s0)                                             
4000503c:   01442783            lw  a5,20(s0)                                             
40005040:   00e68733            add a4,a3,a4                                              
40005044:   00f607b3            add a5,a2,a5                                              
40005048:   fcf770e3            bgeu    a4,a5,40005008 <jffs2_add_full_dnode_to_inode+0x290>
    if (!this || newfrag->ofs + newfrag->size == this->ofs)                               
4000504c:   ecc704e3            beq a4,a2,40004f14 <jffs2_add_full_dnode_to_inode+0x19c>  
    this->size = (this->ofs + this->size) - (newfrag->ofs + newfrag->size);               
40005050:   40e787b3            sub a5,a5,a4                                              
40005054:   00f42a23            sw  a5,20(s0)                                             
    this->ofs = newfrag->ofs + newfrag->size;                                             
40005058:   01492783            lw  a5,20(s2)                                             
    if (this->node)                                                                       
4000505c:   01042703            lw  a4,16(s0)                                             
    this->ofs = newfrag->ofs + newfrag->size;                                             
40005060:   00d786b3            add a3,a5,a3                                              
40005064:   00d42c23            sw  a3,24(s0)                                             
    if (this->node)                                                                       
40005068:   00070a63            beqz    a4,4000507c <jffs2_add_full_dnode_to_inode+0x304> <== NEVER TAKEN
        mark_ref_normal(this->node->raw);                                                 
4000506c:   00072703            lw  a4,0(a4)                                              
40005070:   00472783            lw  a5,4(a4)                                              
40005074:   0037e793            ori a5,a5,3                                               
40005078:   00f72223            sw  a5,4(a4)                                              
    mark_ref_normal(newfrag->node->raw);                                                  
4000507c:   01092783            lw  a5,16(s2)                                             
    if (newfrag->ofs & (PAGE_SIZE-1)) {                                                   
40005080:   01892683            lw  a3,24(s2)                                             
    mark_ref_normal(newfrag->node->raw);                                                  
40005084:   0007a703            lw  a4,0(a5)                                              
40005088:   00472783            lw  a5,4(a4)                                              
4000508c:   0037e793            ori a5,a5,3                                               
40005090:   00f72223            sw  a5,4(a4)                                              
    if (unlikely(ret))                                                                    
40005094:   e81ff06f            j   40004f14 <jffs2_add_full_dnode_to_inode+0x19c>        
        if (lastend && (lastend-1) >> PAGE_SHIFT == newfrag->ofs >> PAGE_SHIFT) {         
40005098:   00048a63            beqz    s1,400050ac <jffs2_add_full_dnode_to_inode+0x334> <== NEVER TAKEN
4000509c:   fff48713            addi    a4,s1,-1                                          
400050a0:   00c75713            srli    a4,a4,0xc                                         
400050a4:   00ccd793            srli    a5,s9,0xc                                         
400050a8:   10f70063            beq a4,a5,400051a8 <jffs2_add_full_dnode_to_inode+0x430>  
        rb_link_node(&newfrag->rb, &this->rb, &this->rb.rb_right);                        
400050ac:   00040b13            mv  s6,s0                                                 
    if (lastend < newfrag->node->ofs) {                                                   
400050b0:   0b34e463            bltu    s1,s3,40005158 <jffs2_add_full_dnode_to_inode+0x3e0>
  RB_SET( child, parent, Node );                                                          
400050b4:   00100793            li  a5,1                                                  
400050b8:   01692423            sw  s6,8(s2)                                              
400050bc:   00092223            sw  zero,4(s2)                                            
400050c0:   00092023            sw  zero,0(s2)                                            
400050c4:   00f92623            sw  a5,12(s2)                                             
  *link = child;                                                                          
400050c8:   01242223            sw  s2,4(s0)                                              
  _RBTree_Insert_color( (RBTree_Control *) root, node );                                  
400050cc:   00090593            mv  a1,s2                                                 
400050d0:   000a8513            mv  a0,s5                                                 
400050d4:   3380f0ef            jal ra,4001440c <_RBTree_Insert_color>                    
    if (newfrag->ofs & (PAGE_SIZE-1)) {                                                   
400050d8:   01892683            lw  a3,24(s2)                                             
400050dc:   ec9ff06f            j   40004fa4 <jffs2_add_full_dnode_to_inode+0x22c>        
  struct rb_node *victim,                                                                 
  struct rb_node *replacement,                                                            
  struct rb_root *root                                                                    
)                                                                                         
{                                                                                         
  _RBTree_Replace_node(                                                                   
400050e0:   00090613            mv  a2,s2                                                 
400050e4:   00040593            mv  a1,s0                                                 
400050e8:   000a8513            mv  a0,s5                                                 
400050ec:   6400f0ef            jal ra,4001472c <_RBTree_Replace_node>                    
        if (newfrag->ofs + newfrag->size >= this->ofs+this->size) {                       
400050f0:   01492603            lw  a2,20(s2)                                             
400050f4:   01842683            lw  a3,24(s0)                                             
400050f8:   01442703            lw  a4,20(s0)                                             
400050fc:   01892783            lw  a5,24(s2)                                             
40005100:   00e685b3            add a1,a3,a4                                              
40005104:   00f607b3            add a5,a2,a5                                              
40005108:   f0b7f2e3            bgeu    a5,a1,4000500c <jffs2_add_full_dnode_to_inode+0x294>
            this->ofs += newfrag->size;                                                   
4000510c:   00d606b3            add a3,a2,a3                                              <== NOT EXECUTED
            this->size -= newfrag->size;                                                  
40005110:   40c70733            sub a4,a4,a2                                              <== NOT EXECUTED
            this->ofs += newfrag->size;                                                   
40005114:   00d42c23            sw  a3,24(s0)                                             <== NOT EXECUTED
            this->size -= newfrag->size;                                                  
40005118:   00e42a23            sw  a4,20(s0)                                             <== NOT EXECUTED
            jffs2_fragtree_insert(this, newfrag);                                         
4000511c:   00090593            mv  a1,s2                                                 <== NOT EXECUTED
40005120:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40005124:   935ff0ef            jal ra,40004a58 <jffs2_fragtree_insert>                   <== NOT EXECUTED
  _RBTree_Insert_color( (RBTree_Control *) root, node );                                  
40005128:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4000512c:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
40005130:   2dc0f0ef            jal ra,4001440c <_RBTree_Insert_color>                    <== NOT EXECUTED
    if (newfrag->ofs & (PAGE_SIZE-1)) {                                                   
40005134:   01892683            lw  a3,24(s2)                                             <== NOT EXECUTED
40005138:   dddff06f            j   40004f14 <jffs2_add_full_dnode_to_inode+0x19c>        <== NOT EXECUTED
        JFFS2_ERROR("cannot allocate a jffs2_node_frag object\n");                        
4000513c:   4001e5b7            lui a1,0x4001e                                            <== NOT EXECUTED
40005140:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005144:   f7058593            addi    a1,a1,-144 # 4001df70 <__func__.4>                <== NOT EXECUTED
40005148:   de850513            addi    a0,a0,-536 # 4001dde8 <__func__.4+0x84>           <== NOT EXECUTED
4000514c:   8cdff0ef            jal ra,40004a18 <jffs2_printk>                            <== NOT EXECUTED
        return -ENOMEM;                                                                   
40005150:   ff400513            li  a0,-12                                                <== NOT EXECUTED
40005154:   c61ff06f            j   40004db4 <jffs2_add_full_dnode_to_inode+0x3c>         <== NOT EXECUTED
    newfrag = jffs2_alloc_node_frag();                                                    
40005158:   83dff0ef            jal ra,40004994 <jffs2_alloc_node_frag>                   <== NOT EXECUTED
        holefrag= new_fragment(NULL, lastend, newfrag->node->ofs - lastend);              
4000515c:   409989b3            sub s3,s3,s1                                              <== NOT EXECUTED
    if (likely(newfrag)) {                                                                
40005160:   0a050663            beqz    a0,4000520c <jffs2_add_full_dnode_to_inode+0x494> <== NOT EXECUTED
  RB_SET( child, parent, Node );                                                          
40005164:   00100793            li  a5,1                                                  <== NOT EXECUTED
40005168:   00852423            sw  s0,8(a0)                                              <== NOT EXECUTED
        newfrag->ofs = ofs;                                                               
4000516c:   00952c23            sw  s1,24(a0)                                             <== NOT EXECUTED
        newfrag->size = size;                                                             
40005170:   01352a23            sw  s3,20(a0)                                             <== NOT EXECUTED
        newfrag->node = fn;                                                               
40005174:   00052823            sw  zero,16(a0)                                           <== NOT EXECUTED
40005178:   00052223            sw  zero,4(a0)                                            <== NOT EXECUTED
4000517c:   00052023            sw  zero,0(a0)                                            <== NOT EXECUTED
40005180:   00f52623            sw  a5,12(a0)                                             <== NOT EXECUTED
  *link = child;                                                                          
40005184:   00a42223            sw  a0,4(s0)                                              <== NOT EXECUTED
            rb_link_node(&holefrag->rb, &this->rb, &this->rb.rb_right);                   
40005188:   00050b13            mv  s6,a0                                                 <== NOT EXECUTED
  struct rb_node **link                                                                   
)                                                                                         
{                                                                                         
  _RBTree_Initialize_node( node );                                                        
  _RBTree_Add_child( node, parent, link );                                                
}                                                                                         
4000518c:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
  _RBTree_Insert_color( (RBTree_Control *) root, node );                                  
40005190:   000b0593            mv  a1,s6                                                 
40005194:   000a8513            mv  a0,s5                                                 
40005198:   2740f0ef            jal ra,4001440c <_RBTree_Insert_color>                    
    if (this) {                                                                           
4000519c:   f19ff06f            j   400050b4 <jffs2_add_full_dnode_to_inode+0x33c>        
    if ((newfrag->ofs+newfrag->size) & (PAGE_SIZE-1)) {                                   
400051a0:   01892683            lw  a3,24(s2)                                             
400051a4:   d79ff06f            j   40004f1c <jffs2_add_full_dnode_to_inode+0x1a4>        
            if (this->node)                                                               
400051a8:   01042783            lw  a5,16(s0)                                             
400051ac:   00078a63            beqz    a5,400051c0 <jffs2_add_full_dnode_to_inode+0x448> <== NEVER TAKEN
                mark_ref_normal(this->node->raw);                                         
400051b0:   0007a703            lw  a4,0(a5)                                              
400051b4:   00472783            lw  a5,4(a4)                                              
400051b8:   0037e793            ori a5,a5,3                                               
400051bc:   00f72223            sw  a5,4(a4)                                              
            mark_ref_normal(newfrag->node->raw);                                          
400051c0:   000a2703            lw  a4,0(s4)                                              
400051c4:   00472783            lw  a5,4(a4)                                              
400051c8:   0037e793            ori a5,a5,3                                               
400051cc:   00f72223            sw  a5,4(a4)                                              
400051d0:   eddff06f            j   400050ac <jffs2_add_full_dnode_to_inode+0x334>        
    newfrag = jffs2_alloc_node_frag();                                                    
400051d4:   fc0ff0ef            jal ra,40004994 <jffs2_alloc_node_frag>                   
400051d8:   00050413            mv  s0,a0                                                 
    if (likely(newfrag)) {                                                                
400051dc:   02050863            beqz    a0,4000520c <jffs2_add_full_dnode_to_inode+0x494> <== NEVER TAKEN
  RB_SET( child, parent, Node );                                                          
400051e0:   00100793            li  a5,1                                                  
        newfrag->ofs = ofs;                                                               
400051e4:   00052c23            sw  zero,24(a0)                                           
        newfrag->size = size;                                                             
400051e8:   01352a23            sw  s3,20(a0)                                             
        newfrag->node = fn;                                                               
400051ec:   00052823            sw  zero,16(a0)                                           
400051f0:   00052423            sw  zero,8(a0)                                            
400051f4:   00052223            sw  zero,4(a0)                                            
400051f8:   00052023            sw  zero,0(a0)                                            
400051fc:   00f52623            sw  a5,12(a0)                                             
            rb_link_node(&holefrag->rb, NULL, &root->rb_node);                            
40005200:   00050b13            mv  s6,a0                                                 
  *link = child;                                                                          
40005204:   00aba223            sw  a0,4(s7)                                              
}                                                                                         
40005208:   f89ff06f            j   40005190 <jffs2_add_full_dnode_to_inode+0x418>        
        JFFS2_ERROR("cannot allocate a jffs2_node_frag object\n");                        
4000520c:   4001e5b7            lui a1,0x4001e                                            <== NOT EXECUTED
40005210:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005214:   f7058593            addi    a1,a1,-144 # 4001df70 <__func__.4>                <== NOT EXECUTED
40005218:   de850513            addi    a0,a0,-536 # 4001dde8 <__func__.4+0x84>           <== NOT EXECUTED
4000521c:   ffcff0ef            jal ra,40004a18 <jffs2_printk>                            <== NOT EXECUTED
            jffs2_free_node_frag(newfrag);                                                
40005220:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40005224:   f78ff0ef            jal ra,4000499c <jffs2_free_node_frag>                    <== NOT EXECUTED
            return -ENOMEM;                                                               
40005228:   ff400513            li  a0,-12                                                <== NOT EXECUTED
4000522c:   b89ff06f            j   40004db4 <jffs2_add_full_dnode_to_inode+0x3c>         <== NOT EXECUTED
                                                                                          

40005280 <jffs2_add_ino_cache>: if (!new->ino)
40005280:   00c5a683            lw  a3,12(a1)                                             
40005284:   00069a63            bnez    a3,40005298 <jffs2_add_ino_cache+0x18>            
        new->ino = ++c->highest_ino;                                                      
40005288:   00452683            lw  a3,4(a0)                                              
4000528c:   00168693            addi    a3,a3,1                                           
40005290:   00d52223            sw  a3,4(a0)                                              
40005294:   00d5a623            sw  a3,12(a1)                                             
    prev = &c->inocache_list[new->ino % c->inocache_hashsize];                            
40005298:   0c052783            lw  a5,192(a0)                                            
4000529c:   0c452603            lw  a2,196(a0)                                            
400052a0:   02f6f7b3            remu    a5,a3,a5                                          
400052a4:   00279793            slli    a5,a5,0x2                                         
400052a8:   00f60633            add a2,a2,a5                                              
    while ((*prev) && (*prev)->ino < new->ino) {                                          
400052ac:   00062783            lw  a5,0(a2)                                              
400052b0:   00079a63            bnez    a5,400052c4 <jffs2_add_ino_cache+0x44>            <== NEVER TAKEN
400052b4:   0180006f            j   400052cc <jffs2_add_ino_cache+0x4c>                   
        prev = &(*prev)->next;                                                            
400052b8:   01078613            addi    a2,a5,16                                          <== NOT EXECUTED
    while ((*prev) && (*prev)->ino < new->ino) {                                          
400052bc:   0107a783            lw  a5,16(a5)                                             <== NOT EXECUTED
400052c0:   00078663            beqz    a5,400052cc <jffs2_add_ino_cache+0x4c>            <== NOT EXECUTED
400052c4:   00c7a703            lw  a4,12(a5)                                             <== NOT EXECUTED
400052c8:   fed768e3            bltu    a4,a3,400052b8 <jffs2_add_ino_cache+0x38>         <== NOT EXECUTED
    new->next = *prev;                                                                    
400052cc:   00f5a823            sw  a5,16(a1)                                             
    *prev = new;                                                                          
400052d0:   00b62023            sw  a1,0(a2)                                              
}                                                                                         
400052d4:   00008067            ret                                                       
                                                                                          

40005930 <jffs2_add_physical_node_ref>: */ struct jffs2_raw_node_ref *jffs2_add_physical_node_ref(struct jffs2_sb_info *c, uint32_t ofs, uint32_t len, struct jffs2_inode_cache *ic) {
40005930:   ff010113            addi    sp,sp,-16                                         
40005934:   00812423            sw  s0,8(sp)                                              
40005938:   00050413            mv  s0,a0                                                 
    struct jffs2_eraseblock *jeb;                                                         
    struct jffs2_raw_node_ref *new;                                                       
                                                                                          
    jeb = &c->blocks[ofs / c->sector_size];                                               
4000593c:   03452503            lw  a0,52(a0)                                             
{                                                                                         
40005940:   00058793            mv  a5,a1                                                 
    jeb = &c->blocks[ofs / c->sector_size];                                               
40005944:   03400813            li  a6,52                                                 
40005948:   02a5d5b3            divu    a1,a1,a0                                          
{                                                                                         
4000594c:   00912223            sw  s1,4(sp)                                              
          __func__, ofs & ~3, ofs & 3, len);                                              
#if 1                                                                                     
    /* Allow non-obsolete nodes only to be added at the end of c->nextblock,              
       if c->nextblock is set. Note that wbuf.c will file obsolete nodes                  
       even after refiling c->nextblock */                                                
    if ((c->nextblock || ((ofs & 3) != REF_OBSOLETE))                                     
40005950:   05842703            lw  a4,88(s0)                                             
    jeb = &c->blocks[ofs / c->sector_size];                                               
40005954:   05442483            lw  s1,84(s0)                                             
{                                                                                         
40005958:   00112623            sw  ra,12(sp)                                             
4000595c:   01212023            sw  s2,0(sp)                                              
    jeb = &c->blocks[ofs / c->sector_size];                                               
40005960:   030585b3            mul a1,a1,a6                                              
40005964:   00b484b3            add s1,s1,a1                                              
    if ((c->nextblock || ((ofs & 3) != REF_OBSOLETE))                                     
40005968:   08070463            beqz    a4,400059f0 <jffs2_add_physical_node_ref+0xc0>    <== NEVER TAKEN
        && (jeb != c->nextblock || (ofs & ~3) != jeb->offset + (c->sector_size - jeb->free_size))) {
4000596c:   ffc7f593            andi    a1,a5,-4                                          
40005970:   00971c63            bne a4,s1,40005988 <jffs2_add_physical_node_ref+0x58>     
40005974:   00c4a803            lw  a6,12(s1)                                             
40005978:   0204a703            lw  a4,32(s1)                                             
4000597c:   01050533            add a0,a0,a6                                              
40005980:   40e50533            sub a0,a0,a4                                              
40005984:   06b50c63            beq a0,a1,400059fc <jffs2_add_physical_node_ref+0xcc>     
        pr_warn("argh. node added in wrong place at 0x%08x(%d)\n",                        
40005988:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
4000598c:   0037f613            andi    a2,a5,3                                           <== NOT EXECUTED
40005990:   f8050513            addi    a0,a0,-128 # 4001df80 <__func__.4+0x10>           <== NOT EXECUTED
40005994:   f5dff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
            ofs & ~3, ofs & 3);                                                           
        if (c->nextblock)                                                                 
40005998:   05842783            lw  a5,88(s0)                                             <== NOT EXECUTED
4000599c:   0c078e63            beqz    a5,40005a78 <jffs2_add_physical_node_ref+0x148>   <== NOT EXECUTED
            pr_warn("nextblock 0x%08x", c->nextblock->offset);                            
400059a0:   00c7a583            lw  a1,12(a5)                                             <== NOT EXECUTED
400059a4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400059a8:   fbc50513            addi    a0,a0,-68 # 4001dfbc <__func__.4+0x4c>            <== NOT EXECUTED
400059ac:   f45ff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
        else                                                                              
            pr_warn("No nextblock");                                                      
        pr_cont(", expected at %08x\n",                                                   
400059b0:   00c4a783            lw  a5,12(s1)                                             <== NOT EXECUTED
400059b4:   03442703            lw  a4,52(s0)                                             <== NOT EXECUTED
400059b8:   0204a583            lw  a1,32(s1)                                             <== NOT EXECUTED
400059bc:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400059c0:   00e787b3            add a5,a5,a4                                              <== NOT EXECUTED
400059c4:   40b785b3            sub a1,a5,a1                                              <== NOT EXECUTED
400059c8:   ff050513            addi    a0,a0,-16 # 4001dff0 <__func__.4+0x80>            <== NOT EXECUTED
400059cc:   f25ff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
    jffs2_dbg_acct_paranoia_check_nolock(c, jeb);                                         
                                                                                          
    spin_unlock(&c->erase_completion_lock);                                               
                                                                                          
    return new;                                                                           
}                                                                                         
400059d0:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
400059d4:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
        return ERR_PTR(-EINVAL);                                                          
400059d8:   fea00913            li  s2,-22                                                <== NOT EXECUTED
}                                                                                         
400059dc:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
400059e0:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
400059e4:   00012903            lw  s2,0(sp)                                              <== NOT EXECUTED
400059e8:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
400059ec:   00008067            ret                                                       <== NOT EXECUTED
    if ((c->nextblock || ((ofs & 3) != REF_OBSOLETE))                                     
400059f0:   0037f593            andi    a1,a5,3                                           <== NOT EXECUTED
400059f4:   00100813            li  a6,1                                                  <== NOT EXECUTED
400059f8:   f7059ae3            bne a1,a6,4000596c <jffs2_add_physical_node_ref+0x3c>     <== NOT EXECUTED
    new = jffs2_link_node_ref(c, jeb, ofs, len, ic);                                      
400059fc:   00068713            mv  a4,a3                                                 
40005a00:   00048593            mv  a1,s1                                                 
40005a04:   00060693            mv  a3,a2                                                 
40005a08:   00040513            mv  a0,s0                                                 
40005a0c:   00078613            mv  a2,a5                                                 
40005a10:   b59ff0ef            jal ra,40005568 <jffs2_link_node_ref>                     
    if (!jeb->free_size && !jeb->dirty_size && !ISDIRTY(jeb->wasted_size)) {              
40005a14:   0204a783            lw  a5,32(s1)                                             
    new = jffs2_link_node_ref(c, jeb, ofs, len, ic);                                      
40005a18:   00050913            mv  s2,a0                                                 
    if (!jeb->free_size && !jeb->dirty_size && !ISDIRTY(jeb->wasted_size)) {              
40005a1c:   02079a63            bnez    a5,40005a50 <jffs2_add_physical_node_ref+0x120>   
40005a20:   0184a783            lw  a5,24(s1)                                             
40005a24:   02079663            bnez    a5,40005a50 <jffs2_add_physical_node_ref+0x120>   <== NEVER TAKEN
40005a28:   01c4a703            lw  a4,28(s1)                                             
40005a2c:   0c400793            li  a5,196                                                
40005a30:   02e7e063            bltu    a5,a4,40005a50 <jffs2_add_physical_node_ref+0x120>
    struct list_head *prev = beforethisent->prev;                                         
40005a34:   06442783            lw  a5,100(s0)                                            
        list_add_tail(&jeb->list, &c->clean_list);                                        
40005a38:   06040713            addi    a4,s0,96                                          
    newent->next = beforethisent;                                                         
40005a3c:   00e4a023            sw  a4,0(s1)                                              
    newent->prev = prev;                                                                  
40005a40:   00f4a223            sw  a5,4(s1)                                              
    beforethisent->prev = newent;                                                         
40005a44:   06942223            sw  s1,100(s0)                                            
    prev->next = newent;                                                                  
40005a48:   0097a023            sw  s1,0(a5)                                              
        c->nextblock = NULL;                                                              
40005a4c:   04042c23            sw  zero,88(s0)                                           
    jffs2_dbg_acct_sanity_check_nolock(c,jeb);                                            
40005a50:   00040513            mv  a0,s0                                                 
40005a54:   00048593            mv  a1,s1                                                 
40005a58:   3f5040ef            jal ra,4000a64c <__jffs2_dbg_acct_sanity_check_nolock>    
}                                                                                         
40005a5c:   00c12083            lw  ra,12(sp)                                             
40005a60:   00812403            lw  s0,8(sp)                                              
40005a64:   00412483            lw  s1,4(sp)                                              
40005a68:   00090513            mv  a0,s2                                                 
40005a6c:   00012903            lw  s2,0(sp)                                              
40005a70:   01010113            addi    sp,sp,16                                          
40005a74:   00008067            ret                                                       
            pr_warn("No nextblock");                                                      
40005a78:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005a7c:   fd850513            addi    a0,a0,-40 # 4001dfd8 <__func__.4+0x68>            <== NOT EXECUTED
40005a80:   e71ff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
40005a84:   f2dff06f            j   400059b0 <jffs2_add_physical_node_ref+0x80>           <== NOT EXECUTED
                                                                                          

40005a88 <jffs2_complete_reservation>: rtems_jffs2_flash_control *fc = sb->s_flash_control;
40005a88:   0e452503            lw  a0,228(a0)                                            
    if (fc->trigger_garbage_collection != NULL) {                                         
40005a8c:   02052783            lw  a5,32(a0)                                             
40005a90:   00078463            beqz    a5,40005a98 <jffs2_complete_reservation+0x10>     <== ALWAYS TAKEN
        (*fc->trigger_garbage_collection)(fc);                                            
40005a94:   00078067            jr  a5                                                    <== NOT EXECUTED
    jffs2_dbg(1, "jffs2_complete_reservation()\n");                                       
    spin_lock(&c->erase_completion_lock);                                                 
    jffs2_garbage_collect_trigger(c);                                                     
    spin_unlock(&c->erase_completion_lock);                                               
    mutex_unlock(&c->alloc_sem);                                                          
}                                                                                         
40005a98:   00008067            ret                                                       
                                                                                          

4000a4cc <jffs2_compress>: uint16_t jffs2_compress(struct jffs2_sb_info *c, struct jffs2_inode_info *f, unsigned char *data_in, unsigned char **cpage_out, uint32_t *datalen, uint32_t *cdatalen) { struct super_block *sb = OFNI_BS_2SFFJ(c); rtems_jffs2_compressor_control *cc = sb->s_compressor_control;
4000a4cc:   0e852503            lw  a0,232(a0)                                            
{                                                                                         
4000a4d0:   fe010113            addi    sp,sp,-32                                         
4000a4d4:   00812c23            sw  s0,24(sp)                                             
4000a4d8:   00912a23            sw  s1,20(sp)                                             
4000a4dc:   01212823            sw  s2,16(sp)                                             
4000a4e0:   01312623            sw  s3,12(sp)                                             
4000a4e4:   00112e23            sw  ra,28(sp)                                             
4000a4e8:   00060413            mv  s0,a2                                                 
4000a4ec:   00068993            mv  s3,a3                                                 
4000a4f0:   00070493            mv  s1,a4                                                 
4000a4f4:   00078913            mv  s2,a5                                                 
    int ret;                                                                              
                                                                                          
    if (cc != NULL) {                                                                     
4000a4f8:   02050263            beqz    a0,4000a51c <jffs2_compress+0x50>                 <== NEVER TAKEN
        *cpage_out = &cc->buffer[0];                                                      
        ret = (*cc->compress)(cc, data_in, *cpage_out, datalen, cdatalen);                
4000a4fc:   00052783            lw  a5,0(a0)                                              
        *cpage_out = &cc->buffer[0];                                                      
4000a500:   00c50613            addi    a2,a0,12                                          
4000a504:   00c6a023            sw  a2,0(a3)                                              
        ret = (*cc->compress)(cc, data_in, *cpage_out, datalen, cdatalen);                
4000a508:   00090713            mv  a4,s2                                                 
4000a50c:   00048693            mv  a3,s1                                                 
4000a510:   00040593            mv  a1,s0                                                 
4000a514:   000780e7            jalr    a5                                                
    } else {                                                                              
        ret = JFFS2_COMPR_NONE;                                                           
    }                                                                                     
                                                                                          
    if (ret == JFFS2_COMPR_NONE) {                                                        
4000a518:   00051a63            bnez    a0,4000a52c <jffs2_compress+0x60>                 
        *cpage_out = data_in;                                                             
        *datalen = *cdatalen;                                                             
4000a51c:   00092783            lw  a5,0(s2)                                              
        *cpage_out = data_in;                                                             
4000a520:   0089a023            sw  s0,0(s3)                                              
        *datalen = *cdatalen;                                                             
4000a524:   00000513            li  a0,0                                                  
4000a528:   00f4a023            sw  a5,0(s1)                                              
    }                                                                                     
    return ret;                                                                           
}                                                                                         
4000a52c:   01c12083            lw  ra,28(sp)                                             
4000a530:   01812403            lw  s0,24(sp)                                             
4000a534:   01412483            lw  s1,20(sp)                                             
4000a538:   01012903            lw  s2,16(sp)                                             
4000a53c:   00c12983            lw  s3,12(sp)                                             
4000a540:   02010113            addi    sp,sp,32                                          
4000a544:   00008067            ret                                                       
                                                                                          

4000a930 <jffs2_create>: /***********************************************************************/ int jffs2_create(struct _inode *dir_i, const char *d_name, size_t d_namelen, int mode) {
4000a930:   fd010113            addi    sp,sp,-48                                         
4000a934:   02912223            sw  s1,36(sp)                                             
4000a938:   03212023            sw  s2,32(sp)                                             
4000a93c:   02112623            sw  ra,44(sp)                                             
4000a940:   02812423            sw  s0,40(sp)                                             
4000a944:   01312e23            sw  s3,28(sp)                                             
4000a948:   00050493            mv  s1,a0                                                 
4000a94c:   00068913            mv  s2,a3                                                 
    struct jffs2_sb_info *c;                                                              
    struct _inode *inode;                                                                 
    int ret;                                                                              
    struct qstr qstr;                                                                     
                                                                                          
    qstr.name = d_name;                                                                   
4000a950:   00b12423            sw  a1,8(sp)                                              
    qstr.len = d_namelen;                                                                 
4000a954:   00c12623            sw  a2,12(sp)                                             
                                                                                          
    ri = jffs2_alloc_raw_inode();                                                         
4000a958:   f3df90ef            jal ra,40004894 <jffs2_alloc_raw_inode>                   
    if (!ri)                                                                              
4000a95c:   10050863            beqz    a0,4000aa6c <jffs2_create+0x13c>                  <== NEVER TAKEN
                                                                                          
    c = JFFS2_SB_INFO(dir_i->i_sb);                                                       
                                                                                          
    D1(printk(KERN_DEBUG "jffs2_create()\n"));                                            
                                                                                          
    inode = jffs2_new_inode(dir_i, mode, ri);                                             
4000a960:   00050613            mv  a2,a0                                                 
4000a964:   00090593            mv  a1,s2                                                 
4000a968:   00050413            mv  s0,a0                                                 
4000a96c:   00048513            mv  a0,s1                                                 
    c = JFFS2_SB_INFO(dir_i->i_sb);                                                       
4000a970:   0404a983            lw  s3,64(s1)                                             
    inode = jffs2_new_inode(dir_i, mode, ri);                                             
4000a974:   d18f80ef            jal ra,40002e8c <jffs2_new_inode>                         
                                                                                          
    if (IS_ERR(inode)) {                                                                  
4000a978:   c1800793            li  a5,-1000                                              
    inode = jffs2_new_inode(dir_i, mode, ri);                                             
4000a97c:   00050913            mv  s2,a0                                                 
    if (IS_ERR(inode)) {                                                                  
4000a980:   0ca7e063            bltu    a5,a0,4000aa40 <jffs2_create+0x110>               
    }                                                                                     
                                                                                          
    f = JFFS2_INODE_INFO(inode);                                                          
    dir_f = JFFS2_INODE_INFO(dir_i);                                                      
                                                                                          
    ret = jffs2_do_create(c, dir_f, f, ri, &qstr);                                        
4000a984:   04850613            addi    a2,a0,72                                          
4000a988:   00810713            addi    a4,sp,8                                           
4000a98c:   00098513            mv  a0,s3                                                 
4000a990:   00040693            mv  a3,s0                                                 
4000a994:   04848593            addi    a1,s1,72                                          
4000a998:   d29fe0ef            jal ra,400096c0 <jffs2_do_create>                         
4000a99c:   00050993            mv  s3,a0                                                 
                                                                                          
    if (ret) {                                                                            
4000a9a0:   06051663            bnez    a0,4000aa0c <jffs2_create+0xdc>                   <== NEVER TAKEN
        jffs2_iput(inode);                                                                
        jffs2_free_raw_inode(ri);                                                         
        return ret;                                                                       
    }                                                                                     
                                                                                          
    dir_i->i_mtime = dir_i->i_ctime = ITIME(je32_to_cpu(ri->ctime));                      
4000a9a4:   02944683            lbu a3,41(s0)                                             
4000a9a8:   02844603            lbu a2,40(s0)                                             
4000a9ac:   02a44703            lbu a4,42(s0)                                             
4000a9b0:   02b44783            lbu a5,43(s0)                                             
4000a9b4:   00869693            slli    a3,a3,0x8                                         
4000a9b8:   00c6e6b3            or  a3,a3,a2                                              
4000a9bc:   01071713            slli    a4,a4,0x10                                        
4000a9c0:   00d76733            or  a4,a4,a3                                              
4000a9c4:   01879793            slli    a5,a5,0x18                                        
4000a9c8:   00e7e7b3            or  a5,a5,a4                                              
                                                                                          
    jffs2_free_raw_inode(ri);                                                             
4000a9cc:   00040513            mv  a0,s0                                                 
    dir_i->i_mtime = dir_i->i_ctime = ITIME(je32_to_cpu(ri->ctime));                      
4000a9d0:   02f4a423            sw  a5,40(s1)                                             
4000a9d4:   0204a623            sw  zero,44(s1)                                           
4000a9d8:   02f4a023            sw  a5,32(s1)                                             
4000a9dc:   0204a223            sw  zero,36(s1)                                           
    jffs2_free_raw_inode(ri);                                                             
4000a9e0:   ebdf90ef            jal ra,4000489c <jffs2_free_raw_inode>                    
                                                                                          
    D1(printk(KERN_DEBUG "jffs2_create: Created ino #%lu with mode %o, nlink %d(%d)\n",   
          inode->i_ino, inode->i_mode, inode->i_nlink, f->inocache->pino_nlink));         
    jffs2_iput(inode);                                                                    
4000a9e4:   00090513            mv  a0,s2                                                 
4000a9e8:   d59f70ef            jal ra,40002740 <jffs2_iput>                              
    return 0;                                                                             
}                                                                                         
4000a9ec:   02c12083            lw  ra,44(sp)                                             
4000a9f0:   02812403            lw  s0,40(sp)                                             
4000a9f4:   02412483            lw  s1,36(sp)                                             
4000a9f8:   02012903            lw  s2,32(sp)                                             
4000a9fc:   00098513            mv  a0,s3                                                 
4000aa00:   01c12983            lw  s3,28(sp)                                             
4000aa04:   03010113            addi    sp,sp,48                                          
4000aa08:   00008067            ret                                                       
        jffs2_iput(inode);                                                                
4000aa0c:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
        inode->i_nlink = 0;                                                               
4000aa10:   00091623            sh  zero,12(s2)                                           <== NOT EXECUTED
        jffs2_iput(inode);                                                                
4000aa14:   d2df70ef            jal ra,40002740 <jffs2_iput>                              <== NOT EXECUTED
        jffs2_free_raw_inode(ri);                                                         
4000aa18:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000aa1c:   e81f90ef            jal ra,4000489c <jffs2_free_raw_inode>                    <== NOT EXECUTED
}                                                                                         
4000aa20:   02c12083            lw  ra,44(sp)                                             <== NOT EXECUTED
4000aa24:   02812403            lw  s0,40(sp)                                             <== NOT EXECUTED
4000aa28:   02412483            lw  s1,36(sp)                                             <== NOT EXECUTED
4000aa2c:   02012903            lw  s2,32(sp)                                             <== NOT EXECUTED
4000aa30:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
4000aa34:   01c12983            lw  s3,28(sp)                                             <== NOT EXECUTED
4000aa38:   03010113            addi    sp,sp,48                                          <== NOT EXECUTED
4000aa3c:   00008067            ret                                                       <== NOT EXECUTED
        jffs2_free_raw_inode(ri);                                                         
4000aa40:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000aa44:   e59f90ef            jal ra,4000489c <jffs2_free_raw_inode>                    <== NOT EXECUTED
}                                                                                         
4000aa48:   02c12083            lw  ra,44(sp)                                             <== NOT EXECUTED
4000aa4c:   02812403            lw  s0,40(sp)                                             <== NOT EXECUTED
        return PTR_ERR(inode);                                                            
4000aa50:   00090993            mv  s3,s2                                                 <== NOT EXECUTED
}                                                                                         
4000aa54:   02412483            lw  s1,36(sp)                                             <== NOT EXECUTED
4000aa58:   02012903            lw  s2,32(sp)                                             <== NOT EXECUTED
4000aa5c:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
4000aa60:   01c12983            lw  s3,28(sp)                                             <== NOT EXECUTED
4000aa64:   03010113            addi    sp,sp,48                                          <== NOT EXECUTED
4000aa68:   00008067            ret                                                       <== NOT EXECUTED
        return -ENOMEM;                                                                   
4000aa6c:   ff400993            li  s3,-12                                                <== NOT EXECUTED
4000aa70:   f7dff06f            j   4000a9ec <jffs2_create+0xbc>                          <== NOT EXECUTED
                                                                                          

4000a548 <jffs2_decompress>: int jffs2_decompress(struct jffs2_sb_info *c, struct jffs2_inode_info *f, uint16_t comprtype, unsigned char *cdata_in, unsigned char *data_out, uint32_t cdatalen, uint32_t datalen) { struct super_block *sb = OFNI_BS_2SFFJ(c);
4000a548:   0ff67e13            andi    t3,a2,255                                         
    rtems_jffs2_compressor_control *cc = sb->s_compressor_control;                        
                                                                                          
    /* Older code had a bug where it would write non-zero 'usercompr'                     
       fields. Deal with it. */                                                           
    if ((comprtype & 0xff) <= JFFS2_COMPR_ZLIB)                                           
4000a54c:   00600e93            li  t4,6                                                  
{                                                                                         
4000a550:   00060893            mv  a7,a2                                                 
4000a554:   00050313            mv  t1,a0                                                 
4000a558:   00068593            mv  a1,a3                                                 
4000a55c:   00070513            mv  a0,a4                                                 
4000a560:   00080613            mv  a2,a6                                                 
4000a564:   00078713            mv  a4,a5                                                 
    if ((comprtype & 0xff) <= JFFS2_COMPR_ZLIB)                                           
4000a568:   03cef463            bgeu    t4,t3,4000a590 <jffs2_decompress+0x48>            
    rtems_jffs2_compressor_control *cc = sb->s_compressor_control;                        
4000a56c:   0e832803            lw  a6,232(t1)                                            <== NOT EXECUTED
        break;                                                                            
    case JFFS2_COMPR_ZERO:                                                                
        memset(data_out, 0, datalen);                                                     
        break;                                                                            
    default:                                                                              
        if (cc != NULL) {                                                                 
4000a570:   06080063            beqz    a6,4000a5d0 <jffs2_decompress+0x88>               <== NOT EXECUTED
            return (*cc->decompress)(cc, comprtype, cdata_in, data_out, cdatalen, datalen);
4000a574:   00482303            lw  t1,4(a6)                                              <== NOT EXECUTED
4000a578:   00060793            mv  a5,a2                                                 <== NOT EXECUTED
4000a57c:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
4000a580:   00058613            mv  a2,a1                                                 <== NOT EXECUTED
4000a584:   00080513            mv  a0,a6                                                 <== NOT EXECUTED
4000a588:   00088593            mv  a1,a7                                                 <== NOT EXECUTED
4000a58c:   00030067            jr  t1                                                    <== NOT EXECUTED
{                                                                                         
4000a590:   ff010113            addi    sp,sp,-16                                         
4000a594:   00112623            sw  ra,12(sp)                                             
    switch (comprtype & 0xff) {                                                           
4000a598:   000e1c63            bnez    t3,4000a5b0 <jffs2_decompress+0x68>               <== ALWAYS TAKEN
        memcpy(data_out, cdata_in, datalen);                                              
4000a59c:   255110ef            jal ra,4001bff0 <memcpy>                                  <== NOT EXECUTED
        } else {                                                                          
            return -EIO;                                                                  
        }                                                                                 
    }                                                                                     
    return 0;                                                                             
4000a5a0:   00000513            li  a0,0                                                  <== NOT EXECUTED
}                                                                                         
4000a5a4:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
4000a5a8:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
4000a5ac:   00008067            ret                                                       <== NOT EXECUTED
    switch (comprtype & 0xff) {                                                           
4000a5b0:   00100793            li  a5,1                                                  
4000a5b4:   02fe1263            bne t3,a5,4000a5d8 <jffs2_decompress+0x90>                
        memset(data_out, 0, datalen);                                                     
4000a5b8:   00000593            li  a1,0                                                  <== NOT EXECUTED
4000a5bc:   35d110ef            jal ra,4001c118 <memset>                                  <== NOT EXECUTED
}                                                                                         
4000a5c0:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
    return 0;                                                                             
4000a5c4:   00000513            li  a0,0                                                  <== NOT EXECUTED
}                                                                                         
4000a5c8:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
4000a5cc:   00008067            ret                                                       <== NOT EXECUTED
            return -EIO;                                                                  
4000a5d0:   ffb00513            li  a0,-5                                                 <== NOT EXECUTED
}                                                                                         
4000a5d4:   00008067            ret                                                       <== NOT EXECUTED
    rtems_jffs2_compressor_control *cc = sb->s_compressor_control;                        
4000a5d8:   0e832803            lw  a6,232(t1)                                            
        if (cc != NULL) {                                                                 
4000a5dc:   02080463            beqz    a6,4000a604 <jffs2_decompress+0xbc>               <== NEVER TAKEN
}                                                                                         
4000a5e0:   00c12083            lw  ra,12(sp)                                             
            return (*cc->decompress)(cc, comprtype, cdata_in, data_out, cdatalen, datalen);
4000a5e4:   00482303            lw  t1,4(a6)                                              
4000a5e8:   00060793            mv  a5,a2                                                 
4000a5ec:   00050693            mv  a3,a0                                                 
4000a5f0:   00058613            mv  a2,a1                                                 
4000a5f4:   000e0593            mv  a1,t3                                                 
4000a5f8:   00080513            mv  a0,a6                                                 
}                                                                                         
4000a5fc:   01010113            addi    sp,sp,16                                          
            return (*cc->decompress)(cc, comprtype, cdata_in, data_out, cdatalen, datalen);
4000a600:   00030067            jr  t1                                                    
            return -EIO;                                                                  
4000a604:   ffb00513            li  a0,-5                                                 <== NOT EXECUTED
4000a608:   f9dff06f            j   4000a5a4 <jffs2_decompress+0x5c>                      <== NOT EXECUTED
                                                                                          

400052d8 <jffs2_del_ino_cache>: prev = &c->inocache_list[old->ino % c->inocache_hashsize];
400052d8:   00c5a603            lw  a2,12(a1)                                             
400052dc:   0c052783            lw  a5,192(a0)                                            
400052e0:   0c452683            lw  a3,196(a0)                                            
400052e4:   02f677b3            remu    a5,a2,a5                                          
400052e8:   00279793            slli    a5,a5,0x2                                         
400052ec:   00f686b3            add a3,a3,a5                                              
    while ((*prev) && (*prev)->ino < old->ino) {                                          
400052f0:   0006a783            lw  a5,0(a3)                                              
400052f4:   00079a63            bnez    a5,40005308 <jffs2_del_ino_cache+0x30>            
400052f8:   0240006f            j   4000531c <jffs2_del_ino_cache+0x44>                   
        prev = &(*prev)->next;                                                            
400052fc:   01078693            addi    a3,a5,16                                          <== NOT EXECUTED
    while ((*prev) && (*prev)->ino < old->ino) {                                          
40005300:   0107a783            lw  a5,16(a5)                                             <== NOT EXECUTED
40005304:   00078c63            beqz    a5,4000531c <jffs2_del_ino_cache+0x44>            <== NOT EXECUTED
40005308:   00c7a703            lw  a4,12(a5)                                             
4000530c:   fec768e3            bltu    a4,a2,400052fc <jffs2_del_ino_cache+0x24>         
    if ((*prev) == old) {                                                                 
40005310:   00f59663            bne a1,a5,4000531c <jffs2_del_ino_cache+0x44>             
        *prev = old->next;                                                                
40005314:   0105a783            lw  a5,16(a1)                                             
40005318:   00f6a023            sw  a5,0(a3)                                              
    if (old->state != INO_STATE_READING && old->state != INO_STATE_CLEARING)              
4000531c:   00a5d783            lhu a5,10(a1)                                             
40005320:   00100713            li  a4,1                                                  
40005324:   ffb78793            addi    a5,a5,-5                                          
40005328:   01079793            slli    a5,a5,0x10                                        
4000532c:   0107d793            srli    a5,a5,0x10                                        
40005330:   00f76463            bltu    a4,a5,40005338 <jffs2_del_ino_cache+0x60>         
}                                                                                         
40005334:   00008067            ret                                                       
        jffs2_free_inode_cache(old);                                                      
40005338:   00058513            mv  a0,a1                                                 
4000533c:   e6cff06f            j   400049a8 <jffs2_free_inode_cache>                     
                                                                                          

40008650 <jffs2_do_clear_inode>: kfree (f); return ret; } void jffs2_do_clear_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f) {
40008650:   ff010113            addi    sp,sp,-16                                         
40008654:   00912223            sw  s1,4(sp)                                              
40008658:   00058493            mv  s1,a1                                                 
    struct jffs2_full_dirent *fd, *fds;                                                   
    int deleted;                                                                          
                                                                                          
    jffs2_xattr_delete_inode(c, f->inocache);                                             
    mutex_lock(&f->sem);                                                                  
    deleted = f->inocache && !f->inocache->pino_nlink;                                    
4000865c:   0145a583            lw  a1,20(a1)                                             
{                                                                                         
40008660:   00812423            sw  s0,8(sp)                                              
40008664:   01212023            sw  s2,0(sp)                                              
40008668:   00112623            sw  ra,12(sp)                                             
4000866c:   00050913            mv  s2,a0                                                 
        if (deleted)                                                                      
            jffs2_mark_node_obsolete(c, f->metadata->raw);                                
        jffs2_free_full_dnode(f->metadata);                                               
    }                                                                                     
                                                                                          
    jffs2_kill_fragtree(&f->fragtree, deleted?c:NULL);                                    
40008670:   00448413            addi    s0,s1,4                                           
    deleted = f->inocache && !f->inocache->pino_nlink;                                    
40008674:   04058263            beqz    a1,400086b8 <jffs2_do_clear_inode+0x68>           <== NEVER TAKEN
40008678:   0145a783            lw  a5,20(a1)                                             
    if (f->inocache && f->inocache->state != INO_STATE_CHECKING)                          
4000867c:   00a5d703            lhu a4,10(a1)                                             
    deleted = f->inocache && !f->inocache->pino_nlink;                                    
40008680:   02079863            bnez    a5,400086b0 <jffs2_do_clear_inode+0x60>           
    if (f->inocache && f->inocache->state != INO_STATE_CHECKING)                          
40008684:   00100793            li  a5,1                                                  
40008688:   0af71a63            bne a4,a5,4000873c <jffs2_do_clear_inode+0xec>            
    if (f->metadata) {                                                                    
4000868c:   0084a783            lw  a5,8(s1)                                              
40008690:   00078c63            beqz    a5,400086a8 <jffs2_do_clear_inode+0x58>           
            jffs2_mark_node_obsolete(c, f->metadata->raw);                                
40008694:   0007a583            lw  a1,0(a5)                                              
40008698:   00090513            mv  a0,s2                                                 
4000869c:   c00fd0ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                
        jffs2_free_full_dnode(f->metadata);                                               
400086a0:   0084a503            lw  a0,8(s1)                                              
400086a4:   9e0fc0ef            jal ra,40004884 <jffs2_free_full_dnode>                   
    jffs2_kill_fragtree(&f->fragtree, deleted?c:NULL);                                    
400086a8:   00090593            mv  a1,s2                                                 
400086ac:   01c0006f            j   400086c8 <jffs2_do_clear_inode+0x78>                  
    if (f->inocache && f->inocache->state != INO_STATE_CHECKING)                          
400086b0:   00100793            li  a5,1                                                  
400086b4:   08f71a63            bne a4,a5,40008748 <jffs2_do_clear_inode+0xf8>            
    if (f->metadata) {                                                                    
400086b8:   0084a503            lw  a0,8(s1)                                              <== NOT EXECUTED
400086bc:   00050463            beqz    a0,400086c4 <jffs2_do_clear_inode+0x74>           <== NOT EXECUTED
        jffs2_free_full_dnode(f->metadata);                                               
400086c0:   9c4fc0ef            jal ra,40004884 <jffs2_free_full_dnode>                   
    jffs2_kill_fragtree(&f->fragtree, deleted?c:NULL);                                    
400086c4:   00000593            li  a1,0                                                  
400086c8:   00040513            mv  a0,s0                                                 
400086cc:   e09fc0ef            jal ra,400054d4 <jffs2_kill_fragtree>                     
                                                                                          
    if (f->target) {                                                                      
400086d0:   0104a503            lw  a0,16(s1)                                             
400086d4:   00050663            beqz    a0,400086e0 <jffs2_do_clear_inode+0x90>           
        kfree(f->target);                                                                 
400086d8:   7fd040ef            jal ra,4000d6d4 <free>                                    
        f->target = NULL;                                                                 
400086dc:   0004a823            sw  zero,16(s1)                                           
    }                                                                                     
                                                                                          
    fds = f->dents;                                                                       
400086e0:   00c4a403            lw  s0,12(s1)                                             
    while(fds) {                                                                          
400086e4:   00040a63            beqz    s0,400086f8 <jffs2_do_clear_inode+0xa8>           
        fd = fds;                                                                         
        fds = fd->next;                                                                   
400086e8:   00040513            mv  a0,s0                                                 
400086ec:   00442403            lw  s0,4(s0)                                              
        jffs2_free_full_dirent(fd);                                                       
400086f0:   988fc0ef            jal ra,40004878 <jffs2_free_full_dirent>                  
    while(fds) {                                                                          
400086f4:   fe041ae3            bnez    s0,400086e8 <jffs2_do_clear_inode+0x98>           
    }                                                                                     
                                                                                          
    if (f->inocache && f->inocache->state != INO_STATE_CHECKING) {                        
400086f8:   0144a583            lw  a1,20(s1)                                             
400086fc:   02058463            beqz    a1,40008724 <jffs2_do_clear_inode+0xd4>           <== NEVER TAKEN
40008700:   00a5d703            lhu a4,10(a1)                                             
40008704:   00100793            li  a5,1                                                  
40008708:   00f70e63            beq a4,a5,40008724 <jffs2_do_clear_inode+0xd4>            
        jffs2_set_inocache_state(c, f->inocache, INO_STATE_CHECKEDABSENT);                
4000870c:   00300613            li  a2,3                                                  
40008710:   00090513            mv  a0,s2                                                 
40008714:   b1dfc0ef            jal ra,40005230 <jffs2_set_inocache_state>                
        if (f->inocache->nodes == (void *)f->inocache)                                    
40008718:   0144a583            lw  a1,20(s1)                                             
4000871c:   0045a783            lw  a5,4(a1)                                              
40008720:   02f58e63            beq a1,a5,4000875c <jffs2_do_clear_inode+0x10c>           
            jffs2_del_ino_cache(c, f->inocache);                                          
    }                                                                                     
                                                                                          
    mutex_unlock(&f->sem);                                                                
}                                                                                         
40008724:   00c12083            lw  ra,12(sp)                                             
40008728:   00812403            lw  s0,8(sp)                                              
4000872c:   00412483            lw  s1,4(sp)                                              
40008730:   00012903            lw  s2,0(sp)                                              
40008734:   01010113            addi    sp,sp,16                                          
40008738:   00008067            ret                                                       
        jffs2_set_inocache_state(c, f->inocache, INO_STATE_CLEARING);                     
4000873c:   00600613            li  a2,6                                                  
40008740:   af1fc0ef            jal ra,40005230 <jffs2_set_inocache_state>                
40008744:   f49ff06f            j   4000868c <jffs2_do_clear_inode+0x3c>                  
40008748:   00600613            li  a2,6                                                  
4000874c:   ae5fc0ef            jal ra,40005230 <jffs2_set_inocache_state>                
    if (f->metadata) {                                                                    
40008750:   0084a503            lw  a0,8(s1)                                              
40008754:   f60508e3            beqz    a0,400086c4 <jffs2_do_clear_inode+0x74>           
40008758:   f69ff06f            j   400086c0 <jffs2_do_clear_inode+0x70>                  
}                                                                                         
4000875c:   00812403            lw  s0,8(sp)                                              
40008760:   00c12083            lw  ra,12(sp)                                             
40008764:   00412483            lw  s1,4(sp)                                              
            jffs2_del_ino_cache(c, f->inocache);                                          
40008768:   00090513            mv  a0,s2                                                 
}                                                                                         
4000876c:   00012903            lw  s2,0(sp)                                              
40008770:   01010113            addi    sp,sp,16                                          
            jffs2_del_ino_cache(c, f->inocache);                                          
40008774:   b65fc06f            j   400052d8 <jffs2_del_ino_cache>                        
                                                                                          

40008778 <jffs2_do_crccheck_inode>: {
40008778:   fa010113            addi    sp,sp,-96                                         <== NOT EXECUTED
4000877c:   04912a23            sw  s1,84(sp)                                             <== NOT EXECUTED
40008780:   05212823            sw  s2,80(sp)                                             <== NOT EXECUTED
40008784:   00050493            mv  s1,a0                                                 <== NOT EXECUTED
40008788:   00058913            mv  s2,a1                                                 <== NOT EXECUTED
    struct jffs2_inode_info *f = kzalloc(sizeof(*f), GFP_KERNEL);                         
4000878c:   00100513            li  a0,1                                                  <== NOT EXECUTED
40008790:   01c00593            li  a1,28                                                 <== NOT EXECUTED
{                                                                                         
40008794:   04112e23            sw  ra,92(sp)                                             <== NOT EXECUTED
40008798:   04812c23            sw  s0,88(sp)                                             <== NOT EXECUTED
    struct jffs2_inode_info *f = kzalloc(sizeof(*f), GFP_KERNEL);                         
4000879c:   3c9040ef            jal ra,4000d364 <calloc>                                  <== NOT EXECUTED
    if (!f)                                                                               
400087a0:   04050a63            beqz    a0,400087f4 <jffs2_do_crccheck_inode+0x7c>        <== NOT EXECUTED
    f->inocache = ic;                                                                     
400087a4:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    ret = jffs2_do_read_inode_internal(c, f, &n);                                         
400087a8:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
400087ac:   00c10613            addi    a2,sp,12                                          <== NOT EXECUTED
400087b0:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
    f->inocache = ic;                                                                     
400087b4:   01242a23            sw  s2,20(s0)                                             <== NOT EXECUTED
    ret = jffs2_do_read_inode_internal(c, f, &n);                                         
400087b8:   e68fe0ef            jal ra,40006e20 <jffs2_do_read_inode_internal>            <== NOT EXECUTED
400087bc:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
    jffs2_do_clear_inode(c, f);                                                           
400087c0:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400087c4:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
    ret = jffs2_do_read_inode_internal(c, f, &n);                                         
400087c8:   00078493            mv  s1,a5                                                 <== NOT EXECUTED
    jffs2_do_clear_inode(c, f);                                                           
400087cc:   e85ff0ef            jal ra,40008650 <jffs2_do_clear_inode>                    <== NOT EXECUTED
    kfree (f);                                                                            
400087d0:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
400087d4:   701040ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
}                                                                                         
400087d8:   05c12083            lw  ra,92(sp)                                             <== NOT EXECUTED
400087dc:   05812403            lw  s0,88(sp)                                             <== NOT EXECUTED
400087e0:   05012903            lw  s2,80(sp)                                             <== NOT EXECUTED
400087e4:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400087e8:   05412483            lw  s1,84(sp)                                             <== NOT EXECUTED
400087ec:   06010113            addi    sp,sp,96                                          <== NOT EXECUTED
400087f0:   00008067            ret                                                       <== NOT EXECUTED
        return -ENOMEM;                                                                   
400087f4:   ff400493            li  s1,-12                                                <== NOT EXECUTED
400087f8:   fe1ff06f            j   400087d8 <jffs2_do_crccheck_inode+0x60>               <== NOT EXECUTED
                                                                                          

400096c0 <jffs2_do_create>: int jffs2_do_create(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, struct jffs2_inode_info *f, struct jffs2_raw_inode *ri, const struct qstr *qstr) {
400096c0:   fd010113            addi    sp,sp,-48                                         
400096c4:   02812423            sw  s0,40(sp)                                             
400096c8:   03212023            sw  s2,32(sp)                                             
400096cc:   01412c23            sw  s4,24(sp)                                             
400096d0:   01512a23            sw  s5,20(sp)                                             
400096d4:   00058a13            mv  s4,a1                                                 
400096d8:   00060913            mv  s2,a2                                                 
400096dc:   00068413            mv  s0,a3                                                 
400096e0:   00070a93            mv  s5,a4                                                 
    int ret;                                                                              
                                                                                          
    /* Try to reserve enough space for both node and dirent.                              
     * Just the node will do for now, though                                              
     */                                                                                   
    ret = jffs2_reserve_space(c, sizeof(*ri), &alloclen, ALLOC_NORMAL,                    
400096e4:   00000693            li  a3,0                                                  
400096e8:   01200713            li  a4,18                                                 
400096ec:   00c10613            addi    a2,sp,12                                          
400096f0:   04400593            li  a1,68                                                 
{                                                                                         
400096f4:   02912223            sw  s1,36(sp)                                             
400096f8:   01312e23            sw  s3,28(sp)                                             
400096fc:   02112623            sw  ra,44(sp)                                             
40009700:   01612823            sw  s6,16(sp)                                             
40009704:   00050993            mv  s3,a0                                                 
    ret = jffs2_reserve_space(c, sizeof(*ri), &alloclen, ALLOC_NORMAL,                    
40009708:   b99fc0ef            jal ra,400062a0 <jffs2_reserve_space>                     
4000970c:   00050493            mv  s1,a0                                                 
                JFFS2_SUMMARY_INODE_SIZE);                                                
    jffs2_dbg(1, "%s(): reserved 0x%x bytes\n", __func__, alloclen);                      
    if (ret)                                                                              
40009710:   02050863            beqz    a0,40009740 <jffs2_do_create+0x80>                <== ALWAYS TAKEN
                                                                                          
    jffs2_complete_reservation(c);                                                        
    mutex_unlock(&dir_f->sem);                                                            
                                                                                          
    return 0;                                                                             
}                                                                                         
40009714:   02c12083            lw  ra,44(sp)                                             
40009718:   02812403            lw  s0,40(sp)                                             
4000971c:   02012903            lw  s2,32(sp)                                             
40009720:   01c12983            lw  s3,28(sp)                                             
40009724:   01812a03            lw  s4,24(sp)                                             
40009728:   01412a83            lw  s5,20(sp)                                             
4000972c:   01012b03            lw  s6,16(sp)                                             
40009730:   00048513            mv  a0,s1                                                 
40009734:   02412483            lw  s1,36(sp)                                             
40009738:   03010113            addi    sp,sp,48                                          
4000973c:   00008067            ret                                                       
    ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                              
40009740:   03c00613            li  a2,60                                                 
40009744:   00040593            mv  a1,s0                                                 
    ri->data_crc = cpu_to_je32(0);                                                        
40009748:   02040e23            sb  zero,60(s0)                                           
4000974c:   02040ea3            sb  zero,61(s0)                                           
40009750:   02040f23            sb  zero,62(s0)                                           
40009754:   02040fa3            sb  zero,63(s0)                                           
    ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                              
40009758:   539000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
4000975c:   00855693            srli    a3,a0,0x8                                         
40009760:   01055713            srli    a4,a0,0x10                                        
40009764:   01855793            srli    a5,a0,0x18                                        
40009768:   04a40023            sb  a0,64(s0)                                             
4000976c:   04d400a3            sb  a3,65(s0)                                             
40009770:   04e40123            sb  a4,66(s0)                                             
40009774:   04f401a3            sb  a5,67(s0)                                             
    fn = jffs2_write_dnode(c, f, ri, NULL, 0, ALLOC_NORMAL);                              
40009778:   00000713            li  a4,0                                                  
4000977c:   00000793            li  a5,0                                                  
40009780:   00000693            li  a3,0                                                  
40009784:   00040613            mv  a2,s0                                                 
40009788:   00090593            mv  a1,s2                                                 
4000978c:   00098513            mv  a0,s3                                                 
40009790:   a08ff0ef            jal ra,40008998 <jffs2_write_dnode>                       
40009794:   00050493            mv  s1,a0                                                 
    if (IS_ERR(fn)) {                                                                     
40009798:   c1800b13            li  s6,-1000                                              
        jffs2_complete_reservation(c);                                                    
4000979c:   00098513            mv  a0,s3                                                 
    if (IS_ERR(fn)) {                                                                     
400097a0:   1e9b6063            bltu    s6,s1,40009980 <jffs2_do_create+0x2c0>            
    f->metadata = fn;                                                                     
400097a4:   00992423            sw  s1,8(s2)                                              
    jffs2_complete_reservation(c);                                                        
400097a8:   ae0fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              
    ret = jffs2_reserve_space(c, sizeof(*rd)+qstr->len, &alloclen,                        
400097ac:   004aa583            lw  a1,4(s5)                                              
400097b0:   00000693            li  a3,0                                                  
400097b4:   00c10613            addi    a2,sp,12                                          
400097b8:   01858713            addi    a4,a1,24                                          
400097bc:   00098513            mv  a0,s3                                                 
400097c0:   02858593            addi    a1,a1,40                                          
400097c4:   addfc0ef            jal ra,400062a0 <jffs2_reserve_space>                     
400097c8:   00050493            mv  s1,a0                                                 
    if (ret) {                                                                            
400097cc:   f40514e3            bnez    a0,40009714 <jffs2_do_create+0x54>                <== NEVER TAKEN
    rd = jffs2_alloc_raw_dirent();                                                        
400097d0:   8b8fb0ef            jal ra,40004888 <jffs2_alloc_raw_dirent>                  
400097d4:   00050913            mv  s2,a0                                                 
    if (!rd) {                                                                            
400097d8:   1c050063            beqz    a0,40009998 <jffs2_do_create+0x2d8>               <== NEVER TAKEN
    rd->totlen = cpu_to_je32(sizeof(*rd) + qstr->len);                                    
400097dc:   004aa783            lw  a5,4(s5)                                              
    rd->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                         
400097e0:   f8500813            li  a6,-123                                               
400097e4:   01090023            sb  a6,0(s2)                                              
400097e8:   01900813            li  a6,25                                                 
    rd->totlen = cpu_to_je32(sizeof(*rd) + qstr->len);                                    
400097ec:   02878793            addi    a5,a5,40                                          
    rd->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                         
400097f0:   010900a3            sb  a6,1(s2)                                              
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
400097f4:   00100813            li  a6,1                                                  
    rd->totlen = cpu_to_je32(sizeof(*rd) + qstr->len);                                    
400097f8:   0087d513            srli    a0,a5,0x8                                         
400097fc:   0107d693            srli    a3,a5,0x10                                        
40009800:   0187d713            srli    a4,a5,0x18                                        
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
40009804:   01090123            sb  a6,2(s2)                                              
40009808:   fe000813            li  a6,-32                                                
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000980c:   00800613            li  a2,8                                                  
40009810:   00090593            mv  a1,s2                                                 
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
40009814:   010901a3            sb  a6,3(s2)                                              
    rd->totlen = cpu_to_je32(sizeof(*rd) + qstr->len);                                    
40009818:   00f90223            sb  a5,4(s2)                                              
4000981c:   00a902a3            sb  a0,5(s2)                                              
40009820:   00d90323            sb  a3,6(s2)                                              
40009824:   00e903a3            sb  a4,7(s2)                                              
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
40009828:   00000513            li  a0,0                                                  
4000982c:   465000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    rd->pino = cpu_to_je32(dir_f->inocache->ino);                                         
40009830:   014a2703            lw  a4,20(s4)                                             
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009834:   000a2783            lw  a5,0(s4)                                              
    rd->ino = ri->ino;                                                                    
40009838:   00c44e03            lbu t3,12(s0)                                             
    rd->pino = cpu_to_je32(dir_f->inocache->ino);                                         
4000983c:   00c74e83            lbu t4,12(a4)                                             
40009840:   00d74603            lbu a2,13(a4)                                             
40009844:   00e74683            lbu a3,14(a4)                                             
40009848:   00f74703            lbu a4,15(a4)                                             
    rd->ino = ri->ino;                                                                    
4000984c:   00d44303            lbu t1,13(s0)                                             
40009850:   00e44883            lbu a7,14(s0)                                             
40009854:   00f44803            lbu a6,15(s0)                                             
    rd->mctime = ri->ctime;                                                               
40009858:   02844583            lbu a1,40(s0)                                             
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000985c:   00855293            srli    t0,a0,0x8                                         
40009860:   01055f93            srli    t6,a0,0x10                                        
40009864:   01855f13            srli    t5,a0,0x18                                        
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009868:   00178793            addi    a5,a5,1                                           
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000986c:   005904a3            sb  t0,9(s2)                                              
40009870:   01f90523            sb  t6,10(s2)                                             
40009874:   00a90423            sb  a0,8(s2)                                              
40009878:   01e905a3            sb  t5,11(s2)                                             
    rd->pino = cpu_to_je32(dir_f->inocache->ino);                                         
4000987c:   01d90623            sb  t4,12(s2)                                             
40009880:   00c906a3            sb  a2,13(s2)                                             
40009884:   00d90723            sb  a3,14(s2)                                             
    rd->mctime = ri->ctime;                                                               
40009888:   02944603            lbu a2,41(s0)                                             
    rd->pino = cpu_to_je32(dir_f->inocache->ino);                                         
4000988c:   00e907a3            sb  a4,15(s2)                                             
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009890:   00fa2023            sw  a5,0(s4)                                              
40009894:   0087df13            srli    t5,a5,0x8                                         
40009898:   0107de93            srli    t4,a5,0x10                                        
4000989c:   0187d513            srli    a0,a5,0x18                                        
    rd->mctime = ri->ctime;                                                               
400098a0:   02a44683            lbu a3,42(s0)                                             
400098a4:   02b44703            lbu a4,43(s0)                                             
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
400098a8:   01e908a3            sb  t5,17(s2)                                             
400098ac:   01d90923            sb  t4,18(s2)                                             
    rd->ino = ri->ino;                                                                    
400098b0:   01c90a23            sb  t3,20(s2)                                             
400098b4:   00690aa3            sb  t1,21(s2)                                             
400098b8:   01190b23            sb  a7,22(s2)                                             
400098bc:   01090ba3            sb  a6,23(s2)                                             
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
400098c0:   00f90823            sb  a5,16(s2)                                             
400098c4:   00a909a3            sb  a0,19(s2)                                             
    rd->mctime = ri->ctime;                                                               
400098c8:   00b90c23            sb  a1,24(s2)                                             
400098cc:   00c90ca3            sb  a2,25(s2)                                             
    rd->nsize = qstr->len;                                                                
400098d0:   004aa783            lw  a5,4(s5)                                              
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
400098d4:   02000613            li  a2,32                                                 
400098d8:   00090593            mv  a1,s2                                                 
    rd->nsize = qstr->len;                                                                
400098dc:   00f90e23            sb  a5,28(s2)                                             
    rd->type = DT_REG;                                                                    
400098e0:   00800793            li  a5,8                                                  
    rd->mctime = ri->ctime;                                                               
400098e4:   00d90d23            sb  a3,26(s2)                                             
400098e8:   00e90da3            sb  a4,27(s2)                                             
    rd->type = DT_REG;                                                                    
400098ec:   00f90ea3            sb  a5,29(s2)                                             
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
400098f0:   00000513            li  a0,0                                                  
400098f4:   39d000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    rd->name_crc = cpu_to_je32(crc32(0, qstr->name, qstr->len));                          
400098f8:   004aa603            lw  a2,4(s5)                                              
400098fc:   000aa583            lw  a1,0(s5)                                              
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
40009900:   00855693            srli    a3,a0,0x8                                         
40009904:   01055713            srli    a4,a0,0x10                                        
40009908:   01855793            srli    a5,a0,0x18                                        
4000990c:   02a90023            sb  a0,32(s2)                                             
40009910:   02d900a3            sb  a3,33(s2)                                             
40009914:   02e90123            sb  a4,34(s2)                                             
40009918:   02f901a3            sb  a5,35(s2)                                             
    rd->name_crc = cpu_to_je32(crc32(0, qstr->name, qstr->len));                          
4000991c:   00000513            li  a0,0                                                  
40009920:   371000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    fd = jffs2_write_dirent(c, dir_f, rd, qstr->name, qstr->len, ALLOC_NORMAL);           
40009924:   004aa703            lw  a4,4(s5)                                              
40009928:   000aa683            lw  a3,0(s5)                                              
    rd->name_crc = cpu_to_je32(crc32(0, qstr->name, qstr->len));                          
4000992c:   00855593            srli    a1,a0,0x8                                         
40009930:   01055613            srli    a2,a0,0x10                                        
40009934:   01855793            srli    a5,a0,0x18                                        
40009938:   02a90223            sb  a0,36(s2)                                             
4000993c:   02b902a3            sb  a1,37(s2)                                             
40009940:   02c90323            sb  a2,38(s2)                                             
40009944:   02f903a3            sb  a5,39(s2)                                             
    fd = jffs2_write_dirent(c, dir_f, rd, qstr->name, qstr->len, ALLOC_NORMAL);           
40009948:   00090613            mv  a2,s2                                                 
4000994c:   00000793            li  a5,0                                                  
40009950:   000a0593            mv  a1,s4                                                 
40009954:   00098513            mv  a0,s3                                                 
40009958:   cb4ff0ef            jal ra,40008e0c <jffs2_write_dirent>                      
4000995c:   00050413            mv  s0,a0                                                 
    jffs2_free_raw_dirent(rd);                                                            
40009960:   00090513            mv  a0,s2                                                 
40009964:   f2dfa0ef            jal ra,40004890 <jffs2_free_raw_dirent>                   
    if (IS_ERR(fd)) {                                                                     
40009968:   028b6063            bltu    s6,s0,40009988 <jffs2_do_create+0x2c8>            
    jffs2_add_fd_to_list(c, fd, &dir_f->dents);                                           
4000996c:   00098513            mv  a0,s3                                                 
40009970:   00ca0613            addi    a2,s4,12                                          
40009974:   00040593            mv  a1,s0                                                 
40009978:   980fb0ef            jal ra,40004af8 <jffs2_add_fd_to_list>                    
    jffs2_complete_reservation(c);                                                        
4000997c:   00098513            mv  a0,s3                                                 
40009980:   908fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              
    return 0;                                                                             
40009984:   d91ff06f            j   40009714 <jffs2_do_create+0x54>                       
        jffs2_complete_reservation(c);                                                    
40009988:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
4000998c:   8fcfc0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
        return PTR_ERR(fd);                                                               
40009990:   00040493            mv  s1,s0                                                 <== NOT EXECUTED
40009994:   d81ff06f            j   40009714 <jffs2_do_create+0x54>                       <== NOT EXECUTED
        jffs2_complete_reservation(c);                                                    
40009998:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
4000999c:   8ecfc0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
        return -ENOMEM;                                                                   
400099a0:   ff400493            li  s1,-12                                                <== NOT EXECUTED
400099a4:   d71ff06f            j   40009714 <jffs2_do_create+0x54>                       <== NOT EXECUTED
                                                                                          

40009b1c <jffs2_do_link>: int jffs2_do_link (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, uint32_t ino, uint8_t type, const char *name, int namelen, uint32_t time) {
40009b1c:   fc010113            addi    sp,sp,-64                                         
40009b20:   02912a23            sw  s1,52(sp)                                             
40009b24:   03212823            sw  s2,48(sp)                                             
40009b28:   03312623            sw  s3,44(sp)                                             
40009b2c:   03412423            sw  s4,40(sp)                                             
40009b30:   03512223            sw  s5,36(sp)                                             
40009b34:   01712e23            sw  s7,28(sp)                                             
40009b38:   01812c23            sw  s8,24(sp)                                             
40009b3c:   02112e23            sw  ra,60(sp)                                             
40009b40:   02812c23            sw  s0,56(sp)                                             
40009b44:   03612023            sw  s6,32(sp)                                             
40009b48:   01912a23            sw  s9,20(sp)                                             
40009b4c:   00050993            mv  s3,a0                                                 
40009b50:   00058913            mv  s2,a1                                                 
40009b54:   00060a93            mv  s5,a2                                                 
40009b58:   00068c13            mv  s8,a3                                                 
40009b5c:   00070b93            mv  s7,a4                                                 
40009b60:   00078493            mv  s1,a5                                                 
40009b64:   00080a13            mv  s4,a6                                                 
    struct jffs2_raw_dirent *rd;                                                          
    struct jffs2_full_dirent *fd;                                                         
    uint32_t alloclen;                                                                    
    int ret;                                                                              
                                                                                          
    rd = jffs2_alloc_raw_dirent();                                                        
40009b68:   d21fa0ef            jal ra,40004888 <jffs2_alloc_raw_dirent>                  
    if (!rd)                                                                              
40009b6c:   20050a63            beqz    a0,40009d80 <jffs2_do_link+0x264>                 <== NEVER TAKEN
        return -ENOMEM;                                                                   
                                                                                          
    ret = jffs2_reserve_space(c, sizeof(*rd)+namelen, &alloclen,                          
40009b70:   02848b13            addi    s6,s1,40                                          
40009b74:   00050413            mv  s0,a0                                                 
40009b78:   01848713            addi    a4,s1,24                                          
40009b7c:   00000693            li  a3,0                                                  
40009b80:   00c10613            addi    a2,sp,12                                          
40009b84:   000b0593            mv  a1,s6                                                 
40009b88:   00098513            mv  a0,s3                                                 
40009b8c:   f14fc0ef            jal ra,400062a0 <jffs2_reserve_space>                     
40009b90:   00050c93            mv  s9,a0                                                 
                ALLOC_NORMAL, JFFS2_SUMMARY_DIRENT_SIZE(namelen));                        
    if (ret) {                                                                            
40009b94:   1e051063            bnez    a0,40009d74 <jffs2_do_link+0x258>                 <== NEVER TAKEN
    }                                                                                     
                                                                                          
    mutex_lock(&dir_f->sem);                                                              
                                                                                          
    /* Build a deletion node */                                                           
    rd->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                         
40009b98:   f8500813            li  a6,-123                                               
40009b9c:   01040023            sb  a6,0(s0)                                              
40009ba0:   01900813            li  a6,25                                                 
40009ba4:   010400a3            sb  a6,1(s0)                                              
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
40009ba8:   00100813            li  a6,1                                                  
    rd->totlen = cpu_to_je32(sizeof(*rd) + namelen);                                      
40009bac:   008b5693            srli    a3,s6,0x8                                         
40009bb0:   010b5713            srli    a4,s6,0x10                                        
40009bb4:   018b5793            srli    a5,s6,0x18                                        
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
40009bb8:   01040123            sb  a6,2(s0)                                              
40009bbc:   fe000813            li  a6,-32                                                
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
40009bc0:   00040593            mv  a1,s0                                                 
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
40009bc4:   010401a3            sb  a6,3(s0)                                              
    rd->totlen = cpu_to_je32(sizeof(*rd) + namelen);                                      
40009bc8:   00d402a3            sb  a3,5(s0)                                              
40009bcc:   00e40323            sb  a4,6(s0)                                              
40009bd0:   00f403a3            sb  a5,7(s0)                                              
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
40009bd4:   00800613            li  a2,8                                                  
    rd->totlen = cpu_to_je32(sizeof(*rd) + namelen);                                      
40009bd8:   01640223            sb  s6,4(s0)                                              
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
40009bdc:   0b5000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
                                                                                          
    rd->pino = cpu_to_je32(dir_f->inocache->ino);                                         
40009be0:   01492703            lw  a4,20(s2)                                             
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009be4:   00092783            lw  a5,0(s2)                                              
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
40009be8:   00855313            srli    t1,a0,0x8                                         
    rd->pino = cpu_to_je32(dir_f->inocache->ino);                                         
40009bec:   00c74583            lbu a1,12(a4)                                             
40009bf0:   00d74603            lbu a2,13(a4)                                             
40009bf4:   00e74683            lbu a3,14(a4)                                             
40009bf8:   00f74703            lbu a4,15(a4)                                             
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
40009bfc:   01055893            srli    a7,a0,0x10                                        
40009c00:   01855813            srli    a6,a0,0x18                                        
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009c04:   00178793            addi    a5,a5,1                                           
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
40009c08:   00a40423            sb  a0,8(s0)                                              
40009c0c:   006404a3            sb  t1,9(s0)                                              
40009c10:   01140523            sb  a7,10(s0)                                             
40009c14:   010405a3            sb  a6,11(s0)                                             
    rd->pino = cpu_to_je32(dir_f->inocache->ino);                                         
40009c18:   00b40623            sb  a1,12(s0)                                             
40009c1c:   00c406a3            sb  a2,13(s0)                                             
40009c20:   00d40723            sb  a3,14(s0)                                             
40009c24:   00e407a3            sb  a4,15(s0)                                             
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009c28:   00f92023            sw  a5,0(s2)                                              
40009c2c:   0087df13            srli    t5,a5,0x8                                         
40009c30:   0107de93            srli    t4,a5,0x10                                        
40009c34:   0187de13            srli    t3,a5,0x18                                        
    rd->ino = cpu_to_je32(ino);                                                           
40009c38:   008ad313            srli    t1,s5,0x8                                         
40009c3c:   010ad893            srli    a7,s5,0x10                                        
40009c40:   018ad813            srli    a6,s5,0x18                                        
    rd->mctime = cpu_to_je32(time);                                                       
40009c44:   010a5693            srli    a3,s4,0x10                                        
40009c48:   018a5713            srli    a4,s4,0x18                                        
40009c4c:   008a5513            srli    a0,s4,0x8                                         
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009c50:   01e408a3            sb  t5,17(s0)                                             
40009c54:   01d40923            sb  t4,18(s0)                                             
40009c58:   01c409a3            sb  t3,19(s0)                                             
    rd->ino = cpu_to_je32(ino);                                                           
40009c5c:   00640aa3            sb  t1,21(s0)                                             
40009c60:   01140b23            sb  a7,22(s0)                                             
40009c64:   01040ba3            sb  a6,23(s0)                                             
    rd->nsize = namelen;                                                                  
                                                                                          
    rd->type = type;                                                                      
                                                                                          
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
40009c68:   00040593            mv  a1,s0                                                 
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
40009c6c:   00f40823            sb  a5,16(s0)                                             
    rd->mctime = cpu_to_je32(time);                                                       
40009c70:   00a40ca3            sb  a0,25(s0)                                             
40009c74:   00d40d23            sb  a3,26(s0)                                             
40009c78:   00e40da3            sb  a4,27(s0)                                             
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
40009c7c:   02000613            li  a2,32                                                 
    rd->ino = cpu_to_je32(ino);                                                           
40009c80:   01540a23            sb  s5,20(s0)                                             
    rd->mctime = cpu_to_je32(time);                                                       
40009c84:   01440c23            sb  s4,24(s0)                                             
    rd->nsize = namelen;                                                                  
40009c88:   00940e23            sb  s1,28(s0)                                             
    rd->type = type;                                                                      
40009c8c:   01840ea3            sb  s8,29(s0)                                             
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
40009c90:   00000513            li  a0,0                                                  
40009c94:   7fc000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
40009c98:   00855693            srli    a3,a0,0x8                                         
40009c9c:   01055713            srli    a4,a0,0x10                                        
40009ca0:   01855793            srli    a5,a0,0x18                                        
40009ca4:   02a40023            sb  a0,32(s0)                                             
40009ca8:   02d400a3            sb  a3,33(s0)                                             
40009cac:   02e40123            sb  a4,34(s0)                                             
40009cb0:   02f401a3            sb  a5,35(s0)                                             
    rd->name_crc = cpu_to_je32(crc32(0, name, namelen));                                  
40009cb4:   00048613            mv  a2,s1                                                 
40009cb8:   000b8593            mv  a1,s7                                                 
40009cbc:   00000513            li  a0,0                                                  
40009cc0:   7d0000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
40009cc4:   00855313            srli    t1,a0,0x8                                         
40009cc8:   01055893            srli    a7,a0,0x10                                        
40009ccc:   01855813            srli    a6,a0,0x18                                        
                                                                                          
    fd = jffs2_write_dirent(c, dir_f, rd, name, namelen, ALLOC_NORMAL);                   
40009cd0:   00000793            li  a5,0                                                  
40009cd4:   00040613            mv  a2,s0                                                 
    rd->name_crc = cpu_to_je32(crc32(0, name, namelen));                                  
40009cd8:   02a40223            sb  a0,36(s0)                                             
40009cdc:   026402a3            sb  t1,37(s0)                                             
40009ce0:   03140323            sb  a7,38(s0)                                             
40009ce4:   030403a3            sb  a6,39(s0)                                             
    fd = jffs2_write_dirent(c, dir_f, rd, name, namelen, ALLOC_NORMAL);                   
40009ce8:   00048713            mv  a4,s1                                                 
40009cec:   000b8693            mv  a3,s7                                                 
40009cf0:   00090593            mv  a1,s2                                                 
40009cf4:   00098513            mv  a0,s3                                                 
40009cf8:   914ff0ef            jal ra,40008e0c <jffs2_write_dirent>                      
40009cfc:   00050593            mv  a1,a0                                                 
                                                                                          
    jffs2_free_raw_dirent(rd);                                                            
40009d00:   00040513            mv  a0,s0                                                 
    fd = jffs2_write_dirent(c, dir_f, rd, name, namelen, ALLOC_NORMAL);                   
40009d04:   00058413            mv  s0,a1                                                 
    jffs2_free_raw_dirent(rd);                                                            
40009d08:   b89fa0ef            jal ra,40004890 <jffs2_free_raw_dirent>                   
                                                                                          
    if (IS_ERR(fd)) {                                                                     
40009d0c:   c1800793            li  a5,-1000                                              
40009d10:   0487ea63            bltu    a5,s0,40009d64 <jffs2_do_link+0x248>              
        mutex_unlock(&dir_f->sem);                                                        
        return PTR_ERR(fd);                                                               
    }                                                                                     
                                                                                          
    /* File it. This will mark the old one obsolete. */                                   
    jffs2_add_fd_to_list(c, fd, &dir_f->dents);                                           
40009d14:   00098513            mv  a0,s3                                                 
40009d18:   00c90613            addi    a2,s2,12                                          
40009d1c:   00040593            mv  a1,s0                                                 
40009d20:   dd9fa0ef            jal ra,40004af8 <jffs2_add_fd_to_list>                    
                                                                                          
    jffs2_complete_reservation(c);                                                        
40009d24:   00098513            mv  a0,s3                                                 
40009d28:   d61fb0ef            jal ra,40005a88 <jffs2_complete_reservation>              
    mutex_unlock(&dir_f->sem);                                                            
                                                                                          
    return 0;                                                                             
}                                                                                         
40009d2c:   03c12083            lw  ra,60(sp)                                             
40009d30:   03812403            lw  s0,56(sp)                                             
40009d34:   03412483            lw  s1,52(sp)                                             
40009d38:   03012903            lw  s2,48(sp)                                             
40009d3c:   02c12983            lw  s3,44(sp)                                             
40009d40:   02812a03            lw  s4,40(sp)                                             
40009d44:   02412a83            lw  s5,36(sp)                                             
40009d48:   02012b03            lw  s6,32(sp)                                             
40009d4c:   01c12b83            lw  s7,28(sp)                                             
40009d50:   01812c03            lw  s8,24(sp)                                             
40009d54:   000c8513            mv  a0,s9                                                 
40009d58:   01412c83            lw  s9,20(sp)                                             
40009d5c:   04010113            addi    sp,sp,64                                          
40009d60:   00008067            ret                                                       
        jffs2_complete_reservation(c);                                                    
40009d64:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40009d68:   d21fb0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
        return PTR_ERR(fd);                                                               
40009d6c:   00040c93            mv  s9,s0                                                 <== NOT EXECUTED
40009d70:   fbdff06f            j   40009d2c <jffs2_do_link+0x210>                        <== NOT EXECUTED
        jffs2_free_raw_dirent(rd);                                                        
40009d74:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009d78:   b19fa0ef            jal ra,40004890 <jffs2_free_raw_dirent>                   <== NOT EXECUTED
        return ret;                                                                       
40009d7c:   fb1ff06f            j   40009d2c <jffs2_do_link+0x210>                        <== NOT EXECUTED
        return -ENOMEM;                                                                   
40009d80:   ff400c93            li  s9,-12                                                <== NOT EXECUTED
40009d84:   fa9ff06f            j   40009d2c <jffs2_do_link+0x210>                        <== NOT EXECUTED
                                                                                          

40009e80 <jffs2_do_mount_fs>: dbg_fsbuild("Very dirty blocks before GC triggered: %d\n", c->vdirty_blocks_gctrigger); } int jffs2_do_mount_fs(struct jffs2_sb_info *c) {
40009e80:   fc010113            addi    sp,sp,-64                                         
40009e84:   02812c23            sw  s0,56(sp)                                             
40009e88:   03212823            sw  s2,48(sp)                                             
    int ret;                                                                              
    int i;                                                                                
    int size;                                                                             
                                                                                          
    c->free_size = c->flash_size;                                                         
    c->nr_blocks = c->flash_size / c->sector_size;                                        
40009e8c:   03452403            lw  s0,52(a0)                                             
    c->free_size = c->flash_size;                                                         
40009e90:   01852903            lw  s2,24(a0)                                             
{                                                                                         
40009e94:   02912a23            sw  s1,52(sp)                                             
#ifndef __ECOS                                                                            
    if (jffs2_blocks_use_vmalloc(c))                                                      
        c->blocks = vzalloc(size);                                                        
    else                                                                                  
#endif                                                                                    
        c->blocks = kzalloc(size, GFP_KERNEL);                                            
40009e98:   03400593            li  a1,52                                                 
    c->nr_blocks = c->flash_size / c->sector_size;                                        
40009e9c:   028954b3            divu    s1,s2,s0                                          
{                                                                                         
40009ea0:   03412423            sw  s4,40(sp)                                             
40009ea4:   02112e23            sw  ra,60(sp)                                             
40009ea8:   03312623            sw  s3,44(sp)                                             
40009eac:   03512223            sw  s5,36(sp)                                             
40009eb0:   03612023            sw  s6,32(sp)                                             
40009eb4:   01712e23            sw  s7,28(sp)                                             
40009eb8:   01812c23            sw  s8,24(sp)                                             
40009ebc:   00050a13            mv  s4,a0                                                 
    c->free_size = c->flash_size;                                                         
40009ec0:   03252423            sw  s2,40(a0)                                             
        c->blocks = kzalloc(size, GFP_KERNEL);                                            
40009ec4:   00100513            li  a0,1                                                  
40009ec8:   02b485b3            mul a1,s1,a1                                              
    c->nr_blocks = c->flash_size / c->sector_size;                                        
40009ecc:   049a2823            sw  s1,80(s4)                                             
        c->blocks = kzalloc(size, GFP_KERNEL);                                            
40009ed0:   494030ef            jal ra,4000d364 <calloc>                                  
40009ed4:   04aa2a23            sw  a0,84(s4)                                             
    if (!c->blocks)                                                                       
40009ed8:   5a050863            beqz    a0,4000a488 <jffs2_do_mount_fs+0x608>             <== NEVER TAKEN
40009edc:   00050793            mv  a5,a0                                                 
        return -ENOMEM;                                                                   
                                                                                          
    for (i=0; i<c->nr_blocks; i++) {                                                      
40009ee0:   00000693            li  a3,0                                                  
40009ee4:   00000713            li  a4,0                                                  
40009ee8:   02896263            bltu    s2,s0,40009f0c <jffs2_do_mount_fs+0x8c>           
        INIT_LIST_HEAD(&c->blocks[i].list);                                               
        c->blocks[i].offset = i * c->sector_size;                                         
40009eec:   00d7a623            sw  a3,12(a5)                                             
        INIT_LIST_HEAD(&c->blocks[i].list);                                               
40009ef0:   00f7a223            sw  a5,4(a5)                                              
40009ef4:   00f7a023            sw  a5,0(a5)                                              
        c->blocks[i].free_size = c->sector_size;                                          
40009ef8:   0287a023            sw  s0,32(a5)                                             
    for (i=0; i<c->nr_blocks; i++) {                                                      
40009efc:   00170713            addi    a4,a4,1                                           
40009f00:   03478793            addi    a5,a5,52                                          
40009f04:   008686b3            add a3,a3,s0                                              
40009f08:   fe9762e3            bltu    a4,s1,40009eec <jffs2_do_mount_fs+0x6c>           
    c->flags |= JFFS2_SB_FLAG_SCANNING;                                                   
40009f0c:   00ca2f83            lw  t6,12(s4)                                             
    INIT_LIST_HEAD(&c->erase_pending_list);                                               
    INIT_LIST_HEAD(&c->erasable_pending_wbuf_list);                                       
    INIT_LIST_HEAD(&c->erase_complete_list);                                              
    INIT_LIST_HEAD(&c->free_list);                                                        
    INIT_LIST_HEAD(&c->bad_list);                                                         
    INIT_LIST_HEAD(&c->bad_used_list);                                                    
40009f10:   0b8a0793            addi    a5,s4,184                                         
    INIT_LIST_HEAD(&c->bad_list);                                                         
40009f14:   0b0a0713            addi    a4,s4,176                                         
    INIT_LIST_HEAD(&c->clean_list);                                                       
40009f18:   060a0f13            addi    t5,s4,96                                          
    INIT_LIST_HEAD(&c->very_dirty_list);                                                  
40009f1c:   068a0e93            addi    t4,s4,104                                         
    INIT_LIST_HEAD(&c->dirty_list);                                                       
40009f20:   070a0e13            addi    t3,s4,112                                         
    INIT_LIST_HEAD(&c->erasable_list);                                                    
40009f24:   078a0313            addi    t1,s4,120                                         
    INIT_LIST_HEAD(&c->erasing_list);                                                     
40009f28:   088a0893            addi    a7,s4,136                                         
    INIT_LIST_HEAD(&c->erase_checking_list);                                              
40009f2c:   090a0813            addi    a6,s4,144                                         
    INIT_LIST_HEAD(&c->erase_pending_list);                                               
40009f30:   098a0513            addi    a0,s4,152                                         
    INIT_LIST_HEAD(&c->erasable_pending_wbuf_list);                                       
40009f34:   080a0593            addi    a1,s4,128                                         
    INIT_LIST_HEAD(&c->erase_complete_list);                                              
40009f38:   0a0a0613            addi    a2,s4,160                                         
    INIT_LIST_HEAD(&c->free_list);                                                        
40009f3c:   0a8a0693            addi    a3,s4,168                                         
    c->flags |= JFFS2_SB_FLAG_SCANNING;                                                   
40009f40:   002fef93            ori t6,t6,2                                               
    INIT_LIST_HEAD(&c->bad_used_list);                                                    
40009f44:   0afa2e23            sw  a5,188(s4)                                            
40009f48:   0afa2c23            sw  a5,184(s4)                                            
    c->highest_ino = 1;                                                                   
40009f4c:   00100793            li  a5,1                                                  
    INIT_LIST_HEAD(&c->erase_pending_list);                                               
40009f50:   08aa2e23            sw  a0,156(s4)                                            
40009f54:   08aa2c23            sw  a0,152(s4)                                            
    INIT_LIST_HEAD(&c->bad_list);                                                         
40009f58:   0aea2a23            sw  a4,180(s4)                                            
40009f5c:   0aea2823            sw  a4,176(s4)                                            
    INIT_LIST_HEAD(&c->clean_list);                                                       
40009f60:   07ea2223            sw  t5,100(s4)                                            
40009f64:   07ea2023            sw  t5,96(s4)                                             
    INIT_LIST_HEAD(&c->very_dirty_list);                                                  
40009f68:   07da2623            sw  t4,108(s4)                                            
40009f6c:   07da2423            sw  t4,104(s4)                                            
    INIT_LIST_HEAD(&c->dirty_list);                                                       
40009f70:   07ca2a23            sw  t3,116(s4)                                            
40009f74:   07ca2823            sw  t3,112(s4)                                            
    INIT_LIST_HEAD(&c->erasable_list);                                                    
40009f78:   066a2e23            sw  t1,124(s4)                                            
40009f7c:   066a2c23            sw  t1,120(s4)                                            
    INIT_LIST_HEAD(&c->erasing_list);                                                     
40009f80:   091a2623            sw  a7,140(s4)                                            
40009f84:   091a2423            sw  a7,136(s4)                                            
    INIT_LIST_HEAD(&c->erase_checking_list);                                              
40009f88:   090a2a23            sw  a6,148(s4)                                            
40009f8c:   090a2823            sw  a6,144(s4)                                            
    INIT_LIST_HEAD(&c->erasable_pending_wbuf_list);                                       
40009f90:   08ba2223            sw  a1,132(s4)                                            
40009f94:   08ba2023            sw  a1,128(s4)                                            
    INIT_LIST_HEAD(&c->erase_complete_list);                                              
40009f98:   0aca2223            sw  a2,164(s4)                                            
40009f9c:   0aca2023            sw  a2,160(s4)                                            
    INIT_LIST_HEAD(&c->free_list);                                                        
40009fa0:   0ada2623            sw  a3,172(s4)                                            
40009fa4:   0ada2423            sw  a3,168(s4)                                            
    c->highest_ino = 1;                                                                   
40009fa8:   00fa2223            sw  a5,4(s4)                                              
    c->summary = NULL;                                                                    
40009fac:   0c0a2623            sw  zero,204(s4)                                          
    c->flags |= JFFS2_SB_FLAG_SCANNING;                                                   
40009fb0:   01fa2623            sw  t6,12(s4)                                             
    ret = jffs2_scan_medium(c);                                                           
40009fb4:   000a0513            mv  a0,s4                                                 
    struct jffs2_full_dirent *dead_fds = NULL;                                            
40009fb8:   00012623            sw  zero,12(sp)                                           
    ret = jffs2_scan_medium(c);                                                           
40009fbc:   6bd010ef            jal ra,4000be78 <jffs2_scan_medium>                       
    c->flags &= ~JFFS2_SB_FLAG_SCANNING;                                                  
40009fc0:   00ca2703            lw  a4,12(s4)                                             
    ret = jffs2_scan_medium(c);                                                           
40009fc4:   00050c13            mv  s8,a0                                                 
    c->flags &= ~JFFS2_SB_FLAG_SCANNING;                                                  
40009fc8:   ffd77713            andi    a4,a4,-3                                          
40009fcc:   00ea2623            sw  a4,12(s4)                                             
    if (ret)                                                                              
40009fd0:   3c051e63            bnez    a0,4000a3ac <jffs2_do_mount_fs+0x52c>             <== NEVER TAKEN
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
40009fd4:   0c0a2783            lw  a5,192(s4)                                            
    c->flags |= JFFS2_SB_FLAG_BUILDING;                                                   
40009fd8:   00476713            ori a4,a4,4                                               
40009fdc:   00ea2623            sw  a4,12(s4)                                             
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
40009fe0:   48f05e63            blez    a5,4000a47c <jffs2_do_mount_fs+0x5fc>             <== NEVER TAKEN
40009fe4:   0c4a2703            lw  a4,196(s4)                                            
    for_each_inode(i, c, ic) {                                                            
40009fe8:   00000913            li  s2,0                                                  
40009fec:   0100006f            j   40009ffc <jffs2_do_mount_fs+0x17c>                    
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
40009ff0:   00190913            addi    s2,s2,1                                           
40009ff4:   00470713            addi    a4,a4,4                                           
40009ff8:   00f90663            beq s2,a5,4000a004 <jffs2_do_mount_fs+0x184>              
        if (c->inocache_list[*i])                                                         
40009ffc:   00072483            lw  s1,0(a4)                                              
4000a000:   fe0488e3            beqz    s1,40009ff0 <jffs2_do_mount_fs+0x170>             <== ALWAYS TAKEN
4000a004:   00000a93            li  s5,0                                                  
        if (fd->type == DT_DIR) {                                                         
4000a008:   00400993            li  s3,4                                                  
            if (child_ic->pino_nlink > 1)                                                 
4000a00c:   00100b13            li  s6,1                                                  
    for_each_inode(i, c, ic) {                                                            
4000a010:   12049463            bnez    s1,4000a138 <jffs2_do_mount_fs+0x2b8>             <== NEVER TAKEN
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a014:   46f05063            blez    a5,4000a474 <jffs2_do_mount_fs+0x5f4>             <== NEVER TAKEN
4000a018:   0c4a2703            lw  a4,196(s4)                                            
    for_each_inode(i, c, ic) {                                                            
4000a01c:   00000413            li  s0,0                                                  
4000a020:   0100006f            j   4000a030 <jffs2_do_mount_fs+0x1b0>                    
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a024:   00140413            addi    s0,s0,1                                           
4000a028:   00470713            addi    a4,a4,4                                           
4000a02c:   00f40663            beq s0,a5,4000a038 <jffs2_do_mount_fs+0x1b8>              
        if (c->inocache_list[*i])                                                         
4000a030:   00072483            lw  s1,0(a4)                                              
4000a034:   fe0488e3            beqz    s1,4000a024 <jffs2_do_mount_fs+0x1a4>             <== ALWAYS TAKEN
    for_each_inode(i, c, ic) {                                                            
4000a038:   18049663            bnez    s1,4000a1c4 <jffs2_do_mount_fs+0x344>             <== NEVER TAKEN
    while (dead_fds) {                                                                    
4000a03c:   00c12403            lw  s0,12(sp)                                             
4000a040:   04040063            beqz    s0,4000a080 <jffs2_do_mount_fs+0x200>             <== ALWAYS TAKEN
        dead_fds = fd->next;                                                              
4000a044:   00442783            lw  a5,4(s0)                                              <== NOT EXECUTED
        ic = jffs2_get_ino_cache(c, fd->ino);                                             
4000a048:   00c42583            lw  a1,12(s0)                                             <== NOT EXECUTED
4000a04c:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
        dead_fds = fd->next;                                                              
4000a050:   00f12623            sw  a5,12(sp)                                             <== NOT EXECUTED
        ic = jffs2_get_ino_cache(c, fd->ino);                                             
4000a054:   9e4fb0ef            jal ra,40005238 <jffs2_get_ino_cache>                     <== NOT EXECUTED
4000a058:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
        if (ic)                                                                           
4000a05c:   00050863            beqz    a0,4000a06c <jffs2_do_mount_fs+0x1ec>             <== NOT EXECUTED
            jffs2_build_remove_unlinked_inode(c, ic, &dead_fds);                          
4000a060:   00c10613            addi    a2,sp,12                                          <== NOT EXECUTED
4000a064:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000a068:   d21ff0ef            jal ra,40009d88 <jffs2_build_remove_unlinked_inode>       <== NOT EXECUTED
        jffs2_free_full_dirent(fd);                                                       
4000a06c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000a070:   809fa0ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
    while (dead_fds) {                                                                    
4000a074:   00c12403            lw  s0,12(sp)                                             <== NOT EXECUTED
4000a078:   fc0416e3            bnez    s0,4000a044 <jffs2_do_mount_fs+0x1c4>             <== NOT EXECUTED
4000a07c:   0c0a2783            lw  a5,192(s4)                                            <== NOT EXECUTED
    if (dir_hardlinks) {                                                                  
4000a080:   160a8663            beqz    s5,4000a1ec <jffs2_do_mount_fs+0x36c>             <== ALWAYS TAKEN
        for_each_inode(i, c, ic) {                                                        
4000a084:   00000713            li  a4,0                                                  <== NOT EXECUTED
    return NULL;                                                                          
4000a088:   00000693            li  a3,0                                                  <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a08c:   14f05e63            blez    a5,4000a1e8 <jffs2_do_mount_fs+0x368>             <== NOT EXECUTED
4000a090:   0c4a2603            lw  a2,196(s4)                                            <== NOT EXECUTED
        for_each_inode(i, c, ic) {                                                        
4000a094:   00000713            li  a4,0                                                  <== NOT EXECUTED
4000a098:   0100006f            j   4000a0a8 <jffs2_do_mount_fs+0x228>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a09c:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
4000a0a0:   00460613            addi    a2,a2,4                                           <== NOT EXECUTED
4000a0a4:   14f70263            beq a4,a5,4000a1e8 <jffs2_do_mount_fs+0x368>              <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a0a8:   00062683            lw  a3,0(a2)                                              <== NOT EXECUTED
4000a0ac:   fe0688e3            beqz    a3,4000a09c <jffs2_do_mount_fs+0x21c>             <== NOT EXECUTED
            if (ic->flags & INO_FLAGS_IS_DIR)                                             
4000a0b0:   0096c603            lbu a2,9(a3) # 4009 <bsp_section_bss_size+0x1571>         <== NOT EXECUTED
4000a0b4:   00267613            andi    a2,a2,2                                           <== NOT EXECUTED
4000a0b8:   00060463            beqz    a2,4000a0c0 <jffs2_do_mount_fs+0x240>             <== NOT EXECUTED
                ic->pino_nlink = 0;                                                       
4000a0bc:   0006aa23            sw  zero,20(a3)                                           <== NOT EXECUTED
    if (ic->next)                                                                         
4000a0c0:   0106a683            lw  a3,16(a3)                                             <== NOT EXECUTED
4000a0c4:   fe0696e3            bnez    a3,4000a0b0 <jffs2_do_mount_fs+0x230>             <== NOT EXECUTED
    (*i)++;                                                                               
4000a0c8:   00170693            addi    a3,a4,1                                           <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a0cc:   12f6d063            bge a3,a5,4000a1ec <jffs2_do_mount_fs+0x36c>              <== NOT EXECUTED
4000a0d0:   0c4a2603            lw  a2,196(s4)                                            <== NOT EXECUTED
4000a0d4:   00271593            slli    a1,a4,0x2                                         <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a0d8:   00068713            mv  a4,a3                                                 <== NOT EXECUTED
4000a0dc:   00b60633            add a2,a2,a1                                              <== NOT EXECUTED
4000a0e0:   0100006f            j   4000a0f0 <jffs2_do_mount_fs+0x270>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a0e4:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
4000a0e8:   00460613            addi    a2,a2,4                                           <== NOT EXECUTED
4000a0ec:   10f70063            beq a4,a5,4000a1ec <jffs2_do_mount_fs+0x36c>              <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a0f0:   00462683            lw  a3,4(a2)                                              <== NOT EXECUTED
4000a0f4:   fe0688e3            beqz    a3,4000a0e4 <jffs2_do_mount_fs+0x264>             <== NOT EXECUTED
4000a0f8:   fb9ff06f            j   4000a0b0 <jffs2_do_mount_fs+0x230>                    <== NOT EXECUTED
    if (ic->next)                                                                         
4000a0fc:   0104a483            lw  s1,16(s1)                                             <== NOT EXECUTED
4000a100:   02049c63            bnez    s1,4000a138 <jffs2_do_mount_fs+0x2b8>             <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a104:   0c0a2783            lw  a5,192(s4)                                            <== NOT EXECUTED
    (*i)++;                                                                               
4000a108:   00190693            addi    a3,s2,1                                           <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a10c:   f0f6d4e3            bge a3,a5,4000a014 <jffs2_do_mount_fs+0x194>              <== NOT EXECUTED
4000a110:   0c4a2703            lw  a4,196(s4)                                            <== NOT EXECUTED
4000a114:   00291613            slli    a2,s2,0x2                                         <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a118:   00068913            mv  s2,a3                                                 <== NOT EXECUTED
4000a11c:   00c70733            add a4,a4,a2                                              <== NOT EXECUTED
4000a120:   0100006f            j   4000a130 <jffs2_do_mount_fs+0x2b0>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a124:   00190913            addi    s2,s2,1                                           <== NOT EXECUTED
4000a128:   00470713            addi    a4,a4,4                                           <== NOT EXECUTED
4000a12c:   eef904e3            beq s2,a5,4000a014 <jffs2_do_mount_fs+0x194>              <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a130:   00472483            lw  s1,4(a4)                                              <== NOT EXECUTED
4000a134:   fe0488e3            beqz    s1,4000a124 <jffs2_do_mount_fs+0x2a4>             <== NOT EXECUTED
        if (ic->scan_dents) {                                                             
4000a138:   0004a403            lw  s0,0(s1)                                              <== NOT EXECUTED
4000a13c:   00041863            bnez    s0,4000a14c <jffs2_do_mount_fs+0x2cc>             <== NOT EXECUTED
4000a140:   fbdff06f            j   4000a0fc <jffs2_do_mount_fs+0x27c>                    <== NOT EXECUTED
    for(fd = ic->scan_dents; fd; fd = fd->next) {                                         
4000a144:   00442403            lw  s0,4(s0)                                              <== NOT EXECUTED
4000a148:   fa040ae3            beqz    s0,4000a0fc <jffs2_do_mount_fs+0x27c>             <== NOT EXECUTED
        if (!fd->ino)                                                                     
4000a14c:   00c42583            lw  a1,12(s0)                                             <== NOT EXECUTED
4000a150:   fe058ae3            beqz    a1,4000a144 <jffs2_do_mount_fs+0x2c4>             <== NOT EXECUTED
        child_ic = jffs2_get_ino_cache(c, fd->ino);                                       
4000a154:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000a158:   8e0fb0ef            jal ra,40005238 <jffs2_get_ino_cache>                     <== NOT EXECUTED
        if (!child_ic) {                                                                  
4000a15c:   22050e63            beqz    a0,4000a398 <jffs2_do_mount_fs+0x518>             <== NOT EXECUTED
        child_ic->pino_nlink++;                                                           
4000a160:   01452783            lw  a5,20(a0)                                             <== NOT EXECUTED
        fd->ic = child_ic;                                                                
4000a164:   00a42023            sw  a0,0(s0)                                              <== NOT EXECUTED
        child_ic->pino_nlink++;                                                           
4000a168:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
4000a16c:   00f52a23            sw  a5,20(a0)                                             <== NOT EXECUTED
        if (fd->type == DT_DIR) {                                                         
4000a170:   01444703            lbu a4,20(s0)                                             <== NOT EXECUTED
4000a174:   fd3718e3            bne a4,s3,4000a144 <jffs2_do_mount_fs+0x2c4>              <== NOT EXECUTED
            child_ic->flags |= INO_FLAGS_IS_DIR;                                          
4000a178:   00954703            lbu a4,9(a0)                                              <== NOT EXECUTED
4000a17c:   00276713            ori a4,a4,2                                               <== NOT EXECUTED
4000a180:   00e504a3            sb  a4,9(a0)                                              <== NOT EXECUTED
            if (child_ic->pino_nlink > 1)                                                 
4000a184:   fcfb70e3            bgeu    s6,a5,4000a144 <jffs2_do_mount_fs+0x2c4>          <== NOT EXECUTED
                *dir_hardlinks = 1;                                                       
4000a188:   00100a93            li  s5,1                                                  <== NOT EXECUTED
4000a18c:   fb9ff06f            j   4000a144 <jffs2_do_mount_fs+0x2c4>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a190:   0c0a2783            lw  a5,192(s4)                                            <== NOT EXECUTED
    (*i)++;                                                                               
4000a194:   00140693            addi    a3,s0,1                                           <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a198:   eaf6d2e3            bge a3,a5,4000a03c <jffs2_do_mount_fs+0x1bc>              <== NOT EXECUTED
4000a19c:   0c4a2703            lw  a4,196(s4)                                            <== NOT EXECUTED
4000a1a0:   00241613            slli    a2,s0,0x2                                         <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a1a4:   00068413            mv  s0,a3                                                 <== NOT EXECUTED
4000a1a8:   00c70733            add a4,a4,a2                                              <== NOT EXECUTED
4000a1ac:   0100006f            j   4000a1bc <jffs2_do_mount_fs+0x33c>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a1b0:   00140413            addi    s0,s0,1                                           <== NOT EXECUTED
4000a1b4:   00470713            addi    a4,a4,4                                           <== NOT EXECUTED
4000a1b8:   e8f402e3            beq s0,a5,4000a03c <jffs2_do_mount_fs+0x1bc>              <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a1bc:   00472483            lw  s1,4(a4)                                              <== NOT EXECUTED
4000a1c0:   fe0488e3            beqz    s1,4000a1b0 <jffs2_do_mount_fs+0x330>             <== NOT EXECUTED
        if (ic->pino_nlink)                                                               
4000a1c4:   0144a783            lw  a5,20(s1)                                             <== NOT EXECUTED
4000a1c8:   00079a63            bnez    a5,4000a1dc <jffs2_do_mount_fs+0x35c>             <== NOT EXECUTED
        jffs2_build_remove_unlinked_inode(c, ic, &dead_fds);                              
4000a1cc:   00c10613            addi    a2,sp,12                                          <== NOT EXECUTED
4000a1d0:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
4000a1d4:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000a1d8:   bb1ff0ef            jal ra,40009d88 <jffs2_build_remove_unlinked_inode>       <== NOT EXECUTED
    if (ic->next)                                                                         
4000a1dc:   0104a483            lw  s1,16(s1)                                             <== NOT EXECUTED
4000a1e0:   fe0492e3            bnez    s1,4000a1c4 <jffs2_do_mount_fs+0x344>             <== NOT EXECUTED
4000a1e4:   fadff06f            j   4000a190 <jffs2_do_mount_fs+0x310>                    <== NOT EXECUTED
        for_each_inode(i, c, ic) {                                                        
4000a1e8:   ec0694e3            bnez    a3,4000a0b0 <jffs2_do_mount_fs+0x230>             <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a1ec:   00000993            li  s3,0                                                  
4000a1f0:   02f05263            blez    a5,4000a214 <jffs2_do_mount_fs+0x394>             <== NEVER TAKEN
4000a1f4:   0c4a2703            lw  a4,196(s4)                                            
        if (c->inocache_list[*i])                                                         
4000a1f8:   00000993            li  s3,0                                                  
4000a1fc:   0100006f            j   4000a20c <jffs2_do_mount_fs+0x38c>                    
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a200:   00198993            addi    s3,s3,1                                           
4000a204:   00470713            addi    a4,a4,4                                           
4000a208:   00f98663            beq s3,a5,4000a214 <jffs2_do_mount_fs+0x394>              
        if (c->inocache_list[*i])                                                         
4000a20c:   00072483            lw  s1,0(a4)                                              
4000a210:   fe0488e3            beqz    s1,4000a200 <jffs2_do_mount_fs+0x380>             <== ALWAYS TAKEN
            if (fd->type == DT_DIR) {                                                     
4000a214:   00400913            li  s2,4                                                  
                    JFFS2_ERROR("child dir \"%s\" (ino #%u) of dir ino #%u is also hard linked from dir ino #%u\n",
4000a218:   4001fb37            lui s6,0x4001f                                            
4000a21c:   4001fbb7            lui s7,0x4001f                                            
    for_each_inode(i, c, ic) {                                                            
4000a220:   10049063            bnez    s1,4000a320 <jffs2_do_mount_fs+0x4a0>             <== NEVER TAKEN
    c->flags &= ~JFFS2_SB_FLAG_BUILDING;                                                  
4000a224:   00ca2783            lw  a5,12(s4)                                             
    jffs2_rotate_lists(c);                                                                
4000a228:   000a0513            mv  a0,s4                                                 
    c->flags &= ~JFFS2_SB_FLAG_BUILDING;                                                  
4000a22c:   ffb7f793            andi    a5,a5,-5                                          
4000a230:   00fa2623            sw  a5,12(s4)                                             
    jffs2_rotate_lists(c);                                                                
4000a234:   501020ef            jal ra,4000cf34 <jffs2_rotate_lists>                      
    size = c->flash_size / 50; /* 2% of flash size */                                     
4000a238:   018a2703            lw  a4,24(s4)                                             
4000a23c:   03200693            li  a3,50                                                 
    size += c->nr_blocks * 100; /* And 100 bytes per eraseblock */                        
4000a240:   050a2783            lw  a5,80(s4)                                             
    size = c->flash_size / 50; /* 2% of flash size */                                     
4000a244:   02d75633            divu    a2,a4,a3                                          
    size += c->nr_blocks * 100; /* And 100 bytes per eraseblock */                        
4000a248:   06400513            li  a0,100                                                
    size += c->sector_size - 1; /* ... and round up */                                    
4000a24c:   034a2583            lw  a1,52(s4)                                             
    c->resv_blocks_deletion = 2;                                                          
4000a250:   00200813            li  a6,2                                                  
4000a254:   050a02a3            sb  a6,69(s4)                                             
    size += c->sector_size - 1; /* ... and round up */                                    
4000a258:   fff58693            addi    a3,a1,-1                                          
    c->resv_blocks_gcmerge = c->resv_blocks_deletion + 1;                                 
4000a25c:   00300813            li  a6,3                                                  
4000a260:   050a0423            sb  a6,72(s4)                                             
    c->resv_blocks_gcbad = 0;//c->resv_blocks_deletion + 2;                               
4000a264:   040a03a3            sb  zero,71(s4)                                           
    size += c->nr_blocks * 100; /* And 100 bytes per eraseblock */                        
4000a268:   02f507b3            mul a5,a0,a5                                              
4000a26c:   00c686b3            add a3,a3,a2                                              
    size += c->sector_size - 1; /* ... and round up */                                    
4000a270:   00d787b3            add a5,a5,a3                                              
    c->resv_blocks_write = c->resv_blocks_deletion + (size / c->sector_size);             
4000a274:   02b7d7b3            divu    a5,a5,a1                                          
    c->nospc_dirty_size = c->sector_size + (c->flash_size / 100);                         
4000a278:   02a75733            divu    a4,a4,a0                                          
    c->resv_blocks_write = c->resv_blocks_deletion + (size / c->sector_size);             
4000a27c:   0ff7f793            andi    a5,a5,255                                         
    c->resv_blocks_gctrigger = c->resv_blocks_write + 1;                                  
4000a280:   00378613            addi    a2,a5,3                                           
4000a284:   0ff67613            andi    a2,a2,255                                         
        c->vdirty_blocks_gctrigger *= 10;                                                 
4000a288:   00261693            slli    a3,a2,0x2                                         
    c->resv_blocks_write = c->resv_blocks_deletion + (size / c->sector_size);             
4000a28c:   00278793            addi    a5,a5,2                                           
        c->vdirty_blocks_gctrigger *= 10;                                                 
4000a290:   00d606b3            add a3,a2,a3                                              
4000a294:   00169693            slli    a3,a3,0x1                                         
    c->resv_blocks_write = c->resv_blocks_deletion + (size / c->sector_size);             
4000a298:   04fa0223            sb  a5,68(s4)                                             
    c->resv_blocks_gctrigger = c->resv_blocks_write + 1;                                  
4000a29c:   04ca0323            sb  a2,70(s4)                                             
        c->vdirty_blocks_gctrigger *= 10;                                                 
4000a2a0:   04da04a3            sb  a3,73(s4)                                             
    c->nospc_dirty_size = c->sector_size + (c->flash_size / 100);                         
4000a2a4:   00b707b3            add a5,a4,a1                                              
4000a2a8:   04fa2623            sw  a5,76(s4)                                             
                                                                                          
 out_free:                                                                                
    kvfree(c->blocks);                                                                    
                                                                                          
    return ret;                                                                           
}                                                                                         
4000a2ac:   03c12083            lw  ra,60(sp)                                             
4000a2b0:   03812403            lw  s0,56(sp)                                             
4000a2b4:   03412483            lw  s1,52(sp)                                             
4000a2b8:   03012903            lw  s2,48(sp)                                             
4000a2bc:   02c12983            lw  s3,44(sp)                                             
4000a2c0:   02812a03            lw  s4,40(sp)                                             
4000a2c4:   02412a83            lw  s5,36(sp)                                             
4000a2c8:   02012b03            lw  s6,32(sp)                                             
4000a2cc:   01c12b83            lw  s7,28(sp)                                             
4000a2d0:   000c0513            mv  a0,s8                                                 
4000a2d4:   01812c03            lw  s8,24(sp)                                             
4000a2d8:   04010113            addi    sp,sp,64                                          
4000a2dc:   00008067            ret                                                       
        ic->scan_dents = NULL;                                                            
4000a2e0:   0004a023            sw  zero,0(s1)                                            <== NOT EXECUTED
    if (ic->next)                                                                         
4000a2e4:   0104a483            lw  s1,16(s1)                                             <== NOT EXECUTED
4000a2e8:   02049c63            bnez    s1,4000a320 <jffs2_do_mount_fs+0x4a0>             <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a2ec:   0c0a2703            lw  a4,192(s4)                                            <== NOT EXECUTED
    (*i)++;                                                                               
4000a2f0:   00198693            addi    a3,s3,1                                           <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a2f4:   f2e6d8e3            bge a3,a4,4000a224 <jffs2_do_mount_fs+0x3a4>              <== NOT EXECUTED
4000a2f8:   0c4a2783            lw  a5,196(s4)                                            <== NOT EXECUTED
4000a2fc:   00299613            slli    a2,s3,0x2                                         <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a300:   00068993            mv  s3,a3                                                 <== NOT EXECUTED
4000a304:   00c787b3            add a5,a5,a2                                              <== NOT EXECUTED
4000a308:   0100006f            j   4000a318 <jffs2_do_mount_fs+0x498>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a30c:   00198993            addi    s3,s3,1                                           <== NOT EXECUTED
4000a310:   00478793            addi    a5,a5,4                                           <== NOT EXECUTED
4000a314:   f0e988e3            beq s3,a4,4000a224 <jffs2_do_mount_fs+0x3a4>              <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a318:   0047a483            lw  s1,4(a5)                                              <== NOT EXECUTED
4000a31c:   fe0488e3            beqz    s1,4000a30c <jffs2_do_mount_fs+0x48c>             <== NOT EXECUTED
        while(ic->scan_dents) {                                                           
4000a320:   0004a403            lw  s0,0(s1)                                              <== NOT EXECUTED
4000a324:   fa040ee3            beqz    s0,4000a2e0 <jffs2_do_mount_fs+0x460>             <== NOT EXECUTED
            ic->scan_dents = fd->next;                                                    
4000a328:   00442783            lw  a5,4(s0)                                              <== NOT EXECUTED
4000a32c:   00f4a023            sw  a5,0(s1)                                              <== NOT EXECUTED
            if (fd->type == DT_DIR) {                                                     
4000a330:   01444703            lbu a4,20(s0)                                             <== NOT EXECUTED
4000a334:   03271663            bne a4,s2,4000a360 <jffs2_do_mount_fs+0x4e0>              <== NOT EXECUTED
                if (!fd->ic) {                                                            
4000a338:   00042683            lw  a3,0(s0)                                              <== NOT EXECUTED
4000a33c:   04068a63            beqz    a3,4000a390 <jffs2_do_mount_fs+0x510>             <== NOT EXECUTED
                BUG_ON(!(fd->ic->flags & INO_FLAGS_IS_DIR));                              
4000a340:   0096c783            lbu a5,9(a3)                                              <== NOT EXECUTED
4000a344:   0027f793            andi    a5,a5,2                                           <== NOT EXECUTED
4000a348:   10078663            beqz    a5,4000a454 <jffs2_do_mount_fs+0x5d4>             <== NOT EXECUTED
                    JFFS2_ERROR("child dir \"%s\" (ino #%u) of dir ino #%u is also hard linked from dir ino #%u\n",
4000a34c:   00c4a703            lw  a4,12(s1)                                             <== NOT EXECUTED
                if (dir_hardlinks && fd->ic->pino_nlink) {                                
4000a350:   000a8663            beqz    s5,4000a35c <jffs2_do_mount_fs+0x4dc>             <== NOT EXECUTED
4000a354:   0146a783            lw  a5,20(a3)                                             <== NOT EXECUTED
4000a358:   00079c63            bnez    a5,4000a370 <jffs2_do_mount_fs+0x4f0>             <== NOT EXECUTED
                fd->ic->pino_nlink = ic->ino;                                             
4000a35c:   00e6aa23            sw  a4,20(a3)                                             <== NOT EXECUTED
            jffs2_free_full_dirent(fd);                                                   
4000a360:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000a364:   d14fa0ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
        while(ic->scan_dents) {                                                           
4000a368:   0004a403            lw  s0,0(s1)                                              <== NOT EXECUTED
4000a36c:   fb9ff06f            j   4000a324 <jffs2_do_mount_fs+0x4a4>                    <== NOT EXECUTED
                    JFFS2_ERROR("child dir \"%s\" (ino #%u) of dir ino #%u is also hard linked from dir ino #%u\n",
4000a370:   00c42683            lw  a3,12(s0)                                             <== NOT EXECUTED
4000a374:   01540613            addi    a2,s0,21                                          <== NOT EXECUTED
4000a378:   280b0593            addi    a1,s6,640 # 4001f280 <__func__.0>                 <== NOT EXECUTED
4000a37c:   1f0b8513            addi    a0,s7,496 # 4001f1f0 <__func__.1+0x14>            <== NOT EXECUTED
4000a380:   ab9ff0ef            jal ra,40009e38 <jffs2_printk.constprop.0>                <== NOT EXECUTED
                fd->ic->pino_nlink = ic->ino;                                             
4000a384:   00042683            lw  a3,0(s0)                                              <== NOT EXECUTED
4000a388:   00c4a703            lw  a4,12(s1)                                             <== NOT EXECUTED
4000a38c:   fd1ff06f            j   4000a35c <jffs2_do_mount_fs+0x4dc>                    <== NOT EXECUTED
4000a390:   00078413            mv  s0,a5                                                 <== NOT EXECUTED
        while(ic->scan_dents) {                                                           
4000a394:   f91ff06f            j   4000a324 <jffs2_do_mount_fs+0x4a4>                    <== NOT EXECUTED
            jffs2_mark_node_obsolete(c, fd->raw);                                         
4000a398:   00042583            lw  a1,0(s0)                                              <== NOT EXECUTED
4000a39c:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000a3a0:   efcfb0ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
            fd->ic = NULL;                                                                
4000a3a4:   00042023            sw  zero,0(s0)                                            <== NOT EXECUTED
            continue;                                                                     
4000a3a8:   d9dff06f            j   4000a144 <jffs2_do_mount_fs+0x2c4>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a3ac:   0c0a2703            lw  a4,192(s4)                                            <== NOT EXECUTED
        for_each_inode(i, c, ic) {                                                        
4000a3b0:   00000493            li  s1,0                                                  <== NOT EXECUTED
    return NULL;                                                                          
4000a3b4:   00000413            li  s0,0                                                  <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a3b8:   08e05a63            blez    a4,4000a44c <jffs2_do_mount_fs+0x5cc>             <== NOT EXECUTED
4000a3bc:   0c4a2783            lw  a5,196(s4)                                            <== NOT EXECUTED
        for_each_inode(i, c, ic) {                                                        
4000a3c0:   00000493            li  s1,0                                                  <== NOT EXECUTED
4000a3c4:   0100006f            j   4000a3d4 <jffs2_do_mount_fs+0x554>                    <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a3c8:   00148493            addi    s1,s1,1                                           <== NOT EXECUTED
4000a3cc:   00478793            addi    a5,a5,4                                           <== NOT EXECUTED
4000a3d0:   06e48e63            beq s1,a4,4000a44c <jffs2_do_mount_fs+0x5cc>              <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a3d4:   0007a403            lw  s0,0(a5)                                              <== NOT EXECUTED
4000a3d8:   fe0408e3            beqz    s0,4000a3c8 <jffs2_do_mount_fs+0x548>             <== NOT EXECUTED
4000a3dc:   0100006f            j   4000a3ec <jffs2_do_mount_fs+0x56c>                    <== NOT EXECUTED
                ic->scan_dents = fd->next;                                                
4000a3e0:   00452783            lw  a5,4(a0)                                              <== NOT EXECUTED
4000a3e4:   00f42023            sw  a5,0(s0)                                              <== NOT EXECUTED
                jffs2_free_full_dirent(fd);                                               
4000a3e8:   c90fa0ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
            while(ic->scan_dents) {                                                       
4000a3ec:   00042503            lw  a0,0(s0)                                              <== NOT EXECUTED
4000a3f0:   fe0518e3            bnez    a0,4000a3e0 <jffs2_do_mount_fs+0x560>             <== NOT EXECUTED
    if (ic->next)                                                                         
4000a3f4:   01042403            lw  s0,16(s0)                                             <== NOT EXECUTED
4000a3f8:   fe041ae3            bnez    s0,4000a3ec <jffs2_do_mount_fs+0x56c>             <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a3fc:   0c0a2703            lw  a4,192(s4)                                            <== NOT EXECUTED
    (*i)++;                                                                               
4000a400:   00148693            addi    a3,s1,1                                           <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a404:   02e6d463            bge a3,a4,4000a42c <jffs2_do_mount_fs+0x5ac>              <== NOT EXECUTED
4000a408:   0c4a2783            lw  a5,196(s4)                                            <== NOT EXECUTED
4000a40c:   00249613            slli    a2,s1,0x2                                         <== NOT EXECUTED
        if (c->inocache_list[*i])                                                         
4000a410:   00068493            mv  s1,a3                                                 <== NOT EXECUTED
4000a414:   00c787b3            add a5,a5,a2                                              <== NOT EXECUTED
4000a418:   0047a403            lw  s0,4(a5)                                              <== NOT EXECUTED
4000a41c:   fc0418e3            bnez    s0,4000a3ec <jffs2_do_mount_fs+0x56c>             <== NOT EXECUTED
    for (; *i < c->inocache_hashsize; (*i)++) {                                           
4000a420:   00148493            addi    s1,s1,1                                           <== NOT EXECUTED
4000a424:   00478793            addi    a5,a5,4                                           <== NOT EXECUTED
4000a428:   fe9718e3            bne a4,s1,4000a418 <jffs2_do_mount_fs+0x598>              <== NOT EXECUTED
        jffs2_free_ino_caches(c);                                                         
4000a42c:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000a430:   f11fa0ef            jal ra,40005340 <jffs2_free_ino_caches>                   <== NOT EXECUTED
        jffs2_free_raw_node_refs(c);                                                      
4000a434:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000a438:   f8dfa0ef            jal ra,400053c4 <jffs2_free_raw_node_refs>                <== NOT EXECUTED
    kvfree(c->blocks);                                                                    
4000a43c:   054a2503            lw  a0,84(s4)                                             <== NOT EXECUTED
    return ret;                                                                           
4000a440:   ffb00c13            li  s8,-5                                                 <== NOT EXECUTED
    kvfree(c->blocks);                                                                    
4000a444:   290030ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
    return ret;                                                                           
4000a448:   e65ff06f            j   4000a2ac <jffs2_do_mount_fs+0x42c>                    <== NOT EXECUTED
        for_each_inode(i, c, ic) {                                                        
4000a44c:   fe0400e3            beqz    s0,4000a42c <jffs2_do_mount_fs+0x5ac>             <== NOT EXECUTED
4000a450:   f9dff06f            j   4000a3ec <jffs2_do_mount_fs+0x56c>                    <== NOT EXECUTED
                BUG_ON(!(fd->ic->flags & INO_FLAGS_IS_DIR));                              
4000a454:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
4000a458:   4001f637            lui a2,0x4001f                                            <== NOT EXECUTED
4000a45c:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000a460:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
4000a464:   28060613            addi    a2,a2,640 # 4001f280 <__func__.0>                 <== NOT EXECUTED
4000a468:   0c400593            li  a1,196                                                <== NOT EXECUTED
4000a46c:   25450513            addi    a0,a0,596 # 4001f254 <__func__.1+0x78>            <== NOT EXECUTED
4000a470:   631020ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    for_each_inode(i, c, ic) {                                                            
4000a474:   00000413            li  s0,0                                                  <== NOT EXECUTED
4000a478:   bc1ff06f            j   4000a038 <jffs2_do_mount_fs+0x1b8>                    <== NOT EXECUTED
    for_each_inode(i, c, ic) {                                                            
4000a47c:   00000913            li  s2,0                                                  <== NOT EXECUTED
    return NULL;                                                                          
4000a480:   00000493            li  s1,0                                                  <== NOT EXECUTED
4000a484:   b81ff06f            j   4000a004 <jffs2_do_mount_fs+0x184>                    <== NOT EXECUTED
        return -ENOMEM;                                                                   
4000a488:   ff400c13            li  s8,-12                                                <== NOT EXECUTED
4000a48c:   e21ff06f            j   4000a2ac <jffs2_do_mount_fs+0x42c>                    <== NOT EXECUTED
                                                                                          

4000883c <jffs2_do_new_inode>: #include "compr.h" int jffs2_do_new_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, uint32_t mode, struct jffs2_raw_inode *ri) {
4000883c:   fe010113            addi    sp,sp,-32                                         
40008840:   00812c23            sw  s0,24(sp)                                             
40008844:   01212823            sw  s2,16(sp)                                             
40008848:   01312623            sw  s3,12(sp)                                             
4000884c:   01412423            sw  s4,8(sp)                                              
40008850:   00112e23            sw  ra,28(sp)                                             
40008854:   00912a23            sw  s1,20(sp)                                             
40008858:   01512223            sw  s5,4(sp)                                              
4000885c:   01612023            sw  s6,0(sp)                                              
40008860:   00050a13            mv  s4,a0                                                 
40008864:   00058913            mv  s2,a1                                                 
40008868:   00060993            mv  s3,a2                                                 
4000886c:   00068413            mv  s0,a3                                                 
    struct jffs2_inode_cache *ic;                                                         
                                                                                          
    ic = jffs2_alloc_inode_cache();                                                       
40008870:   930fc0ef            jal ra,400049a0 <jffs2_alloc_inode_cache>                 
    if (!ic) {                                                                            
40008874:   10050e63            beqz    a0,40008990 <jffs2_do_new_inode+0x154>            <== NEVER TAKEN
        return -ENOMEM;                                                                   
    }                                                                                     
                                                                                          
    memset(ic, 0, sizeof(*ic));                                                           
40008878:   00050493            mv  s1,a0                                                 
4000887c:   01800613            li  a2,24                                                 
40008880:   00000593            li  a1,0                                                  
40008884:   095130ef            jal ra,4001c118 <memset>                                  
                                                                                          
    f->inocache = ic;                                                                     
    f->inocache->pino_nlink = 1; /* Will be overwritten shortly for directories */        
40008888:   00100a93            li  s5,1                                                  
    f->inocache = ic;                                                                     
4000888c:   00992a23            sw  s1,20(s2)                                             
    f->inocache->nodes = (struct jffs2_raw_node_ref *)f->inocache;                        
    f->inocache->state = INO_STATE_PRESENT;                                               
40008890:   00200b13            li  s6,2                                                  
                                                                                          
    jffs2_add_ino_cache(c, f->inocache);                                                  
40008894:   00048593            mv  a1,s1                                                 
40008898:   000a0513            mv  a0,s4                                                 
    f->inocache->pino_nlink = 1; /* Will be overwritten shortly for directories */        
4000889c:   0154aa23            sw  s5,20(s1)                                             
    f->inocache->nodes = (struct jffs2_raw_node_ref *)f->inocache;                        
400088a0:   0094a223            sw  s1,4(s1)                                              
    f->inocache->state = INO_STATE_PRESENT;                                               
400088a4:   01649523            sh  s6,10(s1)                                             
    jffs2_add_ino_cache(c, f->inocache);                                                  
400088a8:   9d9fc0ef            jal ra,40005280 <jffs2_add_ino_cache>                     
    jffs2_dbg(1, "%s(): Assigned ino# %d\n", __func__, f->inocache->ino);                 
    ri->ino = cpu_to_je32(f->inocache->ino);                                              
400088ac:   01492783            lw  a5,20(s2)                                             
                                                                                          
    ri->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                         
    ri->nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                     
    ri->totlen = cpu_to_je32(PAD(sizeof(*ri)));                                           
    ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));         
400088b0:   00040593            mv  a1,s0                                                 
400088b4:   00000513            li  a0,0                                                  
    ri->ino = cpu_to_je32(f->inocache->ino);                                              
400088b8:   00c7c603            lbu a2,12(a5)                                             
400088bc:   00d7c683            lbu a3,13(a5)                                             
400088c0:   00e7c703            lbu a4,14(a5)                                             
400088c4:   00f7c783            lbu a5,15(a5)                                             
400088c8:   00c40623            sb  a2,12(s0)                                             
400088cc:   00d406a3            sb  a3,13(s0)                                             
400088d0:   00f407a3            sb  a5,15(s0)                                             
    ri->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                         
400088d4:   f8500793            li  a5,-123                                               
400088d8:   00f40023            sb  a5,0(s0)                                              
400088dc:   01900793            li  a5,25                                                 
400088e0:   00f400a3            sb  a5,1(s0)                                              
    ri->nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                     
400088e4:   fe000793            li  a5,-32                                                
400088e8:   00f401a3            sb  a5,3(s0)                                              
    ri->totlen = cpu_to_je32(PAD(sizeof(*ri)));                                           
400088ec:   04400793            li  a5,68                                                 
    ri->ino = cpu_to_je32(f->inocache->ino);                                              
400088f0:   00e40723            sb  a4,14(s0)                                             
    ri->totlen = cpu_to_je32(PAD(sizeof(*ri)));                                           
400088f4:   00f40223            sb  a5,4(s0)                                              
    ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));         
400088f8:   00800613            li  a2,8                                                  
    ri->nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                     
400088fc:   01640123            sb  s6,2(s0)                                              
    ri->totlen = cpu_to_je32(PAD(sizeof(*ri)));                                           
40008900:   000402a3            sb  zero,5(s0)                                            
40008904:   00040323            sb  zero,6(s0)                                            
40008908:   000403a3            sb  zero,7(s0)                                            
    ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));         
4000890c:   385010ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
  return osmode & (S_IFMT | S_IRWXU | S_IRWXG | S_IRWXO);                                 
40008910:   0000f7b7            lui a5,0xf                                                
40008914:   1ff78793            addi    a5,a5,511 # f1ff <bsp_section_rodata_size+0xa12b> 
40008918:   00f9f7b3            and a5,s3,a5                                              
4000891c:   00855593            srli    a1,a0,0x8                                         
40008920:   01055613            srli    a2,a0,0x10                                        
40008924:   01855693            srli    a3,a0,0x18                                        
    ri->mode = cpu_to_jemode(mode);                                                       
40008928:   0087d713            srli    a4,a5,0x8                                         
4000892c:   0107d793            srli    a5,a5,0x10                                        
    ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));         
40008930:   00a40423            sb  a0,8(s0)                                              
40008934:   00b404a3            sb  a1,9(s0)                                              
40008938:   00c40523            sb  a2,10(s0)                                             
4000893c:   00d405a3            sb  a3,11(s0)                                             
    ri->mode = cpu_to_jemode(mode);                                                       
40008940:   01340a23            sb  s3,20(s0)                                             
40008944:   00e40aa3            sb  a4,21(s0)                                             
40008948:   00f40b23            sb  a5,22(s0)                                             
4000894c:   00040ba3            sb  zero,23(s0)                                           
                                                                                          
    f->highest_version = 1;                                                               
40008950:   01592023            sw  s5,0(s2)                                              
    ri->version = cpu_to_je32(f->highest_version);                                        
40008954:   01540823            sb  s5,16(s0)                                             
40008958:   000408a3            sb  zero,17(s0)                                           
4000895c:   00040923            sb  zero,18(s0)                                           
40008960:   000409a3            sb  zero,19(s0)                                           
                                                                                          
    return 0;                                                                             
40008964:   00000513            li  a0,0                                                  
}                                                                                         
40008968:   01c12083            lw  ra,28(sp)                                             
4000896c:   01812403            lw  s0,24(sp)                                             
40008970:   01412483            lw  s1,20(sp)                                             
40008974:   01012903            lw  s2,16(sp)                                             
40008978:   00c12983            lw  s3,12(sp)                                             
4000897c:   00812a03            lw  s4,8(sp)                                              
40008980:   00412a83            lw  s5,4(sp)                                              
40008984:   00012b03            lw  s6,0(sp)                                              
40008988:   02010113            addi    sp,sp,32                                          
4000898c:   00008067            ret                                                       
        return -ENOMEM;                                                                   
40008990:   ff400513            li  a0,-12                                                <== NOT EXECUTED
40008994:   fd5ff06f            j   40008968 <jffs2_do_new_inode+0x12c>                   <== NOT EXECUTED
                                                                                          

400084cc <jffs2_do_read_inode>: /* Scan the list of all nodes present for this ino, build map of versions, etc. */ int jffs2_do_read_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, uint32_t ino, struct jffs2_raw_inode *latest_node) {
400084cc:   fe010113            addi    sp,sp,-32                                         
400084d0:   01212823            sw  s2,16(sp)                                             
400084d4:   4001f937            lui s2,0x4001f                                            
400084d8:   00812c23            sw  s0,24(sp)                                             
400084dc:   00912a23            sw  s1,20(sp)                                             
400084e0:   01312623            sw  s3,12(sp)                                             
400084e4:   01412423            sw  s4,8(sp)                                              
400084e8:   01512223            sw  s5,4(sp)                                              
400084ec:   00112e23            sw  ra,28(sp)                                             
400084f0:   00050a93            mv  s5,a0                                                 
400084f4:   00058413            mv  s0,a1                                                 
400084f8:   00060493            mv  s1,a2                                                 
400084fc:   00068993            mv  s3,a3                                                 
40008500:   00500a13            li  s4,5                                                  
40008504:   ef490913            addi    s2,s2,-268 # 4001eef4 <__func__.0+0xc04>          
    dbg_readinode("read inode #%u\n", ino);                                               
                                                                                          
 retry_inocache:                                                                          
    spin_lock(&c->inocache_lock);                                                         
    f->inocache = jffs2_get_ino_cache(c, ino);                                            
40008508:   00048593            mv  a1,s1                                                 
4000850c:   000a8513            mv  a0,s5                                                 
40008510:   d29fc0ef            jal ra,40005238 <jffs2_get_ino_cache>                     
40008514:   00a42a23            sw  a0,20(s0)                                             
                                                                                          
    if (f->inocache) {                                                                    
40008518:   06050863            beqz    a0,40008588 <jffs2_do_read_inode+0xbc>            
        /* Check its state. We may need to wait before we can use it */                   
        switch(f->inocache->state) {                                                      
4000851c:   00a55683            lhu a3,10(a0)                                             
40008520:   0eda6a63            bltu    s4,a3,40008614 <jffs2_do_read_inode+0x148>        
40008524:   00269793            slli    a5,a3,0x2                                         
40008528:   012787b3            add a5,a5,s2                                              
4000852c:   0007a783            lw  a5,0(a5)                                              
40008530:   00078067            jr  a5                                                    
        case INO_STATE_UNCHECKED:                                                         
        case INO_STATE_CHECKEDABSENT:                                                     
            f->inocache->state = INO_STATE_READING;                                       
40008534:   00500793            li  a5,5                                                  
40008538:   00f51523            sh  a5,10(a0)                                             
    if (!f->inocache) {                                                                   
        JFFS2_ERROR("requested to read a nonexistent ino %u\n", ino);                     
        return -ENOENT;                                                                   
    }                                                                                     
                                                                                          
    return jffs2_do_read_inode_internal(c, f, latest_node);                               
4000853c:   00040593            mv  a1,s0                                                 
}                                                                                         
40008540:   01812403            lw  s0,24(sp)                                             
40008544:   01c12083            lw  ra,28(sp)                                             
40008548:   01412483            lw  s1,20(sp)                                             
4000854c:   01012903            lw  s2,16(sp)                                             
40008550:   00812a03            lw  s4,8(sp)                                              
    return jffs2_do_read_inode_internal(c, f, latest_node);                               
40008554:   00098613            mv  a2,s3                                                 
40008558:   000a8513            mv  a0,s5                                                 
}                                                                                         
4000855c:   00c12983            lw  s3,12(sp)                                             
40008560:   00412a83            lw  s5,4(sp)                                              
40008564:   02010113            addi    sp,sp,32                                          
    return jffs2_do_read_inode_internal(c, f, latest_node);                               
40008568:   8b9fe06f            j   40006e20 <jffs2_do_read_inode_internal>               
            JFFS2_ERROR("Eep. Trying to read_inode #%u when it's already in state %d!\n", ino, f->inocache->state);
4000856c:   4001f5b7            lui a1,0x4001f                                            <== NOT EXECUTED
40008570:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
40008574:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40008578:   f3458593            addi    a1,a1,-204 # 4001ef34 <__func__.10>               <== NOT EXECUTED
4000857c:   e2050513            addi    a0,a0,-480 # 4001ee20 <__func__.0+0xb30>          <== NOT EXECUTED
40008580:   e20fe0ef            jal ra,40006ba0 <jffs2_printk>                            <== NOT EXECUTED
            f->inocache = NULL;                                                           
40008584:   00042a23            sw  zero,20(s0)                                           <== NOT EXECUTED
    if (!f->inocache && ino == 1) {                                                       
40008588:   00100793            li  a5,1                                                  
4000858c:   04f48263            beq s1,a5,400085d0 <jffs2_do_read_inode+0x104>            
        JFFS2_ERROR("requested to read a nonexistent ino %u\n", ino);                     
40008590:   4001f5b7            lui a1,0x4001f                                            <== NOT EXECUTED
40008594:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
40008598:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
4000859c:   f3458593            addi    a1,a1,-204 # 4001ef34 <__func__.10>               <== NOT EXECUTED
400085a0:   eb450513            addi    a0,a0,-332 # 4001eeb4 <__func__.0+0xbc4>          <== NOT EXECUTED
400085a4:   dfcfe0ef            jal ra,40006ba0 <jffs2_printk>                            <== NOT EXECUTED
        return -ENOENT;                                                                   
400085a8:   ffe00513            li  a0,-2                                                 <== NOT EXECUTED
}                                                                                         
400085ac:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
400085b0:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
400085b4:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
400085b8:   01012903            lw  s2,16(sp)                                             <== NOT EXECUTED
400085bc:   00c12983            lw  s3,12(sp)                                             <== NOT EXECUTED
400085c0:   00812a03            lw  s4,8(sp)                                              <== NOT EXECUTED
400085c4:   00412a83            lw  s5,4(sp)                                              <== NOT EXECUTED
400085c8:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
400085cc:   00008067            ret                                                       <== NOT EXECUTED
        f->inocache = jffs2_alloc_inode_cache();                                          
400085d0:   bd0fc0ef            jal ra,400049a0 <jffs2_alloc_inode_cache>                 
400085d4:   00a42a23            sw  a0,20(s0)                                             
        if (!f->inocache) {                                                               
400085d8:   04050e63            beqz    a0,40008634 <jffs2_do_read_inode+0x168>           <== NEVER TAKEN
        memset(f->inocache, 0, sizeof(struct jffs2_inode_cache));                         
400085dc:   01800613            li  a2,24                                                 
400085e0:   00000593            li  a1,0                                                  
400085e4:   335130ef            jal ra,4001c118 <memset>                                  
        f->inocache->ino = f->inocache->pino_nlink = 1;                                   
400085e8:   01442583            lw  a1,20(s0)                                             
        f->inocache->state = INO_STATE_READING;                                           
400085ec:   00500793            li  a5,5                                                  
        jffs2_add_ino_cache(c, f->inocache);                                              
400085f0:   000a8513            mv  a0,s5                                                 
        f->inocache->state = INO_STATE_READING;                                           
400085f4:   00f59523            sh  a5,10(a1)                                             
        f->inocache->ino = f->inocache->pino_nlink = 1;                                   
400085f8:   0095aa23            sw  s1,20(a1)                                             
400085fc:   0095a623            sw  s1,12(a1)                                             
        f->inocache->nodes = (struct jffs2_raw_node_ref *)f->inocache;                    
40008600:   00b5a223            sw  a1,4(a1)                                              
        jffs2_add_ino_cache(c, f->inocache);                                              
40008604:   c7dfc0ef            jal ra,40005280 <jffs2_add_ino_cache>                     
    if (!f->inocache) {                                                                   
40008608:   01442783            lw  a5,20(s0)                                             
4000860c:   f20798e3            bnez    a5,4000853c <jffs2_do_read_inode+0x70>            <== ALWAYS TAKEN
40008610:   f81ff06f            j   40008590 <jffs2_do_read_inode+0xc4>                   <== NOT EXECUTED
            BUG();                                                                        
40008614:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40008618:   4001f637            lui a2,0x4001f                                            <== NOT EXECUTED
4000861c:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40008620:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40008624:   f3460613            addi    a2,a2,-204 # 4001ef34 <__func__.10>               <== NOT EXECUTED
40008628:   55a00593            li  a1,1370                                               <== NOT EXECUTED
4000862c:   43850513            addi    a0,a0,1080 # 4001e438 <__func__.0+0x148>          <== NOT EXECUTED
40008630:   471040ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
            JFFS2_ERROR("cannot allocate inocache for root inode\n");                     
40008634:   4001f5b7            lui a1,0x4001f                                            <== NOT EXECUTED
40008638:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000863c:   f3458593            addi    a1,a1,-204 # 4001ef34 <__func__.10>               <== NOT EXECUTED
40008640:   e7450513            addi    a0,a0,-396 # 4001ee74 <__func__.0+0xb84>          <== NOT EXECUTED
40008644:   d5cfe0ef            jal ra,40006ba0 <jffs2_printk>                            <== NOT EXECUTED
            return -ENOMEM;                                                               
40008648:   ff400513            li  a0,-12                                                <== NOT EXECUTED
4000864c:   f61ff06f            j   400085ac <jffs2_do_read_inode+0xe0>                   <== NOT EXECUTED
                                                                                          

400099a8 <jffs2_do_unlink>: int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, const char *name, int namelen, struct jffs2_inode_info *dead_f, uint32_t time) {
400099a8:   fe010113            addi    sp,sp,-32                                         
400099ac:   01212823            sw  s2,16(sp)                                             
400099b0:   01312623            sw  s3,12(sp)                                             
400099b4:   01412423            sw  s4,8(sp)                                              
400099b8:   01512223            sw  s5,4(sp)                                              
400099bc:   00112e23            sw  ra,28(sp)                                             
400099c0:   00812c23            sw  s0,24(sp)                                             
400099c4:   00912a23            sw  s1,20(sp)                                             
400099c8:   00068913            mv  s2,a3                                                 
400099cc:   00050a13            mv  s4,a0                                                 
400099d0:   00060993            mv  s3,a2                                                 
400099d4:   00070a93            mv  s5,a4                                                 
    while (len--) {                                                                       
400099d8:   12068e63            beqz    a3,40009b14 <jffs2_do_unlink+0x16c>               <== NEVER TAKEN
400099dc:   00d60733            add a4,a2,a3                                              
400099e0:   00060793            mv  a5,a2                                                 
    uint32_t hash = 0;                                                                    
400099e4:   00000413            li  s0,0                                                  
        hash ^= *(name++);                                                                
400099e8:   0007c803            lbu a6,0(a5)                                              
        hash = (hash << 4) | (hash >> 28);                                                
400099ec:   00441893            slli    a7,s0,0x4                                         
400099f0:   01c45413            srli    s0,s0,0x1c                                        
400099f4:   01146433            or  s0,s0,a7                                              
        hash ^= *(name++);                                                                
400099f8:   00178793            addi    a5,a5,1                                           
400099fc:   00884433            xor s0,a6,s0                                              
    while (len--) {                                                                       
40009a00:   fee794e3            bne a5,a4,400099e8 <jffs2_do_unlink+0x40>                 
        jffs2_add_fd_to_list(c, fd, &dir_f->dents);                                       
        mutex_unlock(&dir_f->sem);                                                        
    } else {                                                                              
        uint32_t nhash = full_name_hash(NULL, name, namelen);                             
                                                                                          
        fd = dir_f->dents;                                                                
40009a04:   00c5a483            lw  s1,12(a1)                                             
        /* We don't actually want to reserve any space, but we do                         
           want to be holding the alloc_sem when we write to flash */                     
        mutex_lock(&c->alloc_sem);                                                        
        mutex_lock(&dir_f->sem);                                                          
                                                                                          
        for (fd = dir_f->dents; fd; fd = fd->next) {                                      
40009a08:   00049863            bnez    s1,40009a18 <jffs2_do_unlink+0x70>                <== ALWAYS TAKEN
40009a0c:   0480006f            j   40009a54 <jffs2_do_unlink+0xac>                       <== NOT EXECUTED
40009a10:   0044a483            lw  s1,4(s1)                                              
40009a14:   04048063            beqz    s1,40009a54 <jffs2_do_unlink+0xac>                <== NEVER TAKEN
            if (fd->nhash == nhash &&                                                     
40009a18:   0104a783            lw  a5,16(s1)                                             
40009a1c:   fe879ae3            bne a5,s0,40009a10 <jffs2_do_unlink+0x68>                 
                !memcmp(fd->name, name, namelen) &&                                       
40009a20:   01548513            addi    a0,s1,21                                          
40009a24:   00090613            mv  a2,s2                                                 
40009a28:   00098593            mv  a1,s3                                                 
40009a2c:   54c120ef            jal ra,4001bf78 <memcmp>                                  
                !fd->name[namelen]) {                                                     
40009a30:   012487b3            add a5,s1,s2                                              
            if (fd->nhash == nhash &&                                                     
40009a34:   fc051ee3            bnez    a0,40009a10 <jffs2_do_unlink+0x68>                <== NEVER TAKEN
                !memcmp(fd->name, name, namelen) &&                                       
40009a38:   0157c783            lbu a5,21(a5)                                             
40009a3c:   fc079ae3            bnez    a5,40009a10 <jffs2_do_unlink+0x68>                <== NEVER TAKEN
                                                                                          
                jffs2_dbg(1, "Marking old dirent node (ino #%u) @%08x obsolete\n",        
                      fd->ino, ref_offset(fd->raw));                                      
                jffs2_mark_node_obsolete(c, fd->raw);                                     
40009a40:   0004a583            lw  a1,0(s1)                                              
40009a44:   000a0513            mv  a0,s4                                                 
40009a48:   854fc0ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                
                /* We don't want to remove it from the list immediately,                  
                   because that screws up getdents()/seek() semantics even                
                   more than they're screwed already. Turn it into a                      
                   node-less deletion dirent instead -- a placeholder */                  
                fd->raw = NULL;                                                           
40009a4c:   0004a023            sw  zero,0(s1)                                            
                fd->ino = 0;                                                              
40009a50:   0004a623            sw  zero,12(s1)                                           
    }                                                                                     
                                                                                          
    /* dead_f is NULL if this was a rename not a real unlink */                           
    /* Also catch the !f->inocache case, where there was a dirent                         
       pointing to an inode which didn't exist. */                                        
    if (dead_f && dead_f->inocache) {                                                     
40009a54:   020a8663            beqz    s5,40009a80 <jffs2_do_unlink+0xd8>                <== NEVER TAKEN
40009a58:   014aa783            lw  a5,20(s5)                                             
40009a5c:   02078263            beqz    a5,40009a80 <jffs2_do_unlink+0xd8>                <== NEVER TAKEN
                                                                                          
        mutex_lock(&dead_f->sem);                                                         
                                                                                          
        if (S_ISDIR(OFNI_EDONI_2SFFJ(dead_f)->i_mode)) {                                  
40009a60:   fc0aa603            lw  a2,-64(s5)                                            
40009a64:   0000f737            lui a4,0xf                                                
40009a68:   000046b7            lui a3,0x4                                                
40009a6c:   00c77733            and a4,a4,a2                                              
40009a70:   04d70063            beq a4,a3,40009ab0 <jffs2_do_unlink+0x108>                
                    jffs2_mark_node_obsolete(c, fd->raw);                                 
                jffs2_free_full_dirent(fd);                                               
            }                                                                             
            dead_f->inocache->pino_nlink = 0;                                             
        } else                                                                            
            dead_f->inocache->pino_nlink--;                                               
40009a74:   0147a703            lw  a4,20(a5)                                             
40009a78:   fff70713            addi    a4,a4,-1 # efff <bsp_section_rodata_size+0x9f2b>  
40009a7c:   00e7aa23            sw  a4,20(a5)                                             
        /* NB: Caller must set inode nlink if appropriate */                              
        mutex_unlock(&dead_f->sem);                                                       
    }                                                                                     
                                                                                          
    jffs2_complete_reservation(c);                                                        
40009a80:   000a0513            mv  a0,s4                                                 
40009a84:   804fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              
                                                                                          
    return 0;                                                                             
}                                                                                         
40009a88:   01c12083            lw  ra,28(sp)                                             
40009a8c:   01812403            lw  s0,24(sp)                                             
40009a90:   01412483            lw  s1,20(sp)                                             
40009a94:   01012903            lw  s2,16(sp)                                             
40009a98:   00c12983            lw  s3,12(sp)                                             
40009a9c:   00812a03            lw  s4,8(sp)                                              
40009aa0:   00412a83            lw  s5,4(sp)                                              
40009aa4:   00000513            li  a0,0                                                  
40009aa8:   02010113            addi    sp,sp,32                                          
40009aac:   00008067            ret                                                       
            while (dead_f->dents) {                                                       
40009ab0:   00caa403            lw  s0,12(s5)                                             
40009ab4:   04040c63            beqz    s0,40009b0c <jffs2_do_unlink+0x164>               <== ALWAYS TAKEN
                    pr_warn("Deleting inode #%u with active dentry \"%s\"->ino #%u\n",    
40009ab8:   4001f4b7            lui s1,0x4001f                                            <== NOT EXECUTED
40009abc:   0240006f            j   40009ae0 <jffs2_do_unlink+0x138>                      <== NOT EXECUTED
                if (fd->raw)                                                              
40009ac0:   00042583            lw  a1,0(s0)                                              <== NOT EXECUTED
                    jffs2_mark_node_obsolete(c, fd->raw);                                 
40009ac4:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
                if (fd->raw)                                                              
40009ac8:   00058463            beqz    a1,40009ad0 <jffs2_do_unlink+0x128>               <== NOT EXECUTED
                    jffs2_mark_node_obsolete(c, fd->raw);                                 
40009acc:   fd1fb0ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
                jffs2_free_full_dirent(fd);                                               
40009ad0:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40009ad4:   da5fa0ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
            while (dead_f->dents) {                                                       
40009ad8:   00caa403            lw  s0,12(s5)                                             <== NOT EXECUTED
40009adc:   02040663            beqz    s0,40009b08 <jffs2_do_unlink+0x160>               <== NOT EXECUTED
                dead_f->dents = fd->next;                                                 
40009ae0:   00442783            lw  a5,4(s0)                                              <== NOT EXECUTED
                if (fd->ino) {                                                            
40009ae4:   00c42683            lw  a3,12(s0)                                             <== NOT EXECUTED
                dead_f->dents = fd->next;                                                 
40009ae8:   00faa623            sw  a5,12(s5)                                             <== NOT EXECUTED
                if (fd->ino) {                                                            
40009aec:   fc068ae3            beqz    a3,40009ac0 <jffs2_do_unlink+0x118>               <== NOT EXECUTED
                    pr_warn("Deleting inode #%u with active dentry \"%s\"->ino #%u\n",    
40009af0:   014aa783            lw  a5,20(s5)                                             <== NOT EXECUTED
40009af4:   01540613            addi    a2,s0,21                                          <== NOT EXECUTED
40009af8:   18848513            addi    a0,s1,392 # 4001f188 <__func__.9+0x1d0>           <== NOT EXECUTED
40009afc:   00c7a583            lw  a1,12(a5)                                             <== NOT EXECUTED
40009b00:   cfdfe0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
40009b04:   fbdff06f            j   40009ac0 <jffs2_do_unlink+0x118>                      <== NOT EXECUTED
            dead_f->inocache->pino_nlink = 0;                                             
40009b08:   014aa783            lw  a5,20(s5)                                             <== NOT EXECUTED
40009b0c:   0007aa23            sw  zero,20(a5)                                           
40009b10:   f71ff06f            j   40009a80 <jffs2_do_unlink+0xd8>                       
    uint32_t hash = 0;                                                                    
40009b14:   00000413            li  s0,0                                                  <== NOT EXECUTED
40009b18:   eedff06f            j   40009a04 <jffs2_do_unlink+0x5c>                       <== NOT EXECUTED
                                                                                          

4000b400 <jffs2_erase_pending_blocks>: {
4000b400:   fa010113            addi    sp,sp,-96                                         
4000b404:   04812c23            sw  s0,88(sp)                                             
4000b408:   05212823            sw  s2,80(sp)                                             
4000b40c:   05312623            sw  s3,76(sp)                                             
4000b410:   05412423            sw  s4,72(sp)                                             
4000b414:   03b12623            sw  s11,44(sp)                                            
4000b418:   04112e23            sw  ra,92(sp)                                             
4000b41c:   04912a23            sw  s1,84(sp)                                             
4000b420:   05512223            sw  s5,68(sp)                                             
4000b424:   05612023            sw  s6,64(sp)                                             
4000b428:   03712e23            sw  s7,60(sp)                                             
4000b42c:   03812c23            sw  s8,56(sp)                                             
4000b430:   03912a23            sw  s9,52(sp)                                             
4000b434:   03a12823            sw  s10,48(sp)                                            
4000b438:   00050d93            mv  s11,a0                                                
4000b43c:   00058413            mv  s0,a1                                                 
    while (!list_empty(&c->erase_complete_list) ||                                        
4000b440:   0a050913            addi    s2,a0,160                                         
    int work_done = 0;                                                                    
4000b444:   00000993            li  s3,0                                                  
        for (i=0; i<readlen; i += sizeof(unsigned long)) {                                
            /* It's OK. We know it's properly aligned */                                  
            unsigned long *datum = ebuf + i;                                              
            if (*datum + 1) {                                                             
                *bad_offset += i;                                                         
                pr_warn("Newly-erased block contained word 0x%lx at offset 0x%08x\n",     
4000b448:   40020a37            lui s4,0x40020                                            
    return ( list->next == list );                                                        
4000b44c:   0a0dac83            lw  s9,160(s11)                                           
    while (!list_empty(&c->erase_complete_list) ||                                        
4000b450:   1f2c8863            beq s9,s2,4000b640 <jffs2_erase_pending_blocks+0x240>     
    ent->prev->next = ent->next;                                                          
4000b454:   004ca603            lw  a2,4(s9)                                              
4000b458:   000ca683            lw  a3,0(s9)                                              
            list_move(&jeb->list, &c->erase_checking_list);                               
4000b45c:   090d8793            addi    a5,s11,144                                        
    ebuf = kmalloc(PAGE_SIZE, GFP_KERNEL);                                                
4000b460:   00001537            lui a0,0x1                                                
4000b464:   00d62023            sw  a3,0(a2)                                              
    struct list_head *next = afterthisent->next;                                          
4000b468:   090da703            lw  a4,144(s11)                                           
    ent->next->prev = ent->prev;                                                          
4000b46c:   00c6a223            sw  a2,4(a3)                                              
    newent->prev = afterthisent;                                                          
4000b470:   00fca223            sw  a5,4(s9)                                              
    newent->next = next;                                                                  
4000b474:   00eca023            sw  a4,0(s9)                                              
    afterthisent->next = newent;                                                          
4000b478:   099da823            sw  s9,144(s11)                                           
    next->prev = newent;                                                                  
4000b47c:   01972223            sw  s9,4(a4)                                              
                                                                                          
#define MTD_FAIL_ADDR_UNKNOWN -1LL                                                        
                                                                                          
static inline int do_mtd_point(size_t *retlen, void **ebuf)                               
{                                                                                         
    *retlen = 0;                                                                          
4000b480:   00012a23            sw  zero,20(sp)                                           
4000b484:   5f8020ef            jal ra,4000da7c <malloc>                                  
4000b488:   00050c13            mv  s8,a0                                                 
        pr_warn("Failed to allocate page buffer for verifying erase at 0x%08x. Refiling\n",
4000b48c:   00ccab83            lw  s7,12(s9)                                             
    if (!ebuf) {                                                                          
4000b490:   2c050e63            beqz    a0,4000b76c <jffs2_erase_pending_blocks+0x36c>    <== NEVER TAKEN
    for (ofs = jeb->offset; ofs < jeb->offset + c->sector_size; ) {                       
4000b494:   034da603            lw  a2,52(s11)                                            
4000b498:   01410d13            addi    s10,sp,20                                         
        uint32_t readlen = min((uint32_t)PAGE_SIZE, jeb->offset + c->sector_size - ofs);  
4000b49c:   000014b7            lui s1,0x1                                                
    for (ofs = jeb->offset; ofs < jeb->offset + c->sector_size; ) {                       
4000b4a0:   00cb8633            add a2,s7,a2                                              
            if (*datum + 1) {                                                             
4000b4a4:   fff00a93            li  s5,-1                                                 
    for (ofs = jeb->offset; ofs < jeb->offset + c->sector_size; ) {                       
4000b4a8:   10cbfc63            bgeu    s7,a2,4000b5c0 <jffs2_erase_pending_blocks+0x1c0> 
        uint32_t readlen = min((uint32_t)PAGE_SIZE, jeb->offset + c->sector_size - ofs);  
4000b4ac:   41760b33            sub s6,a2,s7                                              
4000b4b0:   0164f463            bgeu    s1,s6,4000b4b8 <jffs2_erase_pending_blocks+0xb8>  
4000b4b4:   00001b37            lui s6,0x1                                                
        ret = jffs2_flash_read(c, ofs, readlen, &retlen, ebuf);                           
4000b4b8:   000c0713            mv  a4,s8                                                 
4000b4bc:   000d0693            mv  a3,s10                                                
4000b4c0:   000b0613            mv  a2,s6                                                 
4000b4c4:   000b8593            mv  a1,s7                                                 
4000b4c8:   000d8513            mv  a0,s11                                                
4000b4cc:   4ac000ef            jal ra,4000b978 <jffs2_flash_read>                        
        if (ret) {                                                                        
4000b4d0:   44051863            bnez    a0,4000b920 <jffs2_erase_pending_blocks+0x520>    <== NEVER TAKEN
        if (retlen != readlen) {                                                          
4000b4d4:   01412683            lw  a3,20(sp)                                             
4000b4d8:   46db1463            bne s6,a3,4000b940 <jffs2_erase_pending_blocks+0x540>     
4000b4dc:   00000793            li  a5,0                                                  
4000b4e0:   00c0006f            j   4000b4ec <jffs2_erase_pending_blocks+0xec>            
        for (i=0; i<readlen; i += sizeof(unsigned long)) {                                
4000b4e4:   00478793            addi    a5,a5,4                                           
4000b4e8:   0d67f263            bgeu    a5,s6,4000b5ac <jffs2_erase_pending_blocks+0x1ac> 
            if (*datum + 1) {                                                             
4000b4ec:   00fc06b3            add a3,s8,a5                                              
4000b4f0:   0006a683            lw  a3,0(a3)                                              
4000b4f4:   ff5688e3            beq a3,s5,4000b4e4 <jffs2_erase_pending_blocks+0xe4>      
                pr_warn("Newly-erased block contained word 0x%lx at offset 0x%08x\n",     
4000b4f8:   00fb8633            add a2,s7,a5                                              <== NOT EXECUTED
4000b4fc:   00068593            mv  a1,a3                                                 <== NOT EXECUTED
4000b500:   a74a0513            addi    a0,s4,-1420 # 4001fa74 <__func__.0+0x218>         <== NOT EXECUTED
4000b504:   d71ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
        ofs += readlen;                                                                   
        cond_resched();                                                                   
    }                                                                                     
    ret = 0;                                                                              
fail:                                                                                     
    kfree(ebuf);                                                                          
4000b508:   000c0513            mv  a0,s8                                                 <== NOT EXECUTED
4000b50c:   1c8020ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b510:   034da583            lw  a1,52(s11)                                            <== NOT EXECUTED
4000b514:   02cda703            lw  a4,44(s11)                                            <== NOT EXECUTED
    c->bad_size += c->sector_size;                                                        
4000b518:   030da783            lw  a5,48(s11)                                            <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000b51c:   000ca683            lw  a3,0(s9)                                              <== NOT EXECUTED
4000b520:   004ca603            lw  a2,4(s9)                                              <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b524:   40b70733            sub a4,a4,a1                                              <== NOT EXECUTED
    c->bad_size += c->sector_size;                                                        
4000b528:   00b787b3            add a5,a5,a1                                              <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b52c:   02eda623            sw  a4,44(s11)                                            <== NOT EXECUTED
    c->bad_size += c->sector_size;                                                        
4000b530:   02fda823            sw  a5,48(s11)                                            <== NOT EXECUTED
4000b534:   00d62023            sw  a3,0(a2)                                              <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000b538:   0b0da703            lw  a4,176(s11)                                           <== NOT EXECUTED
    c->nr_erasing_blocks--;                                                               
4000b53c:   040da783            lw  a5,64(s11)                                            <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000b540:   00c6a223            sw  a2,4(a3)                                              <== NOT EXECUTED
    list_move(&jeb->list, &c->bad_list);                                                  
4000b544:   0b0d8693            addi    a3,s11,176                                        <== NOT EXECUTED
    newent->next = next;                                                                  
4000b548:   00eca023            sw  a4,0(s9)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000b54c:   00dca223            sw  a3,4(s9)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000b550:   0b9da823            sw  s9,176(s11)                                           <== NOT EXECUTED
    next->prev = newent;                                                                  
4000b554:   01972223            sw  s9,4(a4)                                              <== NOT EXECUTED
    c->nr_erasing_blocks--;                                                               
4000b558:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
4000b55c:   04fda023            sw  a5,64(s11)                                            <== NOT EXECUTED
            if (!--count) {                                                               
4000b560:   fff40413            addi    s0,s0,-1                                          
            work_done++;                                                                  
4000b564:   00198993            addi    s3,s3,1                                           
            if (!--count) {                                                               
4000b568:   ee0412e3            bnez    s0,4000b44c <jffs2_erase_pending_blocks+0x4c>     
}                                                                                         
4000b56c:   05c12083            lw  ra,92(sp)                                             
4000b570:   05812403            lw  s0,88(sp)                                             
4000b574:   05412483            lw  s1,84(sp)                                             
4000b578:   05012903            lw  s2,80(sp)                                             
4000b57c:   04812a03            lw  s4,72(sp)                                             
4000b580:   04412a83            lw  s5,68(sp)                                             
4000b584:   04012b03            lw  s6,64(sp)                                             
4000b588:   03c12b83            lw  s7,60(sp)                                             
4000b58c:   03812c03            lw  s8,56(sp)                                             
4000b590:   03412c83            lw  s9,52(sp)                                             
4000b594:   03012d03            lw  s10,48(sp)                                            
4000b598:   02c12d83            lw  s11,44(sp)                                            
4000b59c:   00098513            mv  a0,s3                                                 
4000b5a0:   04c12983            lw  s3,76(sp)                                             
4000b5a4:   06010113            addi    sp,sp,96                                          
4000b5a8:   00008067            ret                                                       
    for (ofs = jeb->offset; ofs < jeb->offset + c->sector_size; ) {                       
4000b5ac:   00cca783            lw  a5,12(s9)                                             
4000b5b0:   034da683            lw  a3,52(s11)                                            
        ofs += readlen;                                                                   
4000b5b4:   016b8bb3            add s7,s7,s6                                              
    for (ofs = jeb->offset; ofs < jeb->offset + c->sector_size; ) {                       
4000b5b8:   00d78633            add a2,a5,a3                                              
4000b5bc:   eecbe8e3            bltu    s7,a2,4000b4ac <jffs2_erase_pending_blocks+0xac>  
    kfree(ebuf);                                                                          
4000b5c0:   000c0513            mv  a0,s8                                                 
4000b5c4:   110020ef            jal ra,4000d6d4 <free>                                    
    /* Write the erase complete marker */                                                 
    jffs2_dbg(1, "Writing erased marker to block at 0x%08x\n", jeb->offset);              
    bad_offset = jeb->offset;                                                             
                                                                                          
    /* Cleanmarker in oob area or no cleanmarker at all ? */                              
    if (jffs2_cleanmarker_oob(c) || c->cleanmarker_size == 0) {                           
4000b5c8:   014da783            lw  a5,20(s11)                                            
4000b5cc:   26079c63            bnez    a5,4000b844 <jffs2_erase_pending_blocks+0x444>    <== ALWAYS TAKEN
                                                                                          
            goto filebad;                                                                 
        }                                                                                 
    }                                                                                     
    /* Everything else got zeroed before the erase */                                     
    jeb->free_size = c->sector_size;                                                      
4000b5d0:   034da683            lw  a3,52(s11)                                            <== NOT EXECUTED
                                                                                          
    mutex_lock(&c->erase_free_sem);                                                       
    spin_lock(&c->erase_completion_lock);                                                 
                                                                                          
    c->erasing_size -= c->sector_size;                                                    
4000b5d4:   02cda703            lw  a4,44(s11)                                            <== NOT EXECUTED
    c->free_size += c->sector_size;                                                       
4000b5d8:   028da783            lw  a5,40(s11)                                            <== NOT EXECUTED
    jeb->free_size = c->sector_size;                                                      
4000b5dc:   02dca023            sw  a3,32(s9)                                             <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b5e0:   40d70733            sub a4,a4,a3                                              <== NOT EXECUTED
    c->free_size += c->sector_size;                                                       
4000b5e4:   00d787b3            add a5,a5,a3                                              <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b5e8:   02eda623            sw  a4,44(s11)                                            <== NOT EXECUTED
    c->free_size += c->sector_size;                                                       
4000b5ec:   02fda423            sw  a5,40(s11)                                            <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000b5f0:   004ca603            lw  a2,4(s9)                                              
4000b5f4:   000ca683            lw  a3,0(s9)                                              
    /* Account for cleanmarker now, if it's in-band */                                    
    if (c->cleanmarker_size && !jffs2_cleanmarker_oob(c))                                 
        jffs2_link_node_ref(c, jeb, jeb->offset | REF_NORMAL, c->cleanmarker_size, NULL); 
                                                                                          
    list_move_tail(&jeb->list, &c->free_list);                                            
    c->nr_erasing_blocks--;                                                               
4000b5f8:   040da703            lw  a4,64(s11)                                            
    c->nr_free_blocks++;                                                                  
4000b5fc:   03cda783            lw  a5,60(s11)                                            
4000b600:   00d62023            sw  a3,0(a2)                                              
    ent->next->prev = ent->prev;                                                          
4000b604:   00c6a223            sw  a2,4(a3)                                              
    struct list_head *prev = beforethisent->prev;                                         
4000b608:   0acda683            lw  a3,172(s11)                                           
    list_move_tail(&jeb->list, &c->free_list);                                            
4000b60c:   0a8d8613            addi    a2,s11,168                                        
    newent->next = beforethisent;                                                         
4000b610:   00cca023            sw  a2,0(s9)                                              
    newent->prev = prev;                                                                  
4000b614:   00dca223            sw  a3,4(s9)                                              
    beforethisent->prev = newent;                                                         
4000b618:   0b9da623            sw  s9,172(s11)                                           
    prev->next = newent;                                                                  
4000b61c:   0196a023            sw  s9,0(a3)                                              
    c->nr_erasing_blocks--;                                                               
4000b620:   fff70713            addi    a4,a4,-1                                          
    c->nr_free_blocks++;                                                                  
4000b624:   00178793            addi    a5,a5,1                                           
    c->nr_erasing_blocks--;                                                               
4000b628:   04eda023            sw  a4,64(s11)                                            
    c->nr_free_blocks++;                                                                  
4000b62c:   02fdae23            sw  a5,60(s11)                                            
                                                                                          
    jffs2_dbg_acct_sanity_check_nolock(c, jeb);                                           
4000b630:   000c8593            mv  a1,s9                                                 
4000b634:   000d8513            mv  a0,s11                                                
4000b638:   814ff0ef            jal ra,4000a64c <__jffs2_dbg_acct_sanity_check_nolock>    
    jffs2_dbg_acct_paranoia_check_nolock(c, jeb);                                         
                                                                                          
    spin_unlock(&c->erase_completion_lock);                                               
    mutex_unlock(&c->erase_free_sem);                                                     
    wake_up(&c->erase_wait);                                                              
4000b63c:   f25ff06f            j   4000b560 <jffs2_erase_pending_blocks+0x160>           
    return ( list->next == list );                                                        
4000b640:   098dac83            lw  s9,152(s11)                                           
           !list_empty(&c->erase_pending_list)) {                                         
4000b644:   098d8493            addi    s1,s11,152                                        
    while (!list_empty(&c->erase_complete_list) ||                                        
4000b648:   f39482e3            beq s1,s9,4000b56c <jffs2_erase_pending_blocks+0x16c>     
    ent->prev->next = ent->next;                                                          
4000b64c:   004ca303            lw  t1,4(s9)                                              
4000b650:   000ca883            lw  a7,0(s9)                                              
            c->wasted_size -= jeb->wasted_size;                                           
4000b654:   01ccaf83            lw  t6,28(s9)                                             
            c->free_size -= jeb->free_size;                                               
4000b658:   020caf03            lw  t5,32(s9)                                             
            c->used_size -= jeb->used_size;                                               
4000b65c:   014cae83            lw  t4,20(s9)                                             
            c->dirty_size -= jeb->dirty_size;                                             
4000b660:   018cae03            lw  t3,24(s9)                                             
            c->erasing_size += c->sector_size;                                            
4000b664:   02cda503            lw  a0,44(s11)                                            
            c->wasted_size -= jeb->wasted_size;                                           
4000b668:   024da583            lw  a1,36(s11)                                            
            c->free_size -= jeb->free_size;                                               
4000b66c:   028da603            lw  a2,40(s11)                                            
            c->used_size -= jeb->used_size;                                               
4000b670:   01cda683            lw  a3,28(s11)                                            
            c->dirty_size -= jeb->dirty_size;                                             
4000b674:   020da703            lw  a4,32(s11)                                            
            c->erasing_size += c->sector_size;                                            
4000b678:   034da283            lw  t0,52(s11)                                            
4000b67c:   01132023            sw  a7,0(t1)                                              
    ent->next->prev = ent->prev;                                                          
4000b680:   0068a223            sw  t1,4(a7)                                              
4000b684:   00550533            add a0,a0,t0                                              
            c->wasted_size -= jeb->wasted_size;                                           
4000b688:   41f585b3            sub a1,a1,t6                                              
            c->used_size -= jeb->used_size;                                               
4000b68c:   41d686b3            sub a3,a3,t4                                              
            c->dirty_size -= jeb->dirty_size;                                             
4000b690:   41c70733            sub a4,a4,t3                                              
            c->free_size -= jeb->free_size;                                               
4000b694:   41e60633            sub a2,a2,t5                                              
            c->erasing_size += c->sector_size;                                            
4000b698:   02ada623            sw  a0,44(s11)                                            
            c->wasted_size -= jeb->wasted_size;                                           
4000b69c:   02bda223            sw  a1,36(s11)                                            
            c->used_size -= jeb->used_size;                                               
4000b6a0:   00ddae23            sw  a3,28(s11)                                            
            c->dirty_size -= jeb->dirty_size;                                             
4000b6a4:   02eda023            sw  a4,32(s11)                                            
            c->free_size -= jeb->free_size;                                               
4000b6a8:   02cda423            sw  a2,40(s11)                                            
            jffs2_free_jeb_node_refs(c, jeb);                                             
4000b6ac:   000c8593            mv  a1,s9                                                 
4000b6b0:   000d8513            mv  a0,s11                                                
            jeb->wasted_size = jeb->used_size = jeb->dirty_size = jeb->free_size = 0;     
4000b6b4:   020ca023            sw  zero,32(s9)                                           
4000b6b8:   000cac23            sw  zero,24(s9)                                           
4000b6bc:   000caa23            sw  zero,20(s9)                                           
4000b6c0:   000cae23            sw  zero,28(s9)                                           
            jffs2_free_jeb_node_refs(c, jeb);                                             
4000b6c4:   bf1ff0ef            jal ra,4000b2b4 <jffs2_free_jeb_node_refs>                
    struct list_head *next = afterthisent->next;                                          
4000b6c8:   088da703            lw  a4,136(s11)                                           
            list_add(&jeb->list, &c->erasing_list);                                       
4000b6cc:   088d8693            addi    a3,s11,136                                        
    newent->prev = afterthisent;                                                          
4000b6d0:   00dca223            sw  a3,4(s9)                                              
    newent->next = next;                                                                  
4000b6d4:   00eca023            sw  a4,0(s9)                                              
    afterthisent->next = newent;                                                          
4000b6d8:   099da423            sw  s9,136(s11)                                           
    next->prev = newent;                                                                  
4000b6dc:   01972223            sw  s9,4(a4)                                              
       ret = jffs2_flash_erase(c, jeb);                                                   
4000b6e0:   000c8593            mv  a1,s9                                                 
4000b6e4:   000d8513            mv  a0,s11                                                
4000b6e8:   4f4000ef            jal ra,4000bbdc <jffs2_flash_erase>                       
       if (!ret) {                                                                        
4000b6ec:   10050863            beqz    a0,4000b7fc <jffs2_erase_pending_blocks+0x3fc>    <== ALWAYS TAKEN
    if (ret == -ENOMEM || ret == -EAGAIN) {                                               
4000b6f0:   00c50713            addi    a4,a0,12 # 100c <_ISR_Stack_size+0xc>             <== NOT EXECUTED
4000b6f4:   00100693            li  a3,1                                                  <== NOT EXECUTED
4000b6f8:   0ae6fe63            bgeu    a3,a4,4000b7b4 <jffs2_erase_pending_blocks+0x3b4> <== NOT EXECUTED
    if (ret == -EROFS)                                                                    
4000b6fc:   fe200713            li  a4,-30                                                <== NOT EXECUTED
       bad_offset = jeb->offset;                                                          
4000b700:   00cca583            lw  a1,12(s9)                                             <== NOT EXECUTED
    if (ret == -EROFS)                                                                    
4000b704:   12e50863            beq a0,a4,4000b834 <jffs2_erase_pending_blocks+0x434>     <== NOT EXECUTED
        pr_warn("Erase at 0x%08x failed immediately: errno %d\n",                         
4000b708:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000b70c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000b710:   b9078513            addi    a0,a5,-1136 # 4001fb90 <__func__.0+0x334>         <== NOT EXECUTED
4000b714:   b61ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b718:   034da503            lw  a0,52(s11)                                            <== NOT EXECUTED
4000b71c:   02cda683            lw  a3,44(s11)                                            <== NOT EXECUTED
    c->bad_size += c->sector_size;                                                        
4000b720:   030da703            lw  a4,48(s11)                                            <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000b724:   000ca603            lw  a2,0(s9)                                              <== NOT EXECUTED
4000b728:   004ca583            lw  a1,4(s9)                                              <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b72c:   40a686b3            sub a3,a3,a0                                              <== NOT EXECUTED
    c->bad_size += c->sector_size;                                                        
4000b730:   00a70733            add a4,a4,a0                                              <== NOT EXECUTED
    c->erasing_size -= c->sector_size;                                                    
4000b734:   02dda623            sw  a3,44(s11)                                            <== NOT EXECUTED
    c->bad_size += c->sector_size;                                                        
4000b738:   02eda823            sw  a4,48(s11)                                            <== NOT EXECUTED
4000b73c:   00c5a023            sw  a2,0(a1)                                              <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000b740:   0b0da683            lw  a3,176(s11)                                           <== NOT EXECUTED
    c->nr_erasing_blocks--;                                                               
4000b744:   040da703            lw  a4,64(s11)                                            <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000b748:   00b62223            sw  a1,4(a2)                                              <== NOT EXECUTED
    list_move(&jeb->list, &c->bad_list);                                                  
4000b74c:   0b0d8613            addi    a2,s11,176                                        <== NOT EXECUTED
    newent->next = next;                                                                  
4000b750:   00dca023            sw  a3,0(s9)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000b754:   00cca223            sw  a2,4(s9)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000b758:   0b9da823            sw  s9,176(s11)                                           <== NOT EXECUTED
    next->prev = newent;                                                                  
4000b75c:   0196a223            sw  s9,4(a3)                                              <== NOT EXECUTED
    c->nr_erasing_blocks--;                                                               
4000b760:   fff70793            addi    a5,a4,-1                                          <== NOT EXECUTED
4000b764:   04fda023            sw  a5,64(s11)                                            <== NOT EXECUTED
#define init_waitqueue_head(wait) do{} while (0)                                          
#define add_wait_queue(wait,new_wait) do{} while (0)                                      
#define remove_wait_queue(wait,old_wait) do{} while (0)                                   
#define DECLARE_WAITQUEUE(wait,current) do{} while (0)                                    
                                                                                          
static inline void wake_up(wait_queue_head_t *erase_wait) { }                             
4000b768:   ce5ff06f            j   4000b44c <jffs2_erase_pending_blocks+0x4c>            <== NOT EXECUTED
        pr_warn("Failed to allocate page buffer for verifying erase at 0x%08x. Refiling\n",
4000b76c:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000b770:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
4000b774:   98450513            addi    a0,a0,-1660 # 4001f984 <__func__.0+0x128>         <== NOT EXECUTED
4000b778:   afdff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
4000b77c:   0e4da503            lw  a0,228(s11)                                           <== NOT EXECUTED
    if (fc->trigger_garbage_collection != NULL) {                                         
4000b780:   02052783            lw  a5,32(a0)                                             <== NOT EXECUTED
4000b784:   00078463            beqz    a5,4000b78c <jffs2_erase_pending_blocks+0x38c>    <== NOT EXECUTED
        (*fc->trigger_garbage_collection)(fc);                                            
4000b788:   000780e7            jalr    a5                                                <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000b78c:   004ca683            lw  a3,4(s9)                                              <== NOT EXECUTED
4000b790:   000ca703            lw  a4,0(s9)                                              <== NOT EXECUTED
4000b794:   00e6a023            sw  a4,0(a3)                                              <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000b798:   0a0da783            lw  a5,160(s11)                                           <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000b79c:   00d72223            sw  a3,4(a4)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000b7a0:   012ca223            sw  s2,4(s9)                                              <== NOT EXECUTED
    newent->next = next;                                                                  
4000b7a4:   00fca023            sw  a5,0(s9)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000b7a8:   0b9da023            sw  s9,160(s11)                                           <== NOT EXECUTED
    next->prev = newent;                                                                  
4000b7ac:   0197a223            sw  s9,4(a5)                                              <== NOT EXECUTED
    mutex_lock(&c->erase_free_sem);                                                       
    spin_lock(&c->erase_completion_lock);                                                 
    jffs2_garbage_collect_trigger(c);                                                     
    list_move(&jeb->list, &c->erase_complete_list);                                       
    spin_unlock(&c->erase_completion_lock);                                               
    mutex_unlock(&c->erase_free_sem);                                                     
4000b7b0:   db1ff06f            j   4000b560 <jffs2_erase_pending_blocks+0x160>           <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000b7b4:   000ca683            lw  a3,0(s9)                                              <== NOT EXECUTED
4000b7b8:   004ca503            lw  a0,4(s9)                                              <== NOT EXECUTED
        c->erasing_size -= c->sector_size;                                                
4000b7bc:   034da703            lw  a4,52(s11)                                            <== NOT EXECUTED
4000b7c0:   02cda603            lw  a2,44(s11)                                            <== NOT EXECUTED
4000b7c4:   00d52023            sw  a3,0(a0)                                              <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000b7c8:   098da583            lw  a1,152(s11)                                           <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000b7cc:   00a6a223            sw  a0,4(a3)                                              <== NOT EXECUTED
        c->dirty_size += c->sector_size;                                                  
4000b7d0:   020da683            lw  a3,32(s11)                                            <== NOT EXECUTED
    newent->next = next;                                                                  
4000b7d4:   00bca023            sw  a1,0(s9)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000b7d8:   009ca223            sw  s1,4(s9)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000b7dc:   099dac23            sw  s9,152(s11)                                           <== NOT EXECUTED
    next->prev = newent;                                                                  
4000b7e0:   0195a223            sw  s9,4(a1)                                              <== NOT EXECUTED
        c->erasing_size -= c->sector_size;                                                
4000b7e4:   40e60633            sub a2,a2,a4                                              <== NOT EXECUTED
        c->dirty_size += c->sector_size;                                                  
4000b7e8:   00e686b3            add a3,a3,a4                                              <== NOT EXECUTED
        c->erasing_size -= c->sector_size;                                                
4000b7ec:   02cda623            sw  a2,44(s11)                                            <== NOT EXECUTED
        c->dirty_size += c->sector_size;                                                  
4000b7f0:   02dda023            sw  a3,32(s11)                                            <== NOT EXECUTED
        jeb->dirty_size = c->sector_size;                                                 
4000b7f4:   00ecac23            sw  a4,24(s9)                                             <== NOT EXECUTED
        return;                                                                           
4000b7f8:   c55ff06f            j   4000b44c <jffs2_erase_pending_blocks+0x4c>            <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000b7fc:   004ca683            lw  a3,4(s9)                                              
4000b800:   000ca703            lw  a4,0(s9)                                              
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
4000b804:   0e4da503            lw  a0,228(s11)                                           
4000b808:   00e6a023            sw  a4,0(a3)                                              
    ent->next->prev = ent->prev;                                                          
4000b80c:   00d72223            sw  a3,4(a4)                                              
    struct list_head *prev = beforethisent->prev;                                         
4000b810:   0a4da703            lw  a4,164(s11)                                           
    if (fc->trigger_garbage_collection != NULL) {                                         
4000b814:   02052683            lw  a3,32(a0)                                             
    newent->next = beforethisent;                                                         
4000b818:   012ca023            sw  s2,0(s9)                                              
    newent->prev = prev;                                                                  
4000b81c:   00eca223            sw  a4,4(s9)                                              
    beforethisent->prev = newent;                                                         
4000b820:   0b9da223            sw  s9,164(s11)                                           
    prev->next = newent;                                                                  
4000b824:   01972023            sw  s9,0(a4)                                              
4000b828:   c20682e3            beqz    a3,4000b44c <jffs2_erase_pending_blocks+0x4c>     <== ALWAYS TAKEN
        (*fc->trigger_garbage_collection)(fc);                                            
4000b82c:   000680e7            jalr    a3                                                <== NOT EXECUTED
4000b830:   c1dff06f            j   4000b44c <jffs2_erase_pending_blocks+0x4c>            <== NOT EXECUTED
        pr_warn("Erase at 0x%08x failed immediately: -EROFS. Is the sector locked?\n",    
4000b834:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000b838:   b4078513            addi    a0,a5,-1216 # 4001fb40 <__func__.0+0x2e4>         <== NOT EXECUTED
4000b83c:   a39ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
4000b840:   ed9ff06f            j   4000b718 <jffs2_erase_pending_blocks+0x318>           <== NOT EXECUTED
        struct jffs2_unknown_node marker = {                                              
4000b844:   00002737            lui a4,0x2                                                
4000b848:   000026b7            lui a3,0x2                                                
4000b84c:   00370713            addi    a4,a4,3 # 2003 <bsp_section_rtemsstack_size+0x3>  
4000b850:   98568693            addi    a3,a3,-1659 # 1985 <_ISR_Stack_size+0x985>        
        jffs2_prealloc_raw_node_refs(c, jeb, 1);                                          
4000b854:   00100613            li  a2,1                                                  
4000b858:   000c8593            mv  a1,s9                                                 
4000b85c:   000d8513            mv  a0,s11                                                
        struct jffs2_unknown_node marker = {                                              
4000b860:   00d11a23            sh  a3,20(sp)                                             
4000b864:   00e11b23            sh  a4,22(sp)                                             
4000b868:   00f12c23            sw  a5,24(sp)                                             
        marker.hdr_crc = cpu_to_je32(crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4));
4000b86c:   01410d13            addi    s10,sp,20                                         
        struct jffs2_unknown_node marker = {                                              
4000b870:   00012e23            sw  zero,28(sp)                                           
        jffs2_prealloc_raw_node_refs(c, jeb, 1);                                          
4000b874:   838f90ef            jal ra,400048ac <jffs2_prealloc_raw_node_refs>            
        marker.hdr_crc = cpu_to_je32(crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4));
4000b878:   00800613            li  a2,8                                                  
4000b87c:   000d0593            mv  a1,s10                                                
4000b880:   00000513            li  a0,0                                                  
4000b884:   c0dfe0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
        ret = jffs2_flash_direct_writev(c, vecs, 1, jeb->offset, &retlen);                
4000b888:   00cca683            lw  a3,12(s9)                                             
        marker.hdr_crc = cpu_to_je32(crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4));
4000b88c:   00050313            mv  t1,a0                                                 
        vecs[0].iov_len = sizeof(marker);                                                 
4000b890:   00c00493            li  s1,12                                                 
        ret = jffs2_flash_direct_writev(c, vecs, 1, jeb->offset, &retlen);                
4000b894:   00810793            addi    a5,sp,8                                           
4000b898:   00000713            li  a4,0                                                  
4000b89c:   00100613            li  a2,1                                                  
4000b8a0:   00c10593            addi    a1,sp,12                                          
4000b8a4:   000d8513            mv  a0,s11                                                
        marker.hdr_crc = cpu_to_je32(crc32(0, &marker, sizeof(struct jffs2_unknown_node)-4));
4000b8a8:   00612e23            sw  t1,28(sp)                                             
        vecs[0].iov_base = (unsigned char *) ▮                                     
4000b8ac:   01a12623            sw  s10,12(sp)                                            
        vecs[0].iov_len = sizeof(marker);                                                 
4000b8b0:   00912823            sw  s1,16(sp)                                             
        ret = jffs2_flash_direct_writev(c, vecs, 1, jeb->offset, &retlen);                
4000b8b4:   0f4000ef            jal ra,4000b9a8 <jffs2_flash_direct_writev>               
        if (ret || retlen != sizeof(marker)) {                                            
4000b8b8:   0a051463            bnez    a0,4000b960 <jffs2_erase_pending_blocks+0x560>    <== NEVER TAKEN
4000b8bc:   00812683            lw  a3,8(sp)                                              
4000b8c0:   00968e63            beq a3,s1,4000b8dc <jffs2_erase_pending_blocks+0x4dc>     
                pr_warn("Short write to newly-erased block at 0x%08x: Wanted %zd, got %zd\n",
4000b8c4:   00cca583            lw  a1,12(s9)                                             <== NOT EXECUTED
4000b8c8:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000b8cc:   00c00613            li  a2,12                                                 <== NOT EXECUTED
4000b8d0:   af450513            addi    a0,a0,-1292 # 4001faf4 <__func__.0+0x298>         <== NOT EXECUTED
4000b8d4:   9a1ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
            goto filebad;                                                                 
4000b8d8:   c39ff06f            j   4000b510 <jffs2_erase_pending_blocks+0x110>           <== NOT EXECUTED
    jeb->free_size = c->sector_size;                                                      
4000b8dc:   034da603            lw  a2,52(s11)                                            
    c->erasing_size -= c->sector_size;                                                    
4000b8e0:   02cda703            lw  a4,44(s11)                                            
    c->free_size += c->sector_size;                                                       
4000b8e4:   028da783            lw  a5,40(s11)                                            
    if (c->cleanmarker_size && !jffs2_cleanmarker_oob(c))                                 
4000b8e8:   014da683            lw  a3,20(s11)                                            
    c->erasing_size -= c->sector_size;                                                    
4000b8ec:   40c70733            sub a4,a4,a2                                              
    jeb->free_size = c->sector_size;                                                      
4000b8f0:   02cca023            sw  a2,32(s9)                                             
    c->free_size += c->sector_size;                                                       
4000b8f4:   00c787b3            add a5,a5,a2                                              
    c->erasing_size -= c->sector_size;                                                    
4000b8f8:   02eda623            sw  a4,44(s11)                                            
    c->free_size += c->sector_size;                                                       
4000b8fc:   02fda423            sw  a5,40(s11)                                            
    if (c->cleanmarker_size && !jffs2_cleanmarker_oob(c))                                 
4000b900:   ce0688e3            beqz    a3,4000b5f0 <jffs2_erase_pending_blocks+0x1f0>    <== NEVER TAKEN
        jffs2_link_node_ref(c, jeb, jeb->offset | REF_NORMAL, c->cleanmarker_size, NULL); 
4000b904:   00cca603            lw  a2,12(s9)                                             
4000b908:   00000713            li  a4,0                                                  
4000b90c:   000c8593            mv  a1,s9                                                 
4000b910:   00366613            ori a2,a2,3                                               
4000b914:   000d8513            mv  a0,s11                                                
4000b918:   c51f90ef            jal ra,40005568 <jffs2_link_node_ref>                     
4000b91c:   cd5ff06f            j   4000b5f0 <jffs2_erase_pending_blocks+0x1f0>           
            pr_warn("Read of newly-erased block at 0x%08x failed: %d. Putting on bad_list\n",
4000b920:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000b924:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000b928:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
4000b92c:   9d878513            addi    a0,a5,-1576 # 4001f9d8 <__func__.0+0x17c>         <== NOT EXECUTED
4000b930:   945ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
    kfree(ebuf);                                                                          
4000b934:   000c0513            mv  a0,s8                                                 <== NOT EXECUTED
4000b938:   59d010ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
    return ret;                                                                           
4000b93c:   bd5ff06f            j   4000b510 <jffs2_erase_pending_blocks+0x110>           <== NOT EXECUTED
            pr_warn("Short read from newly-erased block at 0x%08x. Wanted %d, got %zd\n", 
4000b940:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000b944:   000b0613            mv  a2,s6                                                 <== NOT EXECUTED
4000b948:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
4000b94c:   a2878513            addi    a0,a5,-1496 # 4001fa28 <__func__.0+0x1cc>         <== NOT EXECUTED
4000b950:   925ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
    kfree(ebuf);                                                                          
4000b954:   000c0513            mv  a0,s8                                                 <== NOT EXECUTED
4000b958:   57d010ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
    return ret;                                                                           
4000b95c:   bb5ff06f            j   4000b510 <jffs2_erase_pending_blocks+0x110>           <== NOT EXECUTED
                pr_warn("Write clean marker to block at 0x%08x failed: %d\n",             
4000b960:   00cca583            lw  a1,12(s9)                                             <== NOT EXECUTED
4000b964:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000b968:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000b96c:   ab878513            addi    a0,a5,-1352 # 4001fab8 <__func__.0+0x25c>         <== NOT EXECUTED
4000b970:   905ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
4000b974:   b9dff06f            j   4000b510 <jffs2_erase_pending_blocks+0x110>           <== NOT EXECUTED
                                                                                          

4000b9a8 <jffs2_flash_direct_writev>: } int jffs2_flash_direct_writev(struct jffs2_sb_info *c, const struct iovec *vecs, unsigned long count, loff_t to, size_t * retlen) {
4000b9a8:   ec010113            addi    sp,sp,-320                                        
4000b9ac:   11912a23            sw  s9,276(sp)                                            
4000b9b0:   12112e23            sw  ra,316(sp)                                            
4000b9b4:   12812c23            sw  s0,312(sp)                                            
4000b9b8:   12912a23            sw  s1,308(sp)                                            
4000b9bc:   13212823            sw  s2,304(sp)                                            
4000b9c0:   13312623            sw  s3,300(sp)                                            
4000b9c4:   13412423            sw  s4,296(sp)                                            
4000b9c8:   13512223            sw  s5,292(sp)                                            
4000b9cc:   13612023            sw  s6,288(sp)                                            
4000b9d0:   11712e23            sw  s7,284(sp)                                            
4000b9d4:   11812c23            sw  s8,280(sp)                                            
4000b9d8:   11a12823            sw  s10,272(sp)                                           
4000b9dc:   11b12623            sw  s11,268(sp)                                           
4000b9e0:   00078c93            mv  s9,a5                                                 
    unsigned long i;                                                                      
    size_t totlen = 0, thislen;                                                           
    int ret = 0;                                                                          
                                                                                          
    for (i = 0; i < count; i++) {                                                         
4000b9e4:   1e060263            beqz    a2,4000bbc8 <jffs2_flash_direct_writev+0x220>     <== NEVER TAKEN
4000b9e8:   00060d93            mv  s11,a2                                                
4000b9ec:   00050b13            mv  s6,a0                                                 
4000b9f0:   00058c13            mv  s8,a1                                                 
4000b9f4:   00068d13            mv  s10,a3                                                
4000b9f8:   00458493            addi    s1,a1,4                                           
    size_t totlen = 0, thislen;                                                           
4000b9fc:   00000a93            li  s5,0                                                  
    for (i = 0; i < count; i++) {                                                         
4000ba00:   00000993            li  s3,0                                                  
        if (((vecs[i].iov_len & (sizeof (int) - 1))) ||                                   
            (((unsigned long) vecs[i].                                                    
              iov_base & (sizeof (unsigned long) - 1)))) {                                
            // are there iov's after this one? Or is it so much we'd need                 
            // to do multiple writes anyway?                                              
            if ((i + 1) < count || vecs[i].iov_len > 256) {                               
4000ba04:   10000b93            li  s7,256                                                
4000ba08:   04c0006f            j   4000ba54 <jffs2_flash_direct_writev+0xac>             
            (((unsigned long) vecs[i].                                                    
4000ba0c:   ffc4a703            lw  a4,-4(s1) # ffc <bsp_section_start_size+0xfb8>        
    return (*fc->write)(fc, write_buffer_offset, read_buffer, size);                      
4000ba10:   000d0593            mv  a1,s10                                                
4000ba14:   00040693            mv  a3,s0                                                 
              iov_base & (sizeof (unsigned long) - 1)))) {                                
4000ba18:   00377813            andi    a6,a4,3                                           
        if (((vecs[i].iov_len & (sizeof (int) - 1))) ||                                   
4000ba1c:   04081c63            bnez    a6,4000ba74 <jffs2_flash_direct_writev+0xcc>      
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
4000ba20:   0e4b2503            lw  a0,228(s6) # 10e4 <_ISR_Stack_size+0xe4>              
    return (*fc->write)(fc, write_buffer_offset, read_buffer, size);                      
4000ba24:   00070613            mv  a2,a4                                                 
4000ba28:   00c52783            lw  a5,12(a0)                                             
4000ba2c:   000780e7            jalr    a5                                                
4000ba30:   00050a13            mv  s4,a0                                                 
    for (i = 0; i < count; i++) {                                                         
4000ba34:   00198993            addi    s3,s3,1                                           
            }   // else                                                                   
        } else                                                                            
            ret =                                                                         
                jffs2_flash_write(c, to, vecs[i].iov_len, &thislen,                       
                          vecs[i].iov_base);                                              
        totlen += thislen;                                                                
4000ba38:   008a8ab3            add s5,s5,s0                                              
        if (ret || thislen != vecs[i].iov_len)                                            
4000ba3c:   060a1e63            bnez    s4,4000bab8 <jffs2_flash_direct_writev+0x110>     <== NEVER TAKEN
4000ba40:   0004a703            lw  a4,0(s1)                                              
            break;                                                                        
        to += vecs[i].iov_len;                                                            
4000ba44:   008d0d33            add s10,s10,s0                                            
    for (i = 0; i < count; i++) {                                                         
4000ba48:   00848493            addi    s1,s1,8                                           
        if (ret || thislen != vecs[i].iov_len)                                            
4000ba4c:   06871663            bne a4,s0,4000bab8 <jffs2_flash_direct_writev+0x110>      
    for (i = 0; i < count; i++) {                                                         
4000ba50:   073d8463            beq s11,s3,4000bab8 <jffs2_flash_direct_writev+0x110>     
        if (((vecs[i].iov_len & (sizeof (int) - 1))) ||                                   
4000ba54:   0004a403            lw  s0,0(s1)                                              
                memcpy(buf, vecs[i].iov_base, lentowrite);                                
4000ba58:   00010513            mv  a0,sp                                                 
            if ((i + 1) < count || vecs[i].iov_len > 256) {                               
4000ba5c:   00198793            addi    a5,s3,1                                           
                lentowrite += sizeof (int) - 1;                                           
4000ba60:   00340913            addi    s2,s0,3                                           
                lentowrite &= ~(sizeof (int) - 1);                                        
4000ba64:   ffc97913            andi    s2,s2,-4                                          
        if (((vecs[i].iov_len & (sizeof (int) - 1))) ||                                   
4000ba68:   00347713            andi    a4,s0,3                                           
                memcpy(buf, vecs[i].iov_base, lentowrite);                                
4000ba6c:   00090613            mv  a2,s2                                                 
        if (((vecs[i].iov_len & (sizeof (int) - 1))) ||                                   
4000ba70:   f8070ee3            beqz    a4,4000ba0c <jffs2_flash_direct_writev+0x64>      
            if ((i + 1) < count || vecs[i].iov_len > 256) {                               
4000ba74:   09b7e663            bltu    a5,s11,4000bb00 <jffs2_flash_direct_writev+0x158> 
4000ba78:   088be463            bltu    s7,s0,4000bb00 <jffs2_flash_direct_writev+0x158>  
                memcpy(buf, vecs[i].iov_base, lentowrite);                                
4000ba7c:   ffc4a583            lw  a1,-4(s1)                                             
4000ba80:   570100ef            jal ra,4001bff0 <memcpy>                                  
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
4000ba84:   0e4b2503            lw  a0,228(s6)                                            
    return (*fc->write)(fc, write_buffer_offset, read_buffer, size);                      
4000ba88:   000d0593            mv  a1,s10                                                
4000ba8c:   00090693            mv  a3,s2                                                 
4000ba90:   00c52703            lw  a4,12(a0)                                             
4000ba94:   00010613            mv  a2,sp                                                 
4000ba98:   000700e7            jalr    a4                                                
4000ba9c:   0004a403            lw  s0,0(s1)                                              
4000baa0:   00050a13            mv  s4,a0                                                 
                if (thislen > vecs[i].iov_len)                                            
4000baa4:   f88978e3            bgeu    s2,s0,4000ba34 <jffs2_flash_direct_writev+0x8c>   
4000baa8:   00090413            mv  s0,s2                                                 <== NOT EXECUTED
    for (i = 0; i < count; i++) {                                                         
4000baac:   00198993            addi    s3,s3,1                                           <== NOT EXECUTED
        totlen += thislen;                                                                
4000bab0:   008a8ab3            add s5,s5,s0                                              <== NOT EXECUTED
        if (ret || thislen != vecs[i].iov_len)                                            
4000bab4:   f80a06e3            beqz    s4,4000ba40 <jffs2_flash_direct_writev+0x98>      <== NOT EXECUTED
    }                                                                                     
      writev_out:                                                                         
    if (retlen)                                                                           
4000bab8:   000c8463            beqz    s9,4000bac0 <jffs2_flash_direct_writev+0x118>     <== NEVER TAKEN
        *retlen = totlen;                                                                 
4000babc:   015ca023            sw  s5,0(s9)                                              
                                                                                          
    return ret;                                                                           
}                                                                                         
4000bac0:   13c12083            lw  ra,316(sp)                                            
4000bac4:   13812403            lw  s0,312(sp)                                            
4000bac8:   13412483            lw  s1,308(sp)                                            
4000bacc:   13012903            lw  s2,304(sp)                                            
4000bad0:   12c12983            lw  s3,300(sp)                                            
4000bad4:   12412a83            lw  s5,292(sp)                                            
4000bad8:   12012b03            lw  s6,288(sp)                                            
4000badc:   11c12b83            lw  s7,284(sp)                                            
4000bae0:   11812c03            lw  s8,280(sp)                                            
4000bae4:   11412c83            lw  s9,276(sp)                                            
4000bae8:   11012d03            lw  s10,272(sp)                                           
4000baec:   10c12d83            lw  s11,268(sp)                                           
4000baf0:   000a0513            mv  a0,s4                                                 
4000baf4:   12812a03            lw  s4,296(sp)                                            
4000baf8:   14010113            addi    sp,sp,320                                         
4000bafc:   00008067            ret                                                       
                for (j = i; j < count; j++)                                               
4000bb00:   0bb9f863            bgeu    s3,s11,4000bbb0 <jffs2_flash_direct_writev+0x208> 
4000bb04:   00399993            slli    s3,s3,0x3                                         
4000bb08:   013c09b3            add s3,s8,s3                                              
4000bb0c:   00098713            mv  a4,s3                                                 
4000bb10:   00040693            mv  a3,s0                                                 
4000bb14:   00000a13            li  s4,0                                                  
4000bb18:   00c0006f            j   4000bb24 <jffs2_flash_direct_writev+0x17c>            
                    totvecsize += vecs[j].iov_len;                                        
4000bb1c:   00472683            lw  a3,4(a4)                                              <== NOT EXECUTED
4000bb20:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
4000bb24:   00da0a33            add s4,s4,a3                                              
                for (j = i; j < count; j++)                                               
4000bb28:   00870713            addi    a4,a4,8                                           
4000bb2c:   fefd98e3            bne s11,a5,4000bb1c <jffs2_flash_direct_writev+0x174>     
                sizetomalloc = totvecsize + sizeof (int) - 1;                             
4000bb30:   003a0913            addi    s2,s4,3                                           
                sizetomalloc &= ~(sizeof (int) - 1);                                      
4000bb34:   ffc97913            andi    s2,s2,-4                                          
                cbuf = (char *) malloc(sizetomalloc);                                     
4000bb38:   00090513            mv  a0,s2                                                 
4000bb3c:   741010ef            jal ra,4000da7c <malloc>                                  
4000bb40:   00050493            mv  s1,a0                                                 
                if (!cbuf) {                                                              
4000bb44:   08050863            beqz    a0,4000bbd4 <jffs2_flash_direct_writev+0x22c>     <== NEVER TAKEN
4000bb48:   003d9793            slli    a5,s11,0x3                                        
4000bb4c:   00fc0c33            add s8,s8,a5                                              
4000bb50:   00050793            mv  a5,a0                                                 
4000bb54:   0080006f            j   4000bb5c <jffs2_flash_direct_writev+0x1b4>            
                    memcpy(cbufptr, vecs[j].iov_base,                                     
4000bb58:   0049a403            lw  s0,4(s3)                                              <== NOT EXECUTED
4000bb5c:   0009a583            lw  a1,0(s3)                                              
4000bb60:   00078513            mv  a0,a5                                                 
4000bb64:   00040613            mv  a2,s0                                                 
4000bb68:   488100ef            jal ra,4001bff0 <memcpy>                                  
                for (j = i; j < count; j++) {                                             
4000bb6c:   00898993            addi    s3,s3,8                                           
                    cbufptr += vecs[j].iov_len;                                           
4000bb70:   008507b3            add a5,a0,s0                                              
                for (j = i; j < count; j++) {                                             
4000bb74:   ff3c12e3            bne s8,s3,4000bb58 <jffs2_flash_direct_writev+0x1b0>      
                totlen += thislen;                                                        
4000bb78:   03496863            bltu    s2,s4,4000bba8 <jffs2_flash_direct_writev+0x200>  
4000bb7c:   014a8ab3            add s5,s5,s4                                              
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
4000bb80:   0e4b2503            lw  a0,228(s6)                                            
    return (*fc->write)(fc, write_buffer_offset, read_buffer, size);                      
4000bb84:   00090693            mv  a3,s2                                                 
4000bb88:   00048613            mv  a2,s1                                                 
4000bb8c:   00c52783            lw  a5,12(a0)                                             
4000bb90:   000d0593            mv  a1,s10                                                
4000bb94:   000780e7            jalr    a5                                                
4000bb98:   00050a13            mv  s4,a0                                                 
                free(cbuf);                                                               
4000bb9c:   00048513            mv  a0,s1                                                 
4000bba0:   335010ef            jal ra,4000d6d4 <free>                                    
                goto writev_out;                                                          
4000bba4:   f15ff06f            j   4000bab8 <jffs2_flash_direct_writev+0x110>            
                totlen += thislen;                                                        
4000bba8:   00090a13            mv  s4,s2                                                 <== NOT EXECUTED
4000bbac:   fd1ff06f            j   4000bb7c <jffs2_flash_direct_writev+0x1d4>            <== NOT EXECUTED
                cbuf = (char *) malloc(sizetomalloc);                                     
4000bbb0:   00000513            li  a0,0                                                  <== NOT EXECUTED
4000bbb4:   6c9010ef            jal ra,4000da7c <malloc>                                  <== NOT EXECUTED
4000bbb8:   00050493            mv  s1,a0                                                 <== NOT EXECUTED
                if (!cbuf) {                                                              
4000bbbc:   00050c63            beqz    a0,4000bbd4 <jffs2_flash_direct_writev+0x22c>     <== NOT EXECUTED
                cbuf = (char *) malloc(sizetomalloc);                                     
4000bbc0:   00000913            li  s2,0                                                  <== NOT EXECUTED
4000bbc4:   fbdff06f            j   4000bb80 <jffs2_flash_direct_writev+0x1d8>            <== NOT EXECUTED
    size_t totlen = 0, thislen;                                                           
4000bbc8:   00000a93            li  s5,0                                                  <== NOT EXECUTED
    for (i = 0; i < count; i++) {                                                         
4000bbcc:   00000a13            li  s4,0                                                  <== NOT EXECUTED
4000bbd0:   ee9ff06f            j   4000bab8 <jffs2_flash_direct_writev+0x110>            <== NOT EXECUTED
                    ret = -ENOMEM;                                                        
4000bbd4:   ff400a13            li  s4,-12                                                <== NOT EXECUTED
4000bbd8:   ee1ff06f            j   4000bab8 <jffs2_flash_direct_writev+0x110>            <== NOT EXECUTED
                                                                                          

4000b990 <jffs2_flash_write>: int jffs2_flash_write(struct jffs2_sb_info * c, cyg_uint32 write_buffer_offset, const size_t size, size_t * return_size, unsigned char *read_buffer) { const struct super_block *sb = OFNI_BS_2SFFJ(c); rtems_jffs2_flash_control *fc = sb->s_flash_control;
4000b990:   0e452503            lw  a0,228(a0)                                            <== NOT EXECUTED
                                                                                          
    *return_size = size;                                                                  
                                                                                          
    return (*fc->write)(fc, write_buffer_offset, read_buffer, size);                      
4000b994:   00c52803            lw  a6,12(a0)                                             <== NOT EXECUTED
    *return_size = size;                                                                  
4000b998:   00c6a023            sw  a2,0(a3)                                              <== NOT EXECUTED
    return (*fc->write)(fc, write_buffer_offset, read_buffer, size);                      
4000b99c:   00060693            mv  a3,a2                                                 <== NOT EXECUTED
4000b9a0:   00070613            mv  a2,a4                                                 <== NOT EXECUTED
4000b9a4:   00080067            jr  a6                                                    <== NOT EXECUTED
                                                                                          

40005340 <jffs2_free_ino_caches>: for (i=0; i < c->inocache_hashsize; i++) {
40005340:   0c052683            lw  a3,192(a0)                                            
40005344:   06d05e63            blez    a3,400053c0 <jffs2_free_ino_caches+0x80>          <== NEVER TAKEN
        this = c->inocache_list[i];                                                       
40005348:   0c452703            lw  a4,196(a0)                                            
{                                                                                         
4000534c:   fe010113            addi    sp,sp,-32                                         
40005350:   00912a23            sw  s1,20(sp)                                             
40005354:   01312623            sw  s3,12(sp)                                             
40005358:   00112e23            sw  ra,28(sp)                                             
4000535c:   00812c23            sw  s0,24(sp)                                             
40005360:   01212823            sw  s2,16(sp)                                             
40005364:   00050993            mv  s3,a0                                                 
    for (i=0; i < c->inocache_hashsize; i++) {                                            
40005368:   00000493            li  s1,0                                                  
        this = c->inocache_list[i];                                                       
4000536c:   00249913            slli    s2,s1,0x2                                         
40005370:   012707b3            add a5,a4,s2                                              
40005374:   0007a403            lw  s0,0(a5)                                              
        while (this) {                                                                    
40005378:   02040063            beqz    s0,40005398 <jffs2_free_ino_caches+0x58>          
            next = this->next;                                                            
4000537c:   00040513            mv  a0,s0                                                 
40005380:   01042403            lw  s0,16(s0)                                             
            jffs2_free_inode_cache(this);                                                 
40005384:   e24ff0ef            jal ra,400049a8 <jffs2_free_inode_cache>                  
        while (this) {                                                                    
40005388:   fe041ae3            bnez    s0,4000537c <jffs2_free_ino_caches+0x3c>          <== NEVER TAKEN
        c->inocache_list[i] = NULL;                                                       
4000538c:   0c49a703            lw  a4,196(s3)                                            
40005390:   0c09a683            lw  a3,192(s3)                                            
40005394:   012707b3            add a5,a4,s2                                              
40005398:   0007a023            sw  zero,0(a5)                                            
    for (i=0; i < c->inocache_hashsize; i++) {                                            
4000539c:   00148493            addi    s1,s1,1                                           
400053a0:   fcd4c6e3            blt s1,a3,4000536c <jffs2_free_ino_caches+0x2c>           
}                                                                                         
400053a4:   01c12083            lw  ra,28(sp)                                             
400053a8:   01812403            lw  s0,24(sp)                                             
400053ac:   01412483            lw  s1,20(sp)                                             
400053b0:   01012903            lw  s2,16(sp)                                             
400053b4:   00c12983            lw  s3,12(sp)                                             
400053b8:   02010113            addi    sp,sp,32                                          
400053bc:   00008067            ret                                                       
400053c0:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

4000b2b4 <jffs2_free_jeb_node_refs>: jffs2_del_ino_cache(c, ic); } } void jffs2_free_jeb_node_refs(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb) {
4000b2b4:   fd010113            addi    sp,sp,-48                                         
4000b2b8:   02812423            sw  s0,40(sp)                                             
    struct jffs2_raw_node_ref *block, *ref;                                               
    jffs2_dbg(1, "Freeing all node refs for eraseblock offset 0x%08x\n",                  
          jeb->offset);                                                                   
                                                                                          
    block = ref = jeb->first_node;                                                        
4000b2bc:   0285a403            lw  s0,40(a1)                                             
{                                                                                         
4000b2c0:   01412c23            sw  s4,24(sp)                                             
4000b2c4:   02112623            sw  ra,44(sp)                                             
4000b2c8:   02912223            sw  s1,36(sp)                                             
4000b2cc:   03212023            sw  s2,32(sp)                                             
4000b2d0:   01312e23            sw  s3,28(sp)                                             
4000b2d4:   01512a23            sw  s5,20(sp)                                             
4000b2d8:   01612823            sw  s6,16(sp)                                             
4000b2dc:   01712623            sw  s7,12(sp)                                             
4000b2e0:   00058a13            mv  s4,a1                                                 
                                                                                          
    while (ref) {                                                                         
4000b2e4:   0a040063            beqz    s0,4000b384 <jffs2_free_jeb_node_refs+0xd0>       
4000b2e8:   00050b13            mv  s6,a0                                                 
4000b2ec:   00040b93            mv  s7,s0                                                 
        if (ref->flash_offset == REF_LINK_NODE) {                                         
4000b2f0:   fff00993            li  s3,-1                                                 
            ref = ref->next_in_ino;                                                       
            jffs2_free_refblock(block);                                                   
            block = ref;                                                                  
            continue;                                                                     
        }                                                                                 
        if (ref->flash_offset != REF_EMPTY_NODE && ref->next_in_ino)                      
4000b2f4:   ffe00a93            li  s5,-2                                                 
        JFFS2_WARNING("inode_cache/xattr_datum/xattr_ref"                                 
4000b2f8:   40020937            lui s2,0x40020                                            
4000b2fc:   400204b7            lui s1,0x40020                                            
        if (ref->flash_offset == REF_LINK_NODE) {                                         
4000b300:   00442783            lw  a5,4(s0)                                              
4000b304:   07378863            beq a5,s3,4000b374 <jffs2_free_jeb_node_refs+0xc0>        
        if (ref->flash_offset != REF_EMPTY_NODE && ref->next_in_ino)                      
4000b308:   07578063            beq a5,s5,4000b368 <jffs2_free_jeb_node_refs+0xb4>        
4000b30c:   00042783            lw  a5,0(s0)                                              
4000b310:   04078c63            beqz    a5,4000b368 <jffs2_free_jeb_node_refs+0xb4>       <== ALWAYS TAKEN
        if (SECTOR_ADDR((*prev)->flash_offset) == jeb->offset) {                          
4000b314:   034b2803            lw  a6,52(s6)                                             <== NOT EXECUTED
4000b318:   00ca2883            lw  a7,12(s4)                                             <== NOT EXECUTED
    prev = &ref->next_in_ino;                                                             
4000b31c:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
        if (SECTOR_ADDR((*prev)->flash_offset) == jeb->offset) {                          
4000b320:   41000833            neg a6,a6                                                 <== NOT EXECUTED
    struct jffs2_inode_cache *ic = NULL;                                                  
4000b324:   00000593            li  a1,0                                                  <== NOT EXECUTED
        if (!(*prev)->next_in_ino) {                                                      
4000b328:   0007a683            lw  a3,0(a5)                                              <== NOT EXECUTED
4000b32c:   02068063            beqz    a3,4000b34c <jffs2_free_jeb_node_refs+0x98>       <== NOT EXECUTED
        if (SECTOR_ADDR((*prev)->flash_offset) == jeb->offset) {                          
4000b330:   0047a703            lw  a4,4(a5)                                              <== NOT EXECUTED
4000b334:   00e87733            and a4,a6,a4                                              <== NOT EXECUTED
4000b338:   09170063            beq a4,a7,4000b3b8 <jffs2_free_jeb_node_refs+0x104>       <== NOT EXECUTED
        prev = &((*prev)->next_in_ino);                                                   
4000b33c:   00078613            mv  a2,a5                                                 <== NOT EXECUTED
4000b340:   00068793            mv  a5,a3                                                 <== NOT EXECUTED
        if (!(*prev)->next_in_ino) {                                                      
4000b344:   0007a683            lw  a3,0(a5)                                              <== NOT EXECUTED
4000b348:   fe0694e3            bnez    a3,4000b330 <jffs2_free_jeb_node_refs+0x7c>       <== NOT EXECUTED
            prev = &ic->nodes;                                                            
4000b34c:   00478613            addi    a2,a5,4                                           <== NOT EXECUTED
            continue;                                                                     
4000b350:   00078593            mv  a1,a5                                                 <== NOT EXECUTED
4000b354:   0047a783            lw  a5,4(a5)                                              <== NOT EXECUTED
4000b358:   fd1ff06f            j   4000b328 <jffs2_free_jeb_node_refs+0x74>              <== NOT EXECUTED
    if (!ic) {                                                                            
4000b35c:   08058463            beqz    a1,4000b3e4 <jffs2_free_jeb_node_refs+0x130>      <== NOT EXECUTED
            if (ic->nodes == (void *)ic && ic->pino_nlink == 0)                           
4000b360:   0045a783            lw  a5,4(a1)                                              <== NOT EXECUTED
4000b364:   06b78463            beq a5,a1,4000b3cc <jffs2_free_jeb_node_refs+0x118>       <== NOT EXECUTED
            jffs2_remove_node_refs_from_ino_list(c, ref, jeb);                            
        /* else it was a non-inode node or already removed, so don't bother */            
                                                                                          
        ref++;                                                                            
4000b368:   00840413            addi    s0,s0,8                                           
        if (ref->flash_offset == REF_LINK_NODE) {                                         
4000b36c:   00442783            lw  a5,4(s0)                                              
4000b370:   f9379ce3            bne a5,s3,4000b308 <jffs2_free_jeb_node_refs+0x54>        
            ref = ref->next_in_ino;                                                       
4000b374:   00042403            lw  s0,0(s0)                                              
            jffs2_free_refblock(block);                                                   
4000b378:   000b8513            mv  a0,s7                                                 
4000b37c:   e14f90ef            jal ra,40004990 <jffs2_free_refblock>                     
    while (ref) {                                                                         
4000b380:   06041c63            bnez    s0,4000b3f8 <jffs2_free_jeb_node_refs+0x144>      
    }                                                                                     
    jeb->first_node = jeb->last_node = NULL;                                              
}                                                                                         
4000b384:   02c12083            lw  ra,44(sp)                                             
4000b388:   02812403            lw  s0,40(sp)                                             
    jeb->first_node = jeb->last_node = NULL;                                              
4000b38c:   020a2623            sw  zero,44(s4)                                           
4000b390:   020a2423            sw  zero,40(s4)                                           
}                                                                                         
4000b394:   02412483            lw  s1,36(sp)                                             
4000b398:   02012903            lw  s2,32(sp)                                             
4000b39c:   01c12983            lw  s3,28(sp)                                             
4000b3a0:   01812a03            lw  s4,24(sp)                                             
4000b3a4:   01412a83            lw  s5,20(sp)                                             
4000b3a8:   01012b03            lw  s6,16(sp)                                             
4000b3ac:   00c12b83            lw  s7,12(sp)                                             
4000b3b0:   03010113            addi    sp,sp,48                                          
4000b3b4:   00008067            ret                                                       
            *prev = this->next_in_ino;                                                    
4000b3b8:   00d62023            sw  a3,0(a2)                                              <== NOT EXECUTED
            this->next_in_ino = NULL;                                                     
4000b3bc:   0007a023            sw  zero,0(a5)                                            <== NOT EXECUTED
            if (this == ref)                                                              
4000b3c0:   f8878ee3            beq a5,s0,4000b35c <jffs2_free_jeb_node_refs+0xa8>        <== NOT EXECUTED
        if (!(*prev)->next_in_ino) {                                                      
4000b3c4:   00062783            lw  a5,0(a2)                                              <== NOT EXECUTED
4000b3c8:   f61ff06f            j   4000b328 <jffs2_free_jeb_node_refs+0x74>              <== NOT EXECUTED
            if (ic->nodes == (void *)ic && ic->pino_nlink == 0)                           
4000b3cc:   0145a783            lw  a5,20(a1)                                             <== NOT EXECUTED
4000b3d0:   f8079ce3            bnez    a5,4000b368 <jffs2_free_jeb_node_refs+0xb4>       <== NOT EXECUTED
                jffs2_del_ino_cache(c, ic);                                               
4000b3d4:   000b0513            mv  a0,s6                                                 <== NOT EXECUTED
4000b3d8:   f01f90ef            jal ra,400052d8 <jffs2_del_ino_cache>                     <== NOT EXECUTED
        ref++;                                                                            
4000b3dc:   00840413            addi    s0,s0,8                                           <== NOT EXECUTED
    while (ref) {                                                                         
4000b3e0:   f8dff06f            j   4000b36c <jffs2_free_jeb_node_refs+0xb8>              <== NOT EXECUTED
        JFFS2_WARNING("inode_cache/xattr_datum/xattr_ref"                                 
4000b3e4:   bc890593            addi    a1,s2,-1080 # 4001fbc8 <__func__.0>               <== NOT EXECUTED
4000b3e8:   92848513            addi    a0,s1,-1752 # 4001f928 <__func__.0+0xcc>          <== NOT EXECUTED
4000b3ec:   e89ff0ef            jal ra,4000b274 <jffs2_printk>                            <== NOT EXECUTED
        ref++;                                                                            
4000b3f0:   00840413            addi    s0,s0,8                                           <== NOT EXECUTED
    while (ref) {                                                                         
4000b3f4:   f79ff06f            j   4000b36c <jffs2_free_jeb_node_refs+0xb8>              <== NOT EXECUTED
4000b3f8:   00040b93            mv  s7,s0                                                 
4000b3fc:   f05ff06f            j   4000b300 <jffs2_free_jeb_node_refs+0x4c>              
                                                                                          

400053c4 <jffs2_free_raw_node_refs>: for (i=0; i<c->nr_blocks; i++) {
400053c4:   05052683            lw  a3,80(a0)                                             
400053c8:   0a068a63            beqz    a3,4000547c <jffs2_free_raw_node_refs+0xb8>       <== NEVER TAKEN
{                                                                                         
400053cc:   fe010113            addi    sp,sp,-32                                         
400053d0:   00812c23            sw  s0,24(sp)                                             
400053d4:   00912a23            sw  s1,20(sp)                                             
400053d8:   01212823            sw  s2,16(sp)                                             
400053dc:   01412423            sw  s4,8(sp)                                              
        this = c->blocks[i].first_node;                                                   
400053e0:   05452783            lw  a5,84(a0)                                             
{                                                                                         
400053e4:   00112e23            sw  ra,28(sp)                                             
400053e8:   01312623            sw  s3,12(sp)                                             
400053ec:   00050413            mv  s0,a0                                                 
        this = c->blocks[i].first_node;                                                   
400053f0:   00000493            li  s1,0                                                  
    for (i=0; i<c->nr_blocks; i++) {                                                      
400053f4:   00000a13            li  s4,0                                                  
            if (this[REFS_PER_BLOCK].flash_offset == REF_LINK_NODE)                       
400053f8:   fff00913            li  s2,-1                                                 
400053fc:   0280006f            j   40005424 <jffs2_free_raw_node_refs+0x60>              
            jffs2_free_refblock(this);                                                    
40005400:   d90ff0ef            jal ra,40004990 <jffs2_free_refblock>                     <== NOT EXECUTED
        c->blocks[i].first_node = c->blocks[i].last_node = NULL;                          
40005404:   05442783            lw  a5,84(s0)                                             <== NOT EXECUTED
40005408:   05042683            lw  a3,80(s0)                                             <== NOT EXECUTED
4000540c:   00978733            add a4,a5,s1                                              <== NOT EXECUTED
40005410:   02072623            sw  zero,44(a4)                                           
40005414:   02072423            sw  zero,40(a4)                                           
    for (i=0; i<c->nr_blocks; i++) {                                                      
40005418:   001a0a13            addi    s4,s4,1                                           
4000541c:   03448493            addi    s1,s1,52                                          
40005420:   02da7663            bgeu    s4,a3,4000544c <jffs2_free_raw_node_refs+0x88>    
        this = c->blocks[i].first_node;                                                   
40005424:   00978733            add a4,a5,s1                                              
40005428:   02872503            lw  a0,40(a4)                                             
        while (this) {                                                                    
4000542c:   fe0502e3            beqz    a0,40005410 <jffs2_free_raw_node_refs+0x4c>       <== NEVER TAKEN
            if (this[REFS_PER_BLOCK].flash_offset == REF_LINK_NODE)                       
40005430:   0f452783            lw  a5,244(a0)                                            
40005434:   fd2796e3            bne a5,s2,40005400 <jffs2_free_raw_node_refs+0x3c>        
                next = this[REFS_PER_BLOCK].next_in_ino;                                  
40005438:   0f052983            lw  s3,240(a0)                                            
            jffs2_free_refblock(this);                                                    
4000543c:   d54ff0ef            jal ra,40004990 <jffs2_free_refblock>                     
        while (this) {                                                                    
40005440:   02098663            beqz    s3,4000546c <jffs2_free_raw_node_refs+0xa8>       
40005444:   00098513            mv  a0,s3                                                 
40005448:   fe9ff06f            j   40005430 <jffs2_free_raw_node_refs+0x6c>              
}                                                                                         
4000544c:   01c12083            lw  ra,28(sp)                                             
40005450:   01812403            lw  s0,24(sp)                                             
40005454:   01412483            lw  s1,20(sp)                                             
40005458:   01012903            lw  s2,16(sp)                                             
4000545c:   00c12983            lw  s3,12(sp)                                             
40005460:   00812a03            lw  s4,8(sp)                                              
40005464:   02010113            addi    sp,sp,32                                          
40005468:   00008067            ret                                                       
        c->blocks[i].first_node = c->blocks[i].last_node = NULL;                          
4000546c:   05442783            lw  a5,84(s0)                                             
40005470:   05042683            lw  a3,80(s0)                                             
40005474:   00978733            add a4,a5,s1                                              
40005478:   f99ff06f            j   40005410 <jffs2_free_raw_node_refs+0x4c>              
4000547c:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

40003564 <jffs2_garbage_collect_pass>: {
40003564:   f5010113            addi    sp,sp,-176                                        
40003568:   09a12023            sw  s10,128(sp)                                           
        if (!c->unchecked_size)                                                           
4000356c:   03852d03            lw  s10,56(a0)                                            
{                                                                                         
40003570:   0a912223            sw  s1,164(sp)                                            
40003574:   0a112623            sw  ra,172(sp)                                            
40003578:   0a812423            sw  s0,168(sp)                                            
4000357c:   0b212023            sw  s2,160(sp)                                            
40003580:   09312e23            sw  s3,156(sp)                                            
40003584:   09412c23            sw  s4,152(sp)                                            
40003588:   09512a23            sw  s5,148(sp)                                            
4000358c:   09612823            sw  s6,144(sp)                                            
40003590:   09712623            sw  s7,140(sp)                                            
40003594:   09812423            sw  s8,136(sp)                                            
40003598:   09912223            sw  s9,132(sp)                                            
4000359c:   07b12e23            sw  s11,124(sp)                                           
400035a0:   00050493            mv  s1,a0                                                 
                if (ic->state != INO_STATE_CHECKEDABSENT &&                               
400035a4:   00100693            li  a3,1                                                  
        if (!c->unchecked_size)                                                           
400035a8:   140d0a63            beqz    s10,400036fc <jffs2_garbage_collect_pass+0x198>   <== ALWAYS TAKEN
        want_ino = c->check_ino;                                                          
400035ac:   0084a703            lw  a4,8(s1)                                              <== NOT EXECUTED
        for (bucket = c->check_ino % c->inocache_hashsize ; bucket < c->inocache_hashsize; bucket++) {
400035b0:   0c04a883            lw  a7,192(s1)                                            <== NOT EXECUTED
400035b4:   03177333            remu    t1,a4,a7                                          <== NOT EXECUTED
400035b8:   05135663            bge t1,a7,40003604 <jffs2_garbage_collect_pass+0xa0>      <== NOT EXECUTED
400035bc:   0c44a503            lw  a0,196(s1)                                            <== NOT EXECUTED
400035c0:   00231793            slli    a5,t1,0x2                                         <== NOT EXECUTED
400035c4:   00f50533            add a0,a0,a5                                              <== NOT EXECUTED
            for (ic = c->inocache_list[bucket]; ic; ic = ic->next) {                      
400035c8:   00052403            lw  s0,0(a0)                                              <== NOT EXECUTED
400035cc:   02040463            beqz    s0,400035f4 <jffs2_garbage_collect_pass+0x90>     <== NOT EXECUTED
                if (ic->ino < want_ino)                                                   
400035d0:   00c42583            lw  a1,12(s0)                                             <== NOT EXECUTED
400035d4:   00e5ec63            bltu    a1,a4,400035ec <jffs2_garbage_collect_pass+0x88>  <== NOT EXECUTED
                if (ic->state != INO_STATE_CHECKEDABSENT &&                               
400035d8:   00a45603            lhu a2,10(s0)                                             <== NOT EXECUTED
400035dc:   ffe60793            addi    a5,a2,-2                                          <== NOT EXECUTED
400035e0:   01079793            slli    a5,a5,0x10                                        <== NOT EXECUTED
400035e4:   0107d793            srli    a5,a5,0x10                                        <== NOT EXECUTED
400035e8:   08f6e663            bltu    a3,a5,40003674 <jffs2_garbage_collect_pass+0x110> <== NOT EXECUTED
            for (ic = c->inocache_list[bucket]; ic; ic = ic->next) {                      
400035ec:   01042403            lw  s0,16(s0)                                             <== NOT EXECUTED
400035f0:   fe0410e3            bnez    s0,400035d0 <jffs2_garbage_collect_pass+0x6c>     <== NOT EXECUTED
        for (bucket = c->check_ino % c->inocache_hashsize ; bucket < c->inocache_hashsize; bucket++) {
400035f4:   00130313            addi    t1,t1,1                                           <== NOT EXECUTED
400035f8:   00450513            addi    a0,a0,4                                           <== NOT EXECUTED
            want_ino = 0;                                                                 
400035fc:   00000713            li  a4,0                                                  <== NOT EXECUTED
        for (bucket = c->check_ino % c->inocache_hashsize ; bucket < c->inocache_hashsize; bucket++) {
40003600:   fc6894e3            bne a7,t1,400035c8 <jffs2_garbage_collect_pass+0x64>      <== NOT EXECUTED
        c->check_ino = ((c->highest_ino + c->inocache_hashsize + 1) &                     
40003604:   0044a783            lw  a5,4(s1)                                              <== NOT EXECUTED
                ~c->inocache_hashsize) - 1;                                               
40003608:   fff8c713            not a4,a7                                                 <== NOT EXECUTED
        pr_crit("Checked all inodes but still 0x%x bytes of unchecked space?\n",          
4000360c:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
        c->check_ino = ((c->highest_ino + c->inocache_hashsize + 1) &                     
40003610:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
40003614:   011787b3            add a5,a5,a7                                              <== NOT EXECUTED
40003618:   00e7f7b3            and a5,a5,a4                                              <== NOT EXECUTED
                ~c->inocache_hashsize) - 1;                                               
4000361c:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
        c->check_ino = ((c->highest_ino + c->inocache_hashsize + 1) &                     
40003620:   00f4a423            sw  a5,8(s1)                                              <== NOT EXECUTED
        pr_crit("Checked all inodes but still 0x%x bytes of unchecked space?\n",          
40003624:   000d0593            mv  a1,s10                                                <== NOT EXECUTED
40003628:   4e850513            addi    a0,a0,1256 # 4001d4e8 <rtems_jffs2_ops+0x360>     <== NOT EXECUTED
4000362c:   b09ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        return -ENOSPC;                                                                   
40003630:   fe400d93            li  s11,-28                                               <== NOT EXECUTED
}                                                                                         
40003634:   0ac12083            lw  ra,172(sp)                                            
40003638:   0a812403            lw  s0,168(sp)                                            
4000363c:   0a412483            lw  s1,164(sp)                                            
40003640:   0a012903            lw  s2,160(sp)                                            
40003644:   09c12983            lw  s3,156(sp)                                            
40003648:   09812a03            lw  s4,152(sp)                                            
4000364c:   09412a83            lw  s5,148(sp)                                            
40003650:   09012b03            lw  s6,144(sp)                                            
40003654:   08c12b83            lw  s7,140(sp)                                            
40003658:   08812c03            lw  s8,136(sp)                                            
4000365c:   08412c83            lw  s9,132(sp)                                            
40003660:   08012d03            lw  s10,128(sp)                                           
40003664:   000d8513            mv  a0,s11                                                
40003668:   07c12d83            lw  s11,124(sp)                                           
4000366c:   0b010113            addi    sp,sp,176                                         
40003670:   00008067            ret                                                       
        if (!ic->pino_nlink) {                                                            
40003674:   01442783            lw  a5,20(s0)                                             <== NOT EXECUTED
        c->check_ino = ic->ino + c->inocache_hashsize;                                    
40003678:   00b888b3            add a7,a7,a1                                              <== NOT EXECUTED
4000367c:   0114a423            sw  a7,8(s1)                                              <== NOT EXECUTED
        if (!ic->pino_nlink) {                                                            
40003680:   f20784e3            beqz    a5,400035a8 <jffs2_garbage_collect_pass+0x44>     <== NOT EXECUTED
        switch(ic->state) {                                                               
40003684:   00400793            li  a5,4                                                  <== NOT EXECUTED
40003688:   40f60c63            beq a2,a5,40003aa0 <jffs2_garbage_collect_pass+0x53c>     <== NOT EXECUTED
4000368c:   02c7ec63            bltu    a5,a2,400036c4 <jffs2_garbage_collect_pass+0x160> <== NOT EXECUTED
40003690:   40061863            bnez    a2,40003aa0 <jffs2_garbage_collect_pass+0x53c>    <== NOT EXECUTED
        ic->state = INO_STATE_CHECKING;                                                   
40003694:   00100793            li  a5,1                                                  <== NOT EXECUTED
40003698:   00f41523            sh  a5,10(s0)                                             <== NOT EXECUTED
        ret = jffs2_do_crccheck_inode(c, ic);                                             
4000369c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400036a0:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400036a4:   0d4050ef            jal ra,40008778 <jffs2_do_crccheck_inode>                 <== NOT EXECUTED
400036a8:   00050d93            mv  s11,a0                                                <== NOT EXECUTED
        if (ret)                                                                          
400036ac:   02051663            bnez    a0,400036d8 <jffs2_garbage_collect_pass+0x174>    <== NOT EXECUTED
        jffs2_set_inocache_state(c, ic, INO_STATE_CHECKEDABSENT);                         
400036b0:   00300613            li  a2,3                                                  <== NOT EXECUTED
400036b4:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400036b8:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400036bc:   375010ef            jal ra,40005230 <jffs2_set_inocache_state>                <== NOT EXECUTED
        return ret;                                                                       
400036c0:   f75ff06f            j   40003634 <jffs2_garbage_collect_pass+0xd0>            <== NOT EXECUTED
        switch(ic->state) {                                                               
400036c4:   00500793            li  a5,5                                                  <== NOT EXECUTED
400036c8:   3af61863            bne a2,a5,40003a78 <jffs2_garbage_collect_pass+0x514>     <== NOT EXECUTED
            c->check_ino = ic->ino;                                                       
400036cc:   00b4a423            sw  a1,8(s1)                                              <== NOT EXECUTED
            return 0;                                                                     
400036d0:   00000d93            li  s11,0                                                 <== NOT EXECUTED
400036d4:   f61ff06f            j   40003634 <jffs2_garbage_collect_pass+0xd0>            <== NOT EXECUTED
            pr_warn("Returned error for crccheck of ino #%u. Expect badness...\n",        
400036d8:   00c42583            lw  a1,12(s0)                                             <== NOT EXECUTED
400036dc:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
400036e0:   59850513            addi    a0,a0,1432 # 4001d598 <rtems_jffs2_ops+0x410>     <== NOT EXECUTED
400036e4:   a51ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        jffs2_set_inocache_state(c, ic, INO_STATE_CHECKEDABSENT);                         
400036e8:   00300613            li  a2,3                                                  <== NOT EXECUTED
400036ec:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400036f0:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400036f4:   33d010ef            jal ra,40005230 <jffs2_set_inocache_state>                <== NOT EXECUTED
        return ret;                                                                       
400036f8:   f3dff06f            j   40003634 <jffs2_garbage_collect_pass+0xd0>            <== NOT EXECUTED
    if (!list_empty(&c->erase_complete_list) ||                                           
400036fc:   0a04a703            lw  a4,160(s1)                                            
40003700:   0a048793            addi    a5,s1,160                                         
40003704:   08f70e63            beq a4,a5,400037a0 <jffs2_garbage_collect_pass+0x23c>     
        if (jffs2_erase_pending_blocks(c, 1))                                             
40003708:   00100593            li  a1,1                                                  
4000370c:   00048513            mv  a0,s1                                                 
40003710:   4f1070ef            jal ra,4000b400 <jffs2_erase_pending_blocks>              
40003714:   0a051663            bnez    a0,400037c0 <jffs2_garbage_collect_pass+0x25c>    <== ALWAYS TAKEN
    jeb = c->gcblock;                                                                     
40003718:   05c4a903            lw  s2,92(s1)                                             
    if (!jeb)                                                                             
4000371c:   0e090c63            beqz    s2,40003814 <jffs2_garbage_collect_pass+0x2b0>    
    if (!jeb->used_size) {                                                                
40003720:   01492783            lw  a5,20(s2)                                             
40003724:   0a078263            beqz    a5,400037c8 <jffs2_garbage_collect_pass+0x264>    <== NEVER TAKEN
    raw = jeb->gc_node;                                                                   
40003728:   03092983            lw  s3,48(s2)                                             
    while(ref_obsolete(raw)) {                                                            
4000372c:   00100613            li  a2,1                                                  
static inline struct jffs2_raw_node_ref *ref_next(struct jffs2_raw_node_ref *ref)         
{                                                                                         
    ref++;                                                                                
                                                                                          
    /* Link to another block of refs */                                                   
    if (ref->flash_offset == REF_LINK_NODE) {                                             
40003730:   fff00693            li  a3,-1                                                 
40003734:   0049a783            lw  a5,4(s3)                                              
        if (!ref)                                                                         
            return ref;                                                                   
    }                                                                                     
                                                                                          
    /* End of chain */                                                                    
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
40003738:   ffe00713            li  a4,-2                                                 
4000373c:   0037f793            andi    a5,a5,3                                           
40003740:   1ec79c63            bne a5,a2,40003938 <jffs2_garbage_collect_pass+0x3d4>     
    if (ref->flash_offset == REF_LINK_NODE) {                                             
40003744:   00c9a783            lw  a5,12(s3)                                             
40003748:   06d78463            beq a5,a3,400037b0 <jffs2_garbage_collect_pass+0x24c>     
    ref++;                                                                                
4000374c:   00898993            addi    s3,s3,8                                           
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
40003750:   fee796e3            bne a5,a4,4000373c <jffs2_garbage_collect_pass+0x1d8>     
            pr_warn("eep. End of raw list while still supposedly nodes to GC\n");         
40003754:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003758:   61c50513            addi    a0,a0,1564 # 4001d61c <rtems_jffs2_ops+0x494>     <== NOT EXECUTED
4000375c:   9d9ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            pr_warn("erase block at 0x%08x. free_size 0x%08x, dirty_size 0x%08x, used_size 0x%08x\n",
40003760:   01892683            lw  a3,24(s2)                                             <== NOT EXECUTED
40003764:   02092603            lw  a2,32(s2)                                             <== NOT EXECUTED
40003768:   00c92583            lw  a1,12(s2)                                             <== NOT EXECUTED
4000376c:   01492703            lw  a4,20(s2)                                             <== NOT EXECUTED
40003770:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003774:   66050513            addi    a0,a0,1632 # 4001d660 <rtems_jffs2_ops+0x4d8>     <== NOT EXECUTED
40003778:   9bdff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            BUG();                                                                        
4000377c:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40003780:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40003784:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
            jeb->gc_node = raw;                                                           
40003788:   02092823            sw  zero,48(s2)                                           <== NOT EXECUTED
            BUG();                                                                        
4000378c:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40003790:   d6460613            addi    a2,a2,-668 # 4001dd64 <__func__.4>                <== NOT EXECUTED
40003794:   13300593            li  a1,307                                                <== NOT EXECUTED
40003798:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
4000379c:   305090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    if (!list_empty(&c->erase_complete_list) ||                                           
400037a0:   0984a703            lw  a4,152(s1)                                            
        !list_empty(&c->erase_pending_list)) {                                            
400037a4:   09848793            addi    a5,s1,152                                         
    if (!list_empty(&c->erase_complete_list) ||                                           
400037a8:   f6f710e3            bne a4,a5,40003708 <jffs2_garbage_collect_pass+0x1a4>     
400037ac:   f6dff06f            j   40003718 <jffs2_garbage_collect_pass+0x1b4>           
        ref = ref->next_in_ino;                                                           
400037b0:   0089a983            lw  s3,8(s3)                                              
        if (!ref)                                                                         
400037b4:   fa0980e3            beqz    s3,40003754 <jffs2_garbage_collect_pass+0x1f0>    <== NEVER TAKEN
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
400037b8:   0049a783            lw  a5,4(s3)                                              
400037bc:   f95ff06f            j   40003750 <jffs2_garbage_collect_pass+0x1ec>           
            return 0;                                                                     
400037c0:   00000d93            li  s11,0                                                 
400037c4:   e71ff06f            j   40003634 <jffs2_garbage_collect_pass+0xd0>            
    if (c->gcblock && !c->gcblock->used_size) {                                           
400037c8:   05c4a783            lw  a5,92(s1)                                             <== NOT EXECUTED
    int ret = 0, inum, nlink;                                                             
400037cc:   00000d93            li  s11,0                                                 <== NOT EXECUTED
    if (c->gcblock && !c->gcblock->used_size) {                                           
400037d0:   0147a703            lw  a4,20(a5)                                             
400037d4:   e60710e3            bnez    a4,40003634 <jffs2_garbage_collect_pass+0xd0>     <== ALWAYS TAKEN
                                                                                          
/* Insert an entry _before_ the specified entry */                                        
static __inline__ void                                                                    
list_add_tail( struct list_head *newent, struct list_head *beforethisent )                
{                                                                                         
    struct list_head *prev = beforethisent->prev;                                         
400037d8:   09c4a603            lw  a2,156(s1)                                            <== NOT EXECUTED
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
400037dc:   0e44a503            lw  a0,228(s1)                                            <== NOT EXECUTED
        c->nr_erasing_blocks++;                                                           
400037e0:   0404a703            lw  a4,64(s1)                                             <== NOT EXECUTED
        list_add_tail(&c->gcblock->list, &c->erase_pending_list);                         
400037e4:   09848693            addi    a3,s1,152                                         <== NOT EXECUTED
    newent->prev = prev;                                                                  
    newent->next = beforethisent;                                                         
400037e8:   00d7a023            sw  a3,0(a5)                                              <== NOT EXECUTED
    newent->prev = prev;                                                                  
400037ec:   00c7a223            sw  a2,4(a5)                                              <== NOT EXECUTED
    if (fc->trigger_garbage_collection != NULL) {                                         
400037f0:   02052683            lw  a3,32(a0)                                             <== NOT EXECUTED
    beforethisent->prev = newent;                                                         
400037f4:   08f4ae23            sw  a5,156(s1)                                            <== NOT EXECUTED
    prev->next = newent;                                                                  
400037f8:   00f62023            sw  a5,0(a2)                                              <== NOT EXECUTED
        c->nr_erasing_blocks++;                                                           
400037fc:   00170793            addi    a5,a4,1                                           <== NOT EXECUTED
        c->gcblock = NULL;                                                                
40003800:   0404ae23            sw  zero,92(s1)                                           <== NOT EXECUTED
        c->nr_erasing_blocks++;                                                           
40003804:   04f4a023            sw  a5,64(s1)                                             <== NOT EXECUTED
40003808:   e20686e3            beqz    a3,40003634 <jffs2_garbage_collect_pass+0xd0>     <== NOT EXECUTED
        (*fc->trigger_garbage_collection)(fc);                                            
4000380c:   000680e7            jalr    a3                                                <== NOT EXECUTED
40003810:   e25ff06f            j   40003634 <jffs2_garbage_collect_pass+0xd0>            <== NOT EXECUTED
40003814:   8e41a703            lw  a4,-1820(gp) # 40042fbc <_Watchdog_Ticks_since_boot>  
                                                                                          
/* Is this list empty? */                                                                 
static __inline__ int                                                                     
list_empty( struct list_head *list )                                                      
{                                                                                         
    return ( list->next == list );                                                        
40003818:   0b84af83            lw  t6,184(s1)                                            
    if (!list_empty(&c->bad_used_list) && c->nr_free_blocks > c->resv_blocks_gcbad) {     
4000381c:   0b848893            addi    a7,s1,184                                         
    int n = jiffies % 128;                                                                
40003820:   07f77713            andi    a4,a4,127                                         
    } else if (n < 50 && !list_empty(&c->erasable_list)) {                                
40003824:   03100f13            li  t5,49                                                 
    } else if (n < 126 && !list_empty(&c->dirty_list)) {                                  
40003828:   07048513            addi    a0,s1,112                                         
    } else if (!list_empty(&c->clean_list)) {                                             
4000382c:   06048593            addi    a1,s1,96                                          
    } else if (n < 110 && !list_empty(&c->very_dirty_list)) {                             
40003830:   06848613            addi    a2,s1,104                                         
40003834:   06d00e93            li  t4,109                                                
    } else if (n < 126 && !list_empty(&c->dirty_list)) {                                  
40003838:   07d00e13            li  t3,125                                                
    } else if (n < 50 && !list_empty(&c->erasable_list)) {                                
4000383c:   07848693            addi    a3,s1,120                                         
    } else if (!list_empty(&c->erasable_pending_wbuf_list)) {                             
40003840:   08048313            addi    t1,s1,128                                         
    if (!list_empty(&c->bad_used_list) && c->nr_free_blocks > c->resv_blocks_gcbad) {     
40003844:   011f8863            beq t6,a7,40003854 <jffs2_garbage_collect_pass+0x2f0>     
40003848:   0474c783            lbu a5,71(s1)                                             <== NOT EXECUTED
4000384c:   03c4a283            lw  t0,60(s1)                                             <== NOT EXECUTED
40003850:   2457e463            bltu    a5,t0,40003a98 <jffs2_garbage_collect_pass+0x534> <== NOT EXECUTED
    } else if (n < 50 && !list_empty(&c->erasable_list)) {                                
40003854:   06ef4663            blt t5,a4,400038c0 <jffs2_garbage_collect_pass+0x35c>     
40003858:   0784a283            lw  t0,120(s1)                                            
4000385c:   00068793            mv  a5,a3                                                 
40003860:   08569063            bne a3,t0,400038e0 <jffs2_garbage_collect_pass+0x37c>     
    } else if (n < 110 && !list_empty(&c->very_dirty_list)) {                             
40003864:   0684a283            lw  t0,104(s1)                                            
40003868:   00060793            mv  a5,a2                                                 
4000386c:   06561a63            bne a2,t0,400038e0 <jffs2_garbage_collect_pass+0x37c>     
    } else if (n < 126 && !list_empty(&c->dirty_list)) {                                  
40003870:   0704a283            lw  t0,112(s1)                                            
40003874:   00050793            mv  a5,a0                                                 
40003878:   06551463            bne a0,t0,400038e0 <jffs2_garbage_collect_pass+0x37c>     
    } else if (!list_empty(&c->clean_list)) {                                             
4000387c:   0604a283            lw  t0,96(s1)                                             
40003880:   00058793            mv  a5,a1                                                 
40003884:   04b29e63            bne t0,a1,400038e0 <jffs2_garbage_collect_pass+0x37c>     
    } else if (!list_empty(&c->very_dirty_list)) {                                        
40003888:   0684a283            lw  t0,104(s1)                                            
4000388c:   00060793            mv  a5,a2                                                 
40003890:   04561863            bne a2,t0,400038e0 <jffs2_garbage_collect_pass+0x37c>     
    } else if (!list_empty(&c->erasable_list)) {                                          
40003894:   0784a283            lw  t0,120(s1)                                            
40003898:   00068793            mv  a5,a3                                                 
4000389c:   04569263            bne a3,t0,400038e0 <jffs2_garbage_collect_pass+0x37c>     
    } else if (!list_empty(&c->erasable_pending_wbuf_list)) {                             
400038a0:   0804a783            lw  a5,128(s1)                                            
400038a4:   fa6790e3            bne a5,t1,40003844 <jffs2_garbage_collect_pass+0x2e0>     
        if (c->nr_erasing_blocks) {                                                       
400038a8:   0404a883            lw  a7,64(s1)                                             
        return -EIO;                                                                      
400038ac:   011038b3            snez    a7,a7                                             
400038b0:   411008b3            neg a7,a7                                                 
400038b4:   ffa8fd93            andi    s11,a7,-6                                         
400038b8:   ffbd8d93            addi    s11,s11,-5                                        
400038bc:   d79ff06f            j   40003634 <jffs2_garbage_collect_pass+0xd0>            
    } else if (n < 110 && !list_empty(&c->very_dirty_list)) {                             
400038c0:   faeed2e3            bge t4,a4,40003864 <jffs2_garbage_collect_pass+0x300>     <== NOT EXECUTED
    } else if (n < 126 && !list_empty(&c->dirty_list)) {                                  
400038c4:   faee56e3            bge t3,a4,40003870 <jffs2_garbage_collect_pass+0x30c>     <== NOT EXECUTED
    } else if (!list_empty(&c->clean_list)) {                                             
400038c8:   0604a283            lw  t0,96(s1)                                             <== NOT EXECUTED
400038cc:   00058793            mv  a5,a1                                                 <== NOT EXECUTED
400038d0:   00559863            bne a1,t0,400038e0 <jffs2_garbage_collect_pass+0x37c>     <== NOT EXECUTED
    } else if (!list_empty(&c->dirty_list)) {                                             
400038d4:   0704a283            lw  t0,112(s1)                                            <== NOT EXECUTED
400038d8:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
400038dc:   fa5506e3            beq a0,t0,40003888 <jffs2_garbage_collect_pass+0x324>     <== NOT EXECUTED
    ret = list_entry(nextlist->next, struct jffs2_eraseblock, list);                      
400038e0:   0007a903            lw  s2,0(a5)                                              
    ent->prev->next = ent->next;                                                          
400038e4:   00492683            lw  a3,4(s2)                                              
400038e8:   00092703            lw  a4,0(s2)                                              
    ret->gc_node = ret->first_node;                                                       
400038ec:   02892783            lw  a5,40(s2)                                             
400038f0:   00e6a023            sw  a4,0(a3)                                              
    ent->next->prev = ent->prev;                                                          
400038f4:   00d72223            sw  a3,4(a4)                                              
    c->gcblock = ret;                                                                     
400038f8:   0524ae23            sw  s2,92(s1)                                             
    ret->gc_node = ret->first_node;                                                       
400038fc:   02f92823            sw  a5,48(s2)                                             
    if (!ret->gc_node) {                                                                  
40003900:   1c078663            beqz    a5,40003acc <jffs2_garbage_collect_pass+0x568>    <== NEVER TAKEN
    if (ret->wasted_size) {                                                               
40003904:   01c92783            lw  a5,28(s2)                                             
40003908:   e0078ce3            beqz    a5,40003720 <jffs2_garbage_collect_pass+0x1bc>    <== ALWAYS TAKEN
        ret->dirty_size += ret->wasted_size;                                              
4000390c:   01892603            lw  a2,24(s2)                                             <== NOT EXECUTED
        c->wasted_size -= ret->wasted_size;                                               
40003910:   0244a683            lw  a3,36(s1)                                             <== NOT EXECUTED
        c->dirty_size += ret->wasted_size;                                                
40003914:   0204a703            lw  a4,32(s1)                                             <== NOT EXECUTED
        ret->dirty_size += ret->wasted_size;                                              
40003918:   00f60633            add a2,a2,a5                                              <== NOT EXECUTED
4000391c:   00c92c23            sw  a2,24(s2)                                             <== NOT EXECUTED
        c->wasted_size -= ret->wasted_size;                                               
40003920:   40f686b3            sub a3,a3,a5                                              <== NOT EXECUTED
        c->dirty_size += ret->wasted_size;                                                
40003924:   00f707b3            add a5,a4,a5                                              <== NOT EXECUTED
        c->wasted_size -= ret->wasted_size;                                               
40003928:   02d4a223            sw  a3,36(s1)                                             <== NOT EXECUTED
        c->dirty_size += ret->wasted_size;                                                
4000392c:   02f4a023            sw  a5,32(s1)                                             <== NOT EXECUTED
        ret->wasted_size = 0;                                                             
40003930:   00092e23            sw  zero,28(s2)                                           <== NOT EXECUTED
40003934:   dedff06f            j   40003720 <jffs2_garbage_collect_pass+0x1bc>           <== NOT EXECUTED
    gcblock_dirty = jeb->dirty_size;                                                      
40003938:   01892703            lw  a4,24(s2)                                             
    if (!raw->next_in_ino) {                                                              
4000393c:   0009aa03            lw  s4,0(s3)                                              
    jeb->gc_node = raw;                                                                   
40003940:   03392823            sw  s3,48(s2)                                             
    gcblock_dirty = jeb->dirty_size;                                                      
40003944:   00e12423            sw  a4,8(sp)                                              
    if (!raw->next_in_ino) {                                                              
40003948:   0c0a0863            beqz    s4,40003a18 <jffs2_garbage_collect_pass+0x4b4>    <== NEVER TAKEN
4000394c:   000a0a93            mv  s5,s4                                                 
    return ref;                                                                           
}                                                                                         
                                                                                          
static inline struct jffs2_inode_cache *jffs2_raw_ref_to_ic(struct jffs2_raw_node_ref *raw)
{                                                                                         
    while(raw->next_in_ino)                                                               
40003950:   000a2a03            lw  s4,0(s4)                                              
40003954:   fe0a1ce3            bnez    s4,4000394c <jffs2_garbage_collect_pass+0x3e8>    <== NEVER TAKEN
    switch(ic->state) {                                                                   
40003958:   00aad403            lhu s0,10(s5)                                             
4000395c:   00400713            li  a4,4                                                  
40003960:   08e40263            beq s0,a4,400039e4 <jffs2_garbage_collect_pass+0x480>     
40003964:   06876863            bltu    a4,s0,400039d4 <jffs2_garbage_collect_pass+0x470> 
40003968:   00100693            li  a3,1                                                  
4000396c:   0686fc63            bgeu    a3,s0,400039e4 <jffs2_garbage_collect_pass+0x480> 
40003970:   00300693            li  a3,3                                                  
40003974:   00d41663            bne s0,a3,40003980 <jffs2_garbage_collect_pass+0x41c>     
        if (ref_flags(raw) == REF_PRISTINE)                                               
40003978:   00200693            li  a3,2                                                  
4000397c:   0ad78c63            beq a5,a3,40003a34 <jffs2_garbage_collect_pass+0x4d0>     
    f = jffs2_gc_fetch_inode(c, inum, !nlink);                                            
40003980:   014aa603            lw  a2,20(s5)                                             
40003984:   00caa583            lw  a1,12(s5)                                             
40003988:   00048513            mv  a0,s1                                                 
4000398c:   00163613            seqz    a2,a2                                             
40003990:   f24ff0ef            jal ra,400030b4 <jffs2_gc_fetch_inode>                    
    if (IS_ERR(f)) {                                                                      
40003994:   c1800793            li  a5,-1000                                              
    f = jffs2_gc_fetch_inode(c, inum, !nlink);                                            
40003998:   00050413            mv  s0,a0                                                 
    if (IS_ERR(f)) {                                                                      
4000399c:   3ea7eae3            bltu    a5,a0,40004590 <jffs2_garbage_collect_pass+0x102c>
    if (!f) {                                                                             
400039a0:   3e0504e3            beqz    a0,40004588 <jffs2_garbage_collect_pass+0x1024>   <== NEVER TAKEN
    if (c->gcblock != jeb) {                                                              
400039a4:   05c4a783            lw  a5,92(s1)                                             
    int ret = 0;                                                                          
400039a8:   00000d93            li  s11,0                                                 
    if (c->gcblock != jeb) {                                                              
400039ac:   16f90e63            beq s2,a5,40003b28 <jffs2_garbage_collect_pass+0x5c4>     
    jffs2_gc_release_inode(c, f);                                                         
400039b0:   00040593            mv  a1,s0                                                 
400039b4:   00048513            mv  a0,s1                                                 
400039b8:   ef4ff0ef            jal ra,400030ac <jffs2_gc_release_inode>                  
    if (jeb->dirty_size == gcblock_dirty && !ref_obsolete(jeb->gc_node)) {                
400039bc:   01892783            lw  a5,24(s2)                                             
400039c0:   00812703            lw  a4,8(sp)                                              
400039c4:   12e78c63            beq a5,a4,40003afc <jffs2_garbage_collect_pass+0x598>     
    if (c->gcblock && !c->gcblock->used_size) {                                           
400039c8:   05c4a783            lw  a5,92(s1)                                             
400039cc:   c60784e3            beqz    a5,40003634 <jffs2_garbage_collect_pass+0xd0>     
400039d0:   e01ff06f            j   400037d0 <jffs2_garbage_collect_pass+0x26c>           
    switch(ic->state) {                                                                   
400039d4:   00500793            li  a5,5                                                  <== NOT EXECUTED
400039d8:   00000d93            li  s11,0                                                 <== NOT EXECUTED
400039dc:   c4f40ce3            beq s0,a5,40003634 <jffs2_garbage_collect_pass+0xd0>      <== NOT EXECUTED
400039e0:   fa1ff06f            j   40003980 <jffs2_garbage_collect_pass+0x41c>           <== NOT EXECUTED
        pr_crit("Inode #%u already in state %d in jffs2_garbage_collect_pass()!\n",       
400039e4:   00caa583            lw  a1,12(s5)                                             <== NOT EXECUTED
400039e8:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
400039ec:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
400039f0:   6b850513            addi    a0,a0,1720 # 4001d6b8 <rtems_jffs2_ops+0x530>     <== NOT EXECUTED
400039f4:   f40ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
400039f8:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
400039fc:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40003a00:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003a04:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40003a08:   d6460613            addi    a2,a2,-668 # 4001dd64 <__func__.4>                <== NOT EXECUTED
40003a0c:   18d00593            li  a1,397                                                <== NOT EXECUTED
40003a10:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40003a14:   08d090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        if (ref_flags(raw) == REF_PRISTINE) {                                             
40003a18:   00200713            li  a4,2                                                  <== NOT EXECUTED
40003a1c:   04e78263            beq a5,a4,40003a60 <jffs2_garbage_collect_pass+0x4fc>     <== NOT EXECUTED
            jffs2_mark_node_obsolete(c, raw);                                             
40003a20:   00098593            mv  a1,s3                                                 <== NOT EXECUTED
40003a24:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40003a28:   074020ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
    int ret = 0, inum, nlink;                                                             
40003a2c:   00000d93            li  s11,0                                                 <== NOT EXECUTED
40003a30:   f99ff06f            j   400039c8 <jffs2_garbage_collect_pass+0x464>           <== NOT EXECUTED
            ic->state = INO_STATE_GC;                                                     
40003a34:   00ea9523            sh  a4,10(s5)                                             
        ret = jffs2_garbage_collect_pristine(c, ic, raw);                                 
40003a38:   00098613            mv  a2,s3                                                 
40003a3c:   000a8593            mv  a1,s5                                                 
40003a40:   00048513            mv  a0,s1                                                 
40003a44:   f30ff0ef            jal ra,40003174 <jffs2_garbage_collect_pristine>          
        if (ret != -EBADFD) {                                                             
40003a48:   ffff87b7            lui a5,0xffff8                                            
        ic->state = INO_STATE_CHECKEDABSENT;                                              
40003a4c:   008a9523            sh  s0,10(s5)                                             
        if (ret != -EBADFD) {                                                             
40003a50:   00178793            addi    a5,a5,1 # ffff8001 <RamEnd+0xbeff8001>            
        ret = jffs2_garbage_collect_pristine(c, ic, raw);                                 
40003a54:   00050d93            mv  s11,a0                                                
        if (ret != -EBADFD) {                                                             
40003a58:   f6f512e3            bne a0,a5,400039bc <jffs2_garbage_collect_pass+0x458>     
40003a5c:   f25ff06f            j   40003980 <jffs2_garbage_collect_pass+0x41c>           <== NOT EXECUTED
            jffs2_garbage_collect_pristine(c, NULL, raw);                                 
40003a60:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40003a64:   00000593            li  a1,0                                                  <== NOT EXECUTED
40003a68:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40003a6c:   f08ff0ef            jal ra,40003174 <jffs2_garbage_collect_pristine>          <== NOT EXECUTED
    int ret = 0, inum, nlink;                                                             
40003a70:   00000d93            li  s11,0                                                 <== NOT EXECUTED
40003a74:   f55ff06f            j   400039c8 <jffs2_garbage_collect_pass+0x464>           <== NOT EXECUTED
            BUG();                                                                        
40003a78:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40003a7c:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40003a80:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003a84:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40003a88:   d6460613            addi    a2,a2,-668 # 4001dd64 <__func__.4>                <== NOT EXECUTED
40003a8c:   0e400593            li  a1,228                                                <== NOT EXECUTED
40003a90:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40003a94:   00d090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
40003a98:   00088793            mv  a5,a7                                                 <== NOT EXECUTED
40003a9c:   e45ff06f            j   400038e0 <jffs2_garbage_collect_pass+0x37c>           <== NOT EXECUTED
            pr_warn("Inode #%u is in state %d during CRC check phase!\n",                 
40003aa0:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003aa4:   53050513            addi    a0,a0,1328 # 4001d530 <rtems_jffs2_ops+0x3a8>     <== NOT EXECUTED
40003aa8:   e8cff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            BUG();                                                                        
40003aac:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40003ab0:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40003ab4:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003ab8:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40003abc:   d6460613            addi    a2,a2,-668 # 4001dd64 <__func__.4>                <== NOT EXECUTED
40003ac0:   0d300593            li  a1,211                                                <== NOT EXECUTED
40003ac4:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40003ac8:   7d8090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        pr_warn("Eep. ret->gc_node for block at 0x%08x is NULL\n",                        
40003acc:   00c92583            lw  a1,12(s2)                                             <== NOT EXECUTED
40003ad0:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003ad4:   5e050513            addi    a0,a0,1504 # 4001d5e0 <rtems_jffs2_ops+0x458>     <== NOT EXECUTED
40003ad8:   e5cff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
40003adc:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40003ae0:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40003ae4:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003ae8:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40003aec:   d5060613            addi    a2,a2,-688 # 4001dd50 <__func__.3>                <== NOT EXECUTED
40003af0:   06a00593            li  a1,106                                                <== NOT EXECUTED
40003af4:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40003af8:   7a8090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    if (jeb->dirty_size == gcblock_dirty && !ref_obsolete(jeb->gc_node)) {                
40003afc:   03092703            lw  a4,48(s2)                                             <== NOT EXECUTED
40003b00:   00100793            li  a5,1                                                  <== NOT EXECUTED
40003b04:   00472583            lw  a1,4(a4)                                              <== NOT EXECUTED
40003b08:   0035f713            andi    a4,a1,3                                           <== NOT EXECUTED
40003b0c:   eaf70ee3            beq a4,a5,400039c8 <jffs2_garbage_collect_pass+0x464>     <== NOT EXECUTED
        pr_err("Error garbage collecting node at %08x!\n",                                
40003b10:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40003b14:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40003b18:   c8850513            addi    a0,a0,-888 # 4001dc88 <rtems_jffs2_ops+0xb00>     <== NOT EXECUTED
40003b1c:   e18ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        ret = -ENOSPC;                                                                    
40003b20:   fe400d93            li  s11,-28                                               <== NOT EXECUTED
40003b24:   ea5ff06f            j   400039c8 <jffs2_garbage_collect_pass+0x464>           <== NOT EXECUTED
    if (ref_obsolete(raw)) {                                                              
40003b28:   0049a783            lw  a5,4(s3)                                              
40003b2c:   00100713            li  a4,1                                                  
40003b30:   0037f793            andi    a5,a5,3                                           
40003b34:   e6e78ee3            beq a5,a4,400039b0 <jffs2_garbage_collect_pass+0x44c>     
    if (f->metadata && f->metadata->raw == raw) {                                         
40003b38:   00852a83            lw  s5,8(a0)                                              
40003b3c:   000a8663            beqz    s5,40003b48 <jffs2_garbage_collect_pass+0x5e4>    
40003b40:   000aa783            lw  a5,0(s5)                                              
40003b44:   24f98ae3            beq s3,a5,40004598 <jffs2_garbage_collect_pass+0x1034>    
    for (frag = frag_first(&f->fragtree); frag; frag = frag_next(frag)) {                 
40003b48:   00440b13            addi    s6,s0,4                                           
  return _RBTree_Predecessor( node );                                                     
}                                                                                         
                                                                                          
static inline struct rb_node *rb_first( struct rb_root *root )                            
{                                                                                         
  return _RBTree_Minimum( (RBTree_Control *) root );                                      
40003b4c:   000b0513            mv  a0,s6                                                 
40003b50:   291100ef            jal ra,400145e0 <_RBTree_Minimum>                         
40003b54:   00050b93            mv  s7,a0                                                 
                                                                                          
static inline struct jffs2_node_frag *frag_first(struct rb_root *root)                    
{                                                                                         
    struct rb_node *node = rb_first(root);                                                
                                                                                          
    if (!node)                                                                            
40003b58:   04050e63            beqz    a0,40003bb4 <jffs2_garbage_collect_pass+0x650>    
40003b5c:   00000a93            li  s5,0                                                  
40003b60:   00000c13            li  s8,0                                                  
40003b64:   0140006f            j   40003b78 <jffs2_garbage_collect_pass+0x614>           
  return _RBTree_Successor( node );                                                       
40003b68:   000b8513            mv  a0,s7                                                 
40003b6c:   2b5100ef            jal ra,40014620 <_RBTree_Successor>                       
40003b70:   00050b93            mv  s7,a0                                                 
40003b74:   04050e63            beqz    a0,40003bd0 <jffs2_garbage_collect_pass+0x66c>    <== NEVER TAKEN
        if (frag->node && frag->node->raw == raw) {                                       
40003b78:   010ba783            lw  a5,16(s7)                                             
40003b7c:   fe0786e3            beqz    a5,40003b68 <jffs2_garbage_collect_pass+0x604>    <== NEVER TAKEN
40003b80:   0007a703            lw  a4,0(a5)                                              
40003b84:   fee992e3            bne s3,a4,40003b68 <jffs2_garbage_collect_pass+0x604>     
            end = frag->ofs + frag->size;                                                 
40003b88:   018ba683            lw  a3,24(s7)                                             
40003b8c:   014ba803            lw  a6,20(s7)                                             
            if (!nrfrags++)                                                               
40003b90:   001c0713            addi    a4,s8,1                                           
            end = frag->ofs + frag->size;                                                 
40003b94:   01068d33            add s10,a3,a6                                             
            if (!nrfrags++)                                                               
40003b98:   000c1463            bnez    s8,40003ba0 <jffs2_garbage_collect_pass+0x63c>    <== NEVER TAKEN
                start = frag->ofs;                                                        
40003b9c:   00068a93            mv  s5,a3                                                 
            if (nrfrags == frag->node->frags)                                             
40003ba0:   00c7a683            lw  a3,12(a5)                                             
40003ba4:   4ad708e3            beq a4,a3,40004854 <jffs2_garbage_collect_pass+0x12f0>    
40003ba8:   00070c13            mv  s8,a4                                                 <== NOT EXECUTED
40003bac:   00078a13            mv  s4,a5                                                 <== NOT EXECUTED
40003bb0:   fb9ff06f            j   40003b68 <jffs2_garbage_collect_pass+0x604>           <== NOT EXECUTED
    for (fd = f->dents; fd; fd=fd->next) {                                                
40003bb4:   00c42783            lw  a5,12(s0)                                             
40003bb8:   00078a13            mv  s4,a5                                                 
40003bbc:   1e0a0a63            beqz    s4,40003db0 <jffs2_garbage_collect_pass+0x84c>    <== NEVER TAKEN
        if (fd->raw == raw)                                                               
40003bc0:   000a2583            lw  a1,0(s4)                                              
40003bc4:   1cb98663            beq s3,a1,40003d90 <jffs2_garbage_collect_pass+0x82c>     
    for (fd = f->dents; fd; fd=fd->next) {                                                
40003bc8:   004a2a03            lw  s4,4(s4)                                              
40003bcc:   ff1ff06f            j   40003bbc <jffs2_garbage_collect_pass+0x658>           
    if (fn) {                                                                             
40003bd0:   fe0a02e3            beqz    s4,40003bb4 <jffs2_garbage_collect_pass+0x650>    <== NOT EXECUTED
        if (ref_flags(raw) == REF_PRISTINE) {                                             
40003bd4:   0049a783            lw  a5,4(s3)                                              
40003bd8:   00200713            li  a4,2                                                  
40003bdc:   0037f793            andi    a5,a5,3                                           
40003be0:   12e784e3            beq a5,a4,40004508 <jffs2_garbage_collect_pass+0xfa4>     
        if((start >> PAGE_SHIFT) < ((end-1) >> PAGE_SHIFT)) {                             
40003be4:   fffd0c13            addi    s8,s10,-1                                         
40003be8:   00cad793            srli    a5,s5,0xc                                         
40003bec:   00cc5713            srli    a4,s8,0xc                                         
40003bf0:   60e7f263            bgeu    a5,a4,400041f4 <jffs2_garbage_collect_pass+0xc90> 
    int ret;                                                                              
                                                                                          
    jffs2_dbg(1, "Writing replacement hole node for ino #%u from offset 0x%x to 0x%x\n",  
          f->inocache->ino, start, end);                                                  
                                                                                          
    memset(&ri, 0, sizeof(ri));                                                           
40003bf4:   02c10993            addi    s3,sp,44                                          <== NOT EXECUTED
40003bf8:   04400613            li  a2,68                                                 <== NOT EXECUTED
40003bfc:   00000593            li  a1,0                                                  <== NOT EXECUTED
40003c00:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40003c04:   514180ef            jal ra,4001c118 <memset>                                  <== NOT EXECUTED
                                                                                          
    if(fn->frags > 1) {                                                                   
40003c08:   00ca2783            lw  a5,12(s4)                                             <== NOT EXECUTED
40003c0c:   00100c13            li  s8,1                                                  <== NOT EXECUTED
    memset(&ri, 0, sizeof(ri));                                                           
40003c10:   04400c93            li  s9,68                                                 <== NOT EXECUTED
40003c14:   02810b93            addi    s7,sp,40                                          <== NOT EXECUTED
    if(fn->frags > 1) {                                                                   
40003c18:   4efc7463            bgeu    s8,a5,40004100 <jffs2_garbage_collect_pass+0xb9c> <== NOT EXECUTED
        size_t readlen;                                                                   
        uint32_t crc;                                                                     
        /* It's partially obsoleted by a later write. So we have to                       
           write it out again with the _same_ version as before */                        
        ret = jffs2_flash_read(c, ref_offset(fn->raw), sizeof(ri), &readlen, (char *)&ri);
40003c1c:   000a2783            lw  a5,0(s4)                                              <== NOT EXECUTED
40003c20:   02810b93            addi    s7,sp,40                                          <== NOT EXECUTED
40003c24:   04400613            li  a2,68                                                 <== NOT EXECUTED
40003c28:   0047a583            lw  a1,4(a5)                                              <== NOT EXECUTED
40003c2c:   00098713            mv  a4,s3                                                 <== NOT EXECUTED
40003c30:   000b8693            mv  a3,s7                                                 <== NOT EXECUTED
40003c34:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40003c38:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40003c3c:   53d070ef            jal ra,4000b978 <jffs2_flash_read>                        <== NOT EXECUTED
        if (readlen != sizeof(ri) || ret) {                                               
40003c40:   02812603            lw  a2,40(sp)                                             <== NOT EXECUTED
        ret = jffs2_flash_read(c, ref_offset(fn->raw), sizeof(ri), &readlen, (char *)&ri);
40003c44:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
        if (readlen != sizeof(ri) || ret) {                                               
40003c48:   59961e63            bne a2,s9,400041e4 <jffs2_garbage_collect_pass+0xc80>     <== NOT EXECUTED
40003c4c:   58051c63            bnez    a0,400041e4 <jffs2_garbage_collect_pass+0xc80>    <== NOT EXECUTED
            pr_warn("Node read failed in jffs2_garbage_collect_hole. Ret %d, retlen %zd. Data will be lost by writing new hole node\n",
                ret, readlen);                                                            
            goto fill;                                                                    
        }                                                                                 
        if (je16_to_cpu(ri.nodetype) != JFFS2_NODETYPE_INODE) {                           
40003c50:   02e15683            lhu a3,46(sp)                                             <== NOT EXECUTED
40003c54:   0000e737            lui a4,0xe                                                <== NOT EXECUTED
40003c58:   00270713            addi    a4,a4,2 # e002 <bsp_section_rodata_size+0x8f2e>   <== NOT EXECUTED
40003c5c:   56e69063            bne a3,a4,400041bc <jffs2_garbage_collect_pass+0xc58>     <== NOT EXECUTED
            pr_warn("%s(): Node at 0x%08x had node type 0x%04x instead of JFFS2_NODETYPE_INODE(0x%04x)\n",
                __func__, ref_offset(fn->raw),                                            
                je16_to_cpu(ri.nodetype), JFFS2_NODETYPE_INODE);                          
            return -EIO;                                                                  
        }                                                                                 
        if (je32_to_cpu(ri.totlen) != sizeof(ri)) {                                       
40003c60:   03012683            lw  a3,48(sp)                                             <== NOT EXECUTED
40003c64:   52c69663            bne a3,a2,40004190 <jffs2_garbage_collect_pass+0xc2c>     <== NOT EXECUTED
            pr_warn("%s(): Node at 0x%08x had totlen 0x%x instead of expected 0x%zx\n",   
                __func__, ref_offset(fn->raw),                                            
                je32_to_cpu(ri.totlen), sizeof(ri));                                      
            return -EIO;                                                                  
        }                                                                                 
        crc = crc32(0, &ri, sizeof(ri)-8);                                                
40003c68:   03c00613            li  a2,60                                                 <== NOT EXECUTED
40003c6c:   00098593            mv  a1,s3                                                 <== NOT EXECUTED
40003c70:   021060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
        if (crc != je32_to_cpu(ri.node_crc)) {                                            
40003c74:   06c12683            lw  a3,108(sp)                                            <== NOT EXECUTED
        crc = crc32(0, &ri, sizeof(ri)-8);                                                
40003c78:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
        if (crc != je32_to_cpu(ri.node_crc)) {                                            
40003c7c:   4ed51863            bne a0,a3,4000416c <jffs2_garbage_collect_pass+0xc08>     <== NOT EXECUTED
            /* FIXME: We could possibly deal with this by writing new holes for each frag */
            pr_warn("Data in the range 0x%08x to 0x%08x of inode #%u will be lost\n",     
                start, end, f->inocache->ino);                                            
            goto fill;                                                                    
        }                                                                                 
        if (ri.compr != JFFS2_COMPR_ZERO) {                                               
40003c80:   06414783            lbu a5,100(sp)                                            <== NOT EXECUTED
40003c84:   45879063            bne a5,s8,400040c4 <jffs2_garbage_collect_pass+0xb60>     <== NOT EXECUTED
}                                                                                         
                                                                                          
static inline struct rb_node *rb_last( struct rb_root *root )                             
{                                                                                         
  return _RBTree_Maximum( (RBTree_Control *) root );                                      
40003c88:   000b0513            mv  a0,s6                                                 <== NOT EXECUTED
40003c8c:   175100ef            jal ra,40014600 <_RBTree_Maximum>                         <== NOT EXECUTED
                                                                                          
static inline struct jffs2_node_frag *frag_last(struct rb_root *root)                     
{                                                                                         
    struct rb_node *node = rb_last(root);                                                 
                                                                                          
    if (!node)                                                                            
40003c90:   42050663            beqz    a0,400040bc <jffs2_garbage_collect_pass+0xb58>    <== NOT EXECUTED
                                                                                          
    frag = frag_last(&f->fragtree);                                                       
    if (frag)                                                                             
        /* Fetch the inode length from the fragtree rather then                           
         * from i_size since i_size may have not been updated yet */                      
        ilen = frag->ofs + frag->size;                                                    
40003c94:   01852703            lw  a4,24(a0)                                             <== NOT EXECUTED
40003c98:   01452783            lw  a5,20(a0)                                             <== NOT EXECUTED
40003c9c:   00f707b3            add a5,a4,a5                                              <== NOT EXECUTED
  return osmode & (S_IFMT | S_IRWXU | S_IRWXG | S_IRWXO);                                 
40003ca0:   fc042703            lw  a4,-64(s0)                                            <== NOT EXECUTED
    else                                                                                  
        ilen = JFFS2_F_I_SIZE(f);                                                         
                                                                                          
    ri.mode = cpu_to_jemode(JFFS2_F_I_MODE(f));                                           
    ri.uid = cpu_to_je16(JFFS2_F_I_UID(f));                                               
40003ca4:   fc645e83            lhu t4,-58(s0)                                            <== NOT EXECUTED
    ri.gid = cpu_to_je16(JFFS2_F_I_GID(f));                                               
40003ca8:   fc845e03            lhu t3,-56(s0)                                            <== NOT EXECUTED
    ri.isize = cpu_to_je32(ilen);                                                         
    ri.atime = cpu_to_je32(JFFS2_F_I_ATIME(f));                                           
40003cac:   fd042303            lw  t1,-48(s0)                                            <== NOT EXECUTED
    ri.ctime = cpu_to_je32(JFFS2_F_I_CTIME(f));                                           
40003cb0:   fe042883            lw  a7,-32(s0)                                            <== NOT EXECUTED
    ri.mtime = cpu_to_je32(JFFS2_F_I_MTIME(f));                                           
40003cb4:   fd842803            lw  a6,-40(s0)                                            <== NOT EXECUTED
40003cb8:   0000f6b7            lui a3,0xf                                                <== NOT EXECUTED
40003cbc:   1ff68693            addi    a3,a3,511 # f1ff <bsp_section_rodata_size+0xa12b> <== NOT EXECUTED
40003cc0:   00d77733            and a4,a4,a3                                              <== NOT EXECUTED
    ri.data_crc = cpu_to_je32(0);                                                         
    ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                               
40003cc4:   03c00613            li  a2,60                                                 <== NOT EXECUTED
40003cc8:   00098593            mv  a1,s3                                                 <== NOT EXECUTED
40003ccc:   00000513            li  a0,0                                                  <== NOT EXECUTED
    ri.mode = cpu_to_jemode(JFFS2_F_I_MODE(f));                                           
40003cd0:   04e12023            sw  a4,64(sp)                                             <== NOT EXECUTED
    ri.uid = cpu_to_je16(JFFS2_F_I_UID(f));                                               
40003cd4:   05d11223            sh  t4,68(sp)                                             <== NOT EXECUTED
    ri.gid = cpu_to_je16(JFFS2_F_I_GID(f));                                               
40003cd8:   05c11323            sh  t3,70(sp)                                             <== NOT EXECUTED
    ri.isize = cpu_to_je32(ilen);                                                         
40003cdc:   04f12423            sw  a5,72(sp)                                             <== NOT EXECUTED
    ri.atime = cpu_to_je32(JFFS2_F_I_ATIME(f));                                           
40003ce0:   04612623            sw  t1,76(sp)                                             <== NOT EXECUTED
    ri.ctime = cpu_to_je32(JFFS2_F_I_CTIME(f));                                           
40003ce4:   05112a23            sw  a7,84(sp)                                             <== NOT EXECUTED
    ri.mtime = cpu_to_je32(JFFS2_F_I_MTIME(f));                                           
40003ce8:   05012823            sw  a6,80(sp)                                             <== NOT EXECUTED
    ri.data_crc = cpu_to_je32(0);                                                         
40003cec:   06012423            sw  zero,104(sp)                                          <== NOT EXECUTED
    ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                               
40003cf0:   7a0060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
40003cf4:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
                                                                                          
    ret = jffs2_reserve_space_gc(c, sizeof(ri), &alloclen,                                
40003cf8:   01200693            li  a3,18                                                 <== NOT EXECUTED
40003cfc:   000b8613            mv  a2,s7                                                 <== NOT EXECUTED
40003d00:   04400593            li  a1,68                                                 <== NOT EXECUTED
40003d04:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
    ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                               
40003d08:   06f12623            sw  a5,108(sp)                                            <== NOT EXECUTED
    ret = jffs2_reserve_space_gc(c, sizeof(ri), &alloclen,                                
40003d0c:   50c020ef            jal ra,40006218 <jffs2_reserve_space_gc>                  <== NOT EXECUTED
40003d10:   00050d93            mv  s11,a0                                                <== NOT EXECUTED
                     JFFS2_SUMMARY_INODE_SIZE);                                           
    if (ret) {                                                                            
40003d14:   38051863            bnez    a0,400040a4 <jffs2_garbage_collect_pass+0xb40>    <== NOT EXECUTED
        pr_warn("jffs2_reserve_space_gc of %zd bytes for garbage_collect_hole failed: %d\n",
            sizeof(ri), ret);                                                             
        return ret;                                                                       
    }                                                                                     
    new_fn = jffs2_write_dnode(c, f, &ri, NULL, 0, ALLOC_GC);                             
40003d18:   00200793            li  a5,2                                                  <== NOT EXECUTED
40003d1c:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40003d20:   00000713            li  a4,0                                                  <== NOT EXECUTED
40003d24:   00000693            li  a3,0                                                  <== NOT EXECUTED
40003d28:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40003d2c:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40003d30:   469040ef            jal ra,40008998 <jffs2_write_dnode>                       <== NOT EXECUTED
                                                                                          
    if (IS_ERR(new_fn)) {                                                                 
40003d34:   c1800793            li  a5,-1000                                              <== NOT EXECUTED
    new_fn = jffs2_write_dnode(c, f, &ri, NULL, 0, ALLOC_GC);                             
40003d38:   00050993            mv  s3,a0                                                 <== NOT EXECUTED
    if (IS_ERR(new_fn)) {                                                                 
40003d3c:   34a7e863            bltu    a5,a0,4000408c <jffs2_garbage_collect_pass+0xb28> <== NOT EXECUTED
        pr_warn("Error writing new hole node: %ld\n", PTR_ERR(new_fn));                   
        return PTR_ERR(new_fn);                                                           
    }                                                                                     
    if (je32_to_cpu(ri.version) == f->highest_version) {                                  
40003d40:   03c12703            lw  a4,60(sp)                                             <== NOT EXECUTED
40003d44:   00042783            lw  a5,0(s0)                                              <== NOT EXECUTED
40003d48:   30f70863            beq a4,a5,40004058 <jffs2_garbage_collect_pass+0xaf4>     <== NOT EXECUTED
                __func__, fn->frags, je32_to_cpu(ri.version),                             
                f->highest_version, je32_to_cpu(ri.ino));                                 
    });                                                                                   
                                                                                          
    /* This is a partially-overlapped hole node. Mark it REF_NORMAL not REF_PRISTINE */   
    mark_ref_normal(new_fn->raw);                                                         
40003d4c:   00052703            lw  a4,0(a0)                                              <== NOT EXECUTED
                                                                                          
    for (frag = jffs2_lookup_node_frag(&f->fragtree, fn->ofs);                            
40003d50:   004a2583            lw  a1,4(s4)                                              <== NOT EXECUTED
40003d54:   000b0513            mv  a0,s6                                                 <== NOT EXECUTED
    mark_ref_normal(new_fn->raw);                                                         
40003d58:   00472783            lw  a5,4(a4)                                              <== NOT EXECUTED
40003d5c:   0037e793            ori a5,a5,3                                               <== NOT EXECUTED
40003d60:   00f72223            sw  a5,4(a4)                                              <== NOT EXECUTED
    for (frag = jffs2_lookup_node_frag(&f->fragtree, fn->ofs);                            
40003d64:   71c010ef            jal ra,40005480 <jffs2_lookup_node_frag>                  <== NOT EXECUTED
40003d68:   0a050463            beqz    a0,40003e10 <jffs2_garbage_collect_pass+0x8ac>    <== NOT EXECUTED
         frag; frag = frag_next(frag)) {                                                  
        if (frag->ofs > fn->size + fn->ofs)                                               
40003d6c:   008a2783            lw  a5,8(s4)                                              <== NOT EXECUTED
40003d70:   004a2683            lw  a3,4(s4)                                              <== NOT EXECUTED
40003d74:   01852703            lw  a4,24(a0)                                             <== NOT EXECUTED
40003d78:   00d787b3            add a5,a5,a3                                              <== NOT EXECUTED
40003d7c:   08e7ea63            bltu    a5,a4,40003e10 <jffs2_garbage_collect_pass+0x8ac> <== NOT EXECUTED
            break;                                                                        
        if (frag->node == fn) {                                                           
40003d80:   01052783            lw  a5,16(a0)                                             <== NOT EXECUTED
40003d84:   07478663            beq a5,s4,40003df0 <jffs2_garbage_collect_pass+0x88c>     <== NOT EXECUTED
  return _RBTree_Successor( node );                                                       
40003d88:   099100ef            jal ra,40014620 <_RBTree_Successor>                       <== NOT EXECUTED
40003d8c:   fddff06f            j   40003d68 <jffs2_garbage_collect_pass+0x804>           <== NOT EXECUTED
    if (fd && fd->ino) {                                                                  
40003d90:   00ca2703            lw  a4,12(s4)                                             
40003d94:   0a071263            bnez    a4,40003e38 <jffs2_garbage_collect_pass+0x8d4>    <== ALWAYS TAKEN
    struct jffs2_full_dirent **fdp = &f->dents;                                           
40003d98:   00c40713            addi    a4,s0,12                                          <== NOT EXECUTED
    while (*fdp) {                                                                        
40003d9c:   20078463            beqz    a5,40003fa4 <jffs2_garbage_collect_pass+0xa40>    <== NOT EXECUTED
        if ((*fdp) == fd) {                                                               
40003da0:   1efa0263            beq s4,a5,40003f84 <jffs2_garbage_collect_pass+0xa20>     <== NOT EXECUTED
        fdp = &(*fdp)->next;                                                              
40003da4:   00478713            addi    a4,a5,4                                           <== NOT EXECUTED
40003da8:   0047a783            lw  a5,4(a5)                                              <== NOT EXECUTED
40003dac:   ff1ff06f            j   40003d9c <jffs2_garbage_collect_pass+0x838>           <== NOT EXECUTED
        pr_warn("Raw node at 0x%08x wasn't in node lists for ino #%u\n",                  
40003db0:   01442783            lw  a5,20(s0)                                             <== NOT EXECUTED
40003db4:   0049a583            lw  a1,4(s3)                                              <== NOT EXECUTED
40003db8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40003dbc:   00c7a603            lw  a2,12(a5)                                             <== NOT EXECUTED
40003dc0:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40003dc4:   cbc50513            addi    a0,a0,-836 # 4001dcbc <rtems_jffs2_ops+0xb34>     <== NOT EXECUTED
40003dc8:   b6cff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        if (ref_obsolete(raw)) {                                                          
40003dcc:   0049a783            lw  a5,4(s3)                                              <== NOT EXECUTED
40003dd0:   00100713            li  a4,1                                                  <== NOT EXECUTED
40003dd4:   0037f793            andi    a5,a5,3                                           <== NOT EXECUTED
40003dd8:   18e79063            bne a5,a4,40003f58 <jffs2_garbage_collect_pass+0x9f4>     <== NOT EXECUTED
            pr_warn("But it's obsolete so we don't mind too much\n");                     
40003ddc:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40003de0:   c5050513            addi    a0,a0,-944 # 4001dc50 <rtems_jffs2_ops+0xac8>     <== NOT EXECUTED
40003de4:   b50ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
    int ret = 0;                                                                          
40003de8:   00000d93            li  s11,0                                                 <== NOT EXECUTED
40003dec:   bc5ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
            frag->node = new_fn;                                                          
            new_fn->frags++;                                                              
40003df0:   00c9a783            lw  a5,12(s3)                                             <== NOT EXECUTED
            frag->node = new_fn;                                                          
40003df4:   01352823            sw  s3,16(a0)                                             <== NOT EXECUTED
            new_fn->frags++;                                                              
40003df8:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
40003dfc:   00f9a623            sw  a5,12(s3)                                             <== NOT EXECUTED
            fn->frags--;                                                                  
40003e00:   00ca2783            lw  a5,12(s4)                                             <== NOT EXECUTED
40003e04:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
40003e08:   00fa2623            sw  a5,12(s4)                                             <== NOT EXECUTED
40003e0c:   f7dff06f            j   40003d88 <jffs2_garbage_collect_pass+0x824>           <== NOT EXECUTED
        }                                                                                 
    }                                                                                     
    if (fn->frags) {                                                                      
40003e10:   00ca2783            lw  a5,12(s4)                                             <== NOT EXECUTED
40003e14:   1e079063            bnez    a5,40003ff4 <jffs2_garbage_collect_pass+0xa90>    <== NOT EXECUTED
        pr_warn("%s(): Old node still has frags!\n", __func__);                           
        BUG();                                                                            
    }                                                                                     
    if (!new_fn->frags) {                                                                 
40003e18:   00c9a783            lw  a5,12(s3)                                             <== NOT EXECUTED
40003e1c:   1a078463            beqz    a5,40003fc4 <jffs2_garbage_collect_pass+0xa60>    <== NOT EXECUTED
        pr_warn("%s(): New node has no frags!\n", __func__);                              
        BUG();                                                                            
    }                                                                                     
                                                                                          
    jffs2_mark_node_obsolete(c, fn->raw);                                                 
40003e20:   000a2583            lw  a1,0(s4)                                              <== NOT EXECUTED
40003e24:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40003e28:   475010ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
    jffs2_free_full_dnode(fn);                                                            
40003e2c:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40003e30:   255000ef            jal ra,40004884 <jffs2_free_full_dnode>                   <== NOT EXECUTED
                                                                                          
    return 0;                                                                             
40003e34:   b7dff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
    rd.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                          
40003e38:   000027b7            lui a5,0x2                                                
40003e3c:   98578793            addi    a5,a5,-1659 # 1985 <_ISR_Stack_size+0x985>        
40003e40:   02f11623            sh  a5,44(sp)                                             
    rd.nsize = strlen(fd->name);                                                          
40003e44:   015a0a93            addi    s5,s4,21                                          
    rd.nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                     
40003e48:   ffffe7b7            lui a5,0xffffe                                            
40003e4c:   00178793            addi    a5,a5,1 # ffffe001 <RamEnd+0xbeffe001>            
    rd.nsize = strlen(fd->name);                                                          
40003e50:   000a8513            mv  a0,s5                                                 
    rd.nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                     
40003e54:   02f11723            sh  a5,46(sp)                                             
    rd.nsize = strlen(fd->name);                                                          
40003e58:   7d4180ef            jal ra,4001c62c <strlen>                                  
    rd.totlen = cpu_to_je32(sizeof(rd) + rd.nsize);                                       
40003e5c:   0ff57713            andi    a4,a0,255                                         
    rd.hdr_crc = cpu_to_je32(crc32(0, &rd, sizeof(struct jffs2_unknown_node)-4));         
40003e60:   02c10993            addi    s3,sp,44                                          
    rd.nsize = strlen(fd->name);                                                          
40003e64:   00050793            mv  a5,a0                                                 
    rd.totlen = cpu_to_je32(sizeof(rd) + rd.nsize);                                       
40003e68:   02870713            addi    a4,a4,40                                          
    rd.hdr_crc = cpu_to_je32(crc32(0, &rd, sizeof(struct jffs2_unknown_node)-4));         
40003e6c:   00800613            li  a2,8                                                  
40003e70:   00098593            mv  a1,s3                                                 
40003e74:   00000513            li  a0,0                                                  
    rd.nsize = strlen(fd->name);                                                          
40003e78:   04f10423            sb  a5,72(sp)                                             
    rd.totlen = cpu_to_je32(sizeof(rd) + rd.nsize);                                       
40003e7c:   02e12823            sw  a4,48(sp)                                             
    rd.hdr_crc = cpu_to_je32(crc32(0, &rd, sizeof(struct jffs2_unknown_node)-4));         
40003e80:   610060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    rd.pino = cpu_to_je32(f->inocache->ino);                                              
40003e84:   01442703            lw  a4,20(s0)                                             
    rd.version = cpu_to_je32(++f->highest_version);                                       
40003e88:   00042783            lw  a5,0(s0)                                              
    rd.ino = cpu_to_je32(fd->ino);                                                        
40003e8c:   00ca2603            lw  a2,12(s4)                                             
    rd.pino = cpu_to_je32(f->inocache->ino);                                              
40003e90:   00c72703            lw  a4,12(a4)                                             
    rd.version = cpu_to_je32(++f->highest_version);                                       
40003e94:   00178793            addi    a5,a5,1                                           
    if (JFFS2_F_I_MTIME(f) == JFFS2_F_I_CTIME(f))                                         
40003e98:   fd842683            lw  a3,-40(s0)                                            
    rd.pino = cpu_to_je32(f->inocache->ino);                                              
40003e9c:   02e12c23            sw  a4,56(sp)                                             
    rd.hdr_crc = cpu_to_je32(crc32(0, &rd, sizeof(struct jffs2_unknown_node)-4));         
40003ea0:   02a12a23            sw  a0,52(sp)                                             
    if (JFFS2_F_I_MTIME(f) == JFFS2_F_I_CTIME(f))                                         
40003ea4:   fe042703            lw  a4,-32(s0)                                            
    rd.version = cpu_to_je32(++f->highest_version);                                       
40003ea8:   00f42023            sw  a5,0(s0)                                              
40003eac:   02f12e23            sw  a5,60(sp)                                             
    rd.ino = cpu_to_je32(fd->ino);                                                        
40003eb0:   04c12023            sw  a2,64(sp)                                             
    if (JFFS2_F_I_MTIME(f) == JFFS2_F_I_CTIME(f))                                         
40003eb4:   fe442783            lw  a5,-28(s0)                                            
40003eb8:   0ce68063            beq a3,a4,40003f78 <jffs2_garbage_collect_pass+0xa14>     
40003ebc:   00000713            li  a4,0                                                  <== NOT EXECUTED
40003ec0:   04e12223            sw  a4,68(sp)                                             
    rd.type = fd->type;                                                                   
40003ec4:   014a4783            lbu a5,20(s4)                                             
    rd.node_crc = cpu_to_je32(crc32(0, &rd, sizeof(rd)-8));                               
40003ec8:   02000613            li  a2,32                                                 
40003ecc:   00098593            mv  a1,s3                                                 
40003ed0:   00000513            li  a0,0                                                  
    rd.type = fd->type;                                                                   
40003ed4:   04f104a3            sb  a5,73(sp)                                             
    rd.node_crc = cpu_to_je32(crc32(0, &rd, sizeof(rd)-8));                               
40003ed8:   5b8060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    rd.name_crc = cpu_to_je32(crc32(0, fd->name, rd.nsize));                              
40003edc:   04814603            lbu a2,72(sp)                                             
    rd.node_crc = cpu_to_je32(crc32(0, &rd, sizeof(rd)-8));                               
40003ee0:   00050793            mv  a5,a0                                                 
    rd.name_crc = cpu_to_je32(crc32(0, fd->name, rd.nsize));                              
40003ee4:   000a8593            mv  a1,s5                                                 
40003ee8:   00000513            li  a0,0                                                  
    rd.node_crc = cpu_to_je32(crc32(0, &rd, sizeof(rd)-8));                               
40003eec:   04f12623            sw  a5,76(sp)                                             
    rd.name_crc = cpu_to_je32(crc32(0, fd->name, rd.nsize));                              
40003ef0:   5a0060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    ret = jffs2_reserve_space_gc(c, sizeof(rd)+rd.nsize, &alloclen,                       
40003ef4:   04814583            lbu a1,72(sp)                                             
    rd.name_crc = cpu_to_je32(crc32(0, fd->name, rd.nsize));                              
40003ef8:   00050793            mv  a5,a0                                                 
    ret = jffs2_reserve_space_gc(c, sizeof(rd)+rd.nsize, &alloclen,                       
40003efc:   02810613            addi    a2,sp,40                                          
40003f00:   01858693            addi    a3,a1,24                                          
40003f04:   00048513            mv  a0,s1                                                 
40003f08:   02858593            addi    a1,a1,40                                          
    rd.name_crc = cpu_to_je32(crc32(0, fd->name, rd.nsize));                              
40003f0c:   04f12823            sw  a5,80(sp)                                             
    ret = jffs2_reserve_space_gc(c, sizeof(rd)+rd.nsize, &alloclen,                       
40003f10:   308020ef            jal ra,40006218 <jffs2_reserve_space_gc>                  
40003f14:   00050d93            mv  s11,a0                                                
    if (ret) {                                                                            
40003f18:   12051263            bnez    a0,4000403c <jffs2_garbage_collect_pass+0xad8>    <== NEVER TAKEN
    new_fd = jffs2_write_dirent(c, f, &rd, fd->name, rd.nsize, ALLOC_GC);                 
40003f1c:   04814703            lbu a4,72(sp)                                             
40003f20:   00200793            li  a5,2                                                  
40003f24:   00098613            mv  a2,s3                                                 
40003f28:   000a8693            mv  a3,s5                                                 
40003f2c:   00040593            mv  a1,s0                                                 
40003f30:   00048513            mv  a0,s1                                                 
40003f34:   6d9040ef            jal ra,40008e0c <jffs2_write_dirent>                      
    if (IS_ERR(new_fd)) {                                                                 
40003f38:   c1800793            li  a5,-1000                                              
    new_fd = jffs2_write_dirent(c, f, &rd, fd->name, rd.nsize, ALLOC_GC);                 
40003f3c:   00050993            mv  s3,a0                                                 
    if (IS_ERR(new_fd)) {                                                                 
40003f40:   0ea7e263            bltu    a5,a0,40004024 <jffs2_garbage_collect_pass+0xac0> 
    jffs2_add_fd_to_list(c, new_fd, &f->dents);                                           
40003f44:   00050593            mv  a1,a0                                                 
40003f48:   00c40613            addi    a2,s0,12                                          
40003f4c:   00048513            mv  a0,s1                                                 
40003f50:   3a9000ef            jal ra,40004af8 <jffs2_add_fd_to_list>                    
        ret = jffs2_garbage_collect_dirent(c, jeb, f, fd);                                
40003f54:   a5dff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           
            BUG();                                                                        
40003f58:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40003f5c:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40003f60:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003f64:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40003f68:   d3460613            addi    a2,a2,-716 # 4001dd34 <__func__.2>                <== NOT EXECUTED
40003f6c:   24800593            li  a1,584                                                <== NOT EXECUTED
40003f70:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40003f74:   32c090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    if (JFFS2_F_I_MTIME(f) == JFFS2_F_I_CTIME(f))                                         
40003f78:   fdc42683            lw  a3,-36(s0)                                            
40003f7c:   f4f690e3            bne a3,a5,40003ebc <jffs2_garbage_collect_pass+0x958>     
40003f80:   f41ff06f            j   40003ec0 <jffs2_garbage_collect_pass+0x95c>           
            *fdp = fd->next;                                                              
40003f84:   004a2783            lw  a5,4(s4)                                              <== NOT EXECUTED
40003f88:   00f72023            sw  a5,0(a4)                                              <== NOT EXECUTED
    jffs2_mark_node_obsolete(c, fd->raw);                                                 
40003f8c:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40003f90:   30d010ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
    jffs2_free_full_dirent(fd);                                                           
40003f94:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40003f98:   0e1000ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
        ret = jffs2_garbage_collect_deletion_dirent(c, jeb, f, fd);                       
40003f9c:   00000d93            li  s11,0                                                 <== NOT EXECUTED
40003fa0:   a11ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        pr_warn("Deletion dirent \"%s\" not found in list for ino #%u\n",                 
40003fa4:   01442783            lw  a5,20(s0)                                             <== NOT EXECUTED
40003fa8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40003fac:   015a0593            addi    a1,s4,21                                          <== NOT EXECUTED
40003fb0:   00c7a603            lw  a2,12(a5)                                             <== NOT EXECUTED
40003fb4:   c1050513            addi    a0,a0,-1008 # 4001dc10 <rtems_jffs2_ops+0xa88>    <== NOT EXECUTED
40003fb8:   97cff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
40003fbc:   000a2583            lw  a1,0(s4)                                              <== NOT EXECUTED
40003fc0:   fcdff06f            j   40003f8c <jffs2_garbage_collect_pass+0xa28>           <== NOT EXECUTED
        pr_warn("%s(): New node has no frags!\n", __func__);                              
40003fc4:   4001e437            lui s0,0x4001e                                            <== NOT EXECUTED
40003fc8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40003fcc:   d1840593            addi    a1,s0,-744 # 4001dd18 <__func__.1>                <== NOT EXECUTED
40003fd0:   ac450513            addi    a0,a0,-1340 # 4001dac4 <rtems_jffs2_ops+0x93c>    <== NOT EXECUTED
40003fd4:   960ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
40003fd8:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40003fdc:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40003fe0:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40003fe4:   d1840613            addi    a2,s0,-744                                        <== NOT EXECUTED
40003fe8:   48b00593            li  a1,1163                                               <== NOT EXECUTED
40003fec:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40003ff0:   2b0090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        pr_warn("%s(): Old node still has frags!\n", __func__);                           
40003ff4:   4001e437            lui s0,0x4001e                                            <== NOT EXECUTED
40003ff8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40003ffc:   d1840593            addi    a1,s0,-744 # 4001dd18 <__func__.1>                <== NOT EXECUTED
40004000:   a9850513            addi    a0,a0,-1384 # 4001da98 <rtems_jffs2_ops+0x910>    <== NOT EXECUTED
40004004:   930ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
40004008:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
4000400c:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40004010:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40004014:   d1840613            addi    a2,s0,-744                                        <== NOT EXECUTED
40004018:   48700593            li  a1,1159                                               <== NOT EXECUTED
4000401c:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40004020:   280090ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        pr_warn("jffs2_write_dirent in garbage_collect_dirent failed: %ld\n",             
40004024:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
40004028:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
4000402c:   bcc50513            addi    a0,a0,-1076 # 4001dbcc <rtems_jffs2_ops+0xa44>    <== NOT EXECUTED
40004030:   904ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        return PTR_ERR(new_fd);                                                           
40004034:   00098d93            mv  s11,s3                                                <== NOT EXECUTED
40004038:   979ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        pr_warn("jffs2_reserve_space_gc of %zd bytes for garbage_collect_dirent failed: %d\n",
4000403c:   04814583            lbu a1,72(sp)                                             <== NOT EXECUTED
40004040:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40004044:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40004048:   02858593            addi    a1,a1,40                                          <== NOT EXECUTED
4000404c:   b7450513            addi    a0,a0,-1164 # 4001db74 <rtems_jffs2_ops+0x9ec>    <== NOT EXECUTED
40004050:   8e4ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        return ret;                                                                       
40004054:   95dff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        jffs2_add_full_dnode_to_inode(c, f, new_fn);                                      
40004058:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000405c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40004060:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40004064:   515000ef            jal ra,40004d78 <jffs2_add_full_dnode_to_inode>           <== NOT EXECUTED
        if (f->metadata) {                                                                
40004068:   00842783            lw  a5,8(s0)                                              <== NOT EXECUTED
4000406c:   940782e3            beqz    a5,400039b0 <jffs2_garbage_collect_pass+0x44c>    <== NOT EXECUTED
            jffs2_mark_node_obsolete(c, f->metadata->raw);                                
40004070:   0007a583            lw  a1,0(a5)                                              <== NOT EXECUTED
40004074:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40004078:   225010ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
            jffs2_free_full_dnode(f->metadata);                                           
4000407c:   00842503            lw  a0,8(s0)                                              <== NOT EXECUTED
40004080:   005000ef            jal ra,40004884 <jffs2_free_full_dnode>                   <== NOT EXECUTED
            f->metadata = NULL;                                                           
40004084:   00042423            sw  zero,8(s0)                                            <== NOT EXECUTED
40004088:   929ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        pr_warn("Error writing new hole node: %ld\n", PTR_ERR(new_fn));                   
4000408c:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
40004090:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40004094:   a6c50513            addi    a0,a0,-1428 # 4001da6c <rtems_jffs2_ops+0x8e4>    <== NOT EXECUTED
40004098:   89cff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        return PTR_ERR(new_fn);                                                           
4000409c:   00098d93            mv  s11,s3                                                <== NOT EXECUTED
400040a0:   911ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        pr_warn("jffs2_reserve_space_gc of %zd bytes for garbage_collect_hole failed: %d\n",
400040a4:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400040a8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400040ac:   04400593            li  a1,68                                                 <== NOT EXECUTED
400040b0:   a1850513            addi    a0,a0,-1512 # 4001da18 <rtems_jffs2_ops+0x890>    <== NOT EXECUTED
400040b4:   880ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        return ret;                                                                       
400040b8:   8f9ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        ilen = JFFS2_F_I_SIZE(f);                                                         
400040bc:   ff042783            lw  a5,-16(s0)                                            <== NOT EXECUTED
400040c0:   be1ff06f            j   40003ca0 <jffs2_garbage_collect_pass+0x73c>           <== NOT EXECUTED
            pr_warn("%s(): Node 0x%08x wasn't a hole node!\n",                            
400040c4:   000a2783            lw  a5,0(s4)                                              <== NOT EXECUTED
400040c8:   4001e5b7            lui a1,0x4001e                                            <== NOT EXECUTED
400040cc:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400040d0:   0047a603            lw  a2,4(a5)                                              <== NOT EXECUTED
400040d4:   d1858593            addi    a1,a1,-744 # 4001dd18 <__func__.1>                <== NOT EXECUTED
400040d8:   9e450513            addi    a0,a0,-1564 # 4001d9e4 <rtems_jffs2_ops+0x85c>    <== NOT EXECUTED
400040dc:   ffc67613            andi    a2,a2,-4                                          <== NOT EXECUTED
400040e0:   854ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            pr_warn("Data in the range 0x%08x to 0x%08x of inode #%u will be lost\n",     
400040e4:   01442783            lw  a5,20(s0)                                             <== NOT EXECUTED
400040e8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400040ec:   000d0613            mv  a2,s10                                                <== NOT EXECUTED
400040f0:   00c7a683            lw  a3,12(a5)                                             <== NOT EXECUTED
400040f4:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
400040f8:   99c50513            addi    a0,a0,-1636 # 4001d99c <rtems_jffs2_ops+0x814>    <== NOT EXECUTED
400040fc:   838ff0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        ri.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                      
40004100:   000027b7            lui a5,0x2                                                <== NOT EXECUTED
40004104:   98578793            addi    a5,a5,-1659 # 1985 <_ISR_Stack_size+0x985>        <== NOT EXECUTED
40004108:   02f11623            sh  a5,44(sp)                                             <== NOT EXECUTED
        ri.nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                  
4000410c:   ffffe7b7            lui a5,0xffffe                                            <== NOT EXECUTED
40004110:   00278793            addi    a5,a5,2 # ffffe002 <RamEnd+0xbeffe002>            <== NOT EXECUTED
40004114:   02f11723            sh  a5,46(sp)                                             <== NOT EXECUTED
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
40004118:   00800613            li  a2,8                                                  <== NOT EXECUTED
        ri.totlen = cpu_to_je32(sizeof(ri));                                              
4000411c:   04400793            li  a5,68                                                 <== NOT EXECUTED
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
40004120:   00098593            mv  a1,s3                                                 <== NOT EXECUTED
40004124:   00000513            li  a0,0                                                  <== NOT EXECUTED
        ri.totlen = cpu_to_je32(sizeof(ri));                                              
40004128:   02f12823            sw  a5,48(sp)                                             <== NOT EXECUTED
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
4000412c:   364060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
        ri.ino = cpu_to_je32(f->inocache->ino);                                           
40004130:   01442703            lw  a4,20(s0)                                             <== NOT EXECUTED
        ri.version = cpu_to_je32(++f->highest_version);                                   
40004134:   00042783            lw  a5,0(s0)                                              <== NOT EXECUTED
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
40004138:   02a12a23            sw  a0,52(sp)                                             <== NOT EXECUTED
        ri.ino = cpu_to_je32(f->inocache->ino);                                           
4000413c:   00c72703            lw  a4,12(a4)                                             <== NOT EXECUTED
        ri.version = cpu_to_je32(++f->highest_version);                                   
40004140:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
        ri.dsize = cpu_to_je32(end - start);                                              
40004144:   415d0833            sub a6,s10,s5                                             <== NOT EXECUTED
        ri.ino = cpu_to_je32(f->inocache->ino);                                           
40004148:   02e12c23            sw  a4,56(sp)                                             <== NOT EXECUTED
        ri.version = cpu_to_je32(++f->highest_version);                                   
4000414c:   00f42023            sw  a5,0(s0)                                              <== NOT EXECUTED
40004150:   02f12e23            sw  a5,60(sp)                                             <== NOT EXECUTED
        ri.compr = JFFS2_COMPR_ZERO;                                                      
40004154:   00100793            li  a5,1                                                  <== NOT EXECUTED
        ri.offset = cpu_to_je32(start);                                                   
40004158:   05512c23            sw  s5,88(sp)                                             <== NOT EXECUTED
        ri.dsize = cpu_to_je32(end - start);                                              
4000415c:   07012023            sw  a6,96(sp)                                             <== NOT EXECUTED
        ri.csize = cpu_to_je32(0);                                                        
40004160:   04012e23            sw  zero,92(sp)                                           <== NOT EXECUTED
        ri.compr = JFFS2_COMPR_ZERO;                                                      
40004164:   06f10223            sb  a5,100(sp)                                            <== NOT EXECUTED
40004168:   b21ff06f            j   40003c88 <jffs2_garbage_collect_pass+0x724>           <== NOT EXECUTED
            pr_warn("%s: Node at 0x%08x had CRC 0x%08x which doesn't match calculated CRC 0x%08x\n",
4000416c:   000a2783            lw  a5,0(s4)                                              <== NOT EXECUTED
40004170:   4001e5b7            lui a1,0x4001e                                            <== NOT EXECUTED
40004174:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40004178:   0047a603            lw  a2,4(a5)                                              <== NOT EXECUTED
4000417c:   d1858593            addi    a1,a1,-744 # 4001dd18 <__func__.1>                <== NOT EXECUTED
40004180:   94450513            addi    a0,a0,-1724 # 4001d944 <rtems_jffs2_ops+0x7bc>    <== NOT EXECUTED
40004184:   ffc67613            andi    a2,a2,-4                                          <== NOT EXECUTED
40004188:   fadfe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            pr_warn("Data in the range 0x%08x to 0x%08x of inode #%u will be lost\n",     
4000418c:   f59ff06f            j   400040e4 <jffs2_garbage_collect_pass+0xb80>           <== NOT EXECUTED
            pr_warn("%s(): Node at 0x%08x had totlen 0x%x instead of expected 0x%zx\n",   
40004190:   000a2783            lw  a5,0(s4)                                              <== NOT EXECUTED
40004194:   4001e5b7            lui a1,0x4001e                                            <== NOT EXECUTED
40004198:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
4000419c:   0047a603            lw  a2,4(a5)                                              <== NOT EXECUTED
400041a0:   04400713            li  a4,68                                                 <== NOT EXECUTED
400041a4:   d1858593            addi    a1,a1,-744 # 4001dd18 <__func__.1>                <== NOT EXECUTED
400041a8:   ffc67613            andi    a2,a2,-4                                          <== NOT EXECUTED
400041ac:   8f850513            addi    a0,a0,-1800 # 4001d8f8 <rtems_jffs2_ops+0x770>    <== NOT EXECUTED
400041b0:   f85fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            return -EIO;                                                                  
400041b4:   ffb00d93            li  s11,-5                                                <== NOT EXECUTED
400041b8:   ff8ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
            pr_warn("%s(): Node at 0x%08x had node type 0x%04x instead of JFFS2_NODETYPE_INODE(0x%04x)\n",
400041bc:   000a2783            lw  a5,0(s4)                                              <== NOT EXECUTED
400041c0:   4001e5b7            lui a1,0x4001e                                            <== NOT EXECUTED
400041c4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400041c8:   0047a603            lw  a2,4(a5)                                              <== NOT EXECUTED
400041cc:   d1858593            addi    a1,a1,-744 # 4001dd18 <__func__.1>                <== NOT EXECUTED
400041d0:   89850513            addi    a0,a0,-1896 # 4001d898 <rtems_jffs2_ops+0x710>    <== NOT EXECUTED
400041d4:   ffc67613            andi    a2,a2,-4                                          <== NOT EXECUTED
400041d8:   f5dfe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            return -EIO;                                                                  
400041dc:   ffb00d93            li  s11,-5                                                <== NOT EXECUTED
400041e0:   fd0ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
            pr_warn("Node read failed in jffs2_garbage_collect_hole. Ret %d, retlen %zd. Data will be lost by writing new hole node\n",
400041e4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400041e8:   81c50513            addi    a0,a0,-2020 # 4001d81c <rtems_jffs2_ops+0x694>    <== NOT EXECUTED
400041ec:   f49fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            goto fill;                                                                    
400041f0:   f11ff06f            j   40004100 <jffs2_garbage_collect_pass+0xb9c>           <== NOT EXECUTED
    int ret = 0;                                                                          
    unsigned char *comprbuf = NULL, *writebuf;                                            
    unsigned long pg;                                                                     
    unsigned char *pg_ptr;                                                                
                                                                                          
    memset(&ri, 0, sizeof(ri));                                                           
400041f4:   02c10993            addi    s3,sp,44                                          
400041f8:   04400613            li  a2,68                                                 
400041fc:   00000593            li  a1,0                                                  
40004200:   00098513            mv  a0,s3                                                 
    unsigned char *comprbuf = NULL, *writebuf;                                            
40004204:   00012e23            sw  zero,28(sp)                                           
    memset(&ri, 0, sizeof(ri));                                                           
40004208:   711170ef            jal ra,4001c118 <memset>                                  
          f->inocache->ino, start, end);                                                  
                                                                                          
    orig_end = end;                                                                       
    orig_start = start;                                                                   
                                                                                          
    if (c->nr_free_blocks + c->nr_erasing_blocks > c->resv_blocks_gcmerge) {              
4000420c:   03c4a783            lw  a5,60(s1)                                             
40004210:   0404a683            lw  a3,64(s1)                                             
40004214:   0484c703            lbu a4,72(s1)                                             
40004218:   00d787b3            add a5,a5,a3                                              
4000421c:   36f77063            bgeu    a4,a5,4000457c <jffs2_garbage_collect_pass+0x1018>
        uint32_t min, max;                                                                
                                                                                          
        min = start & ~(PAGE_SIZE-1);                                                     
        max = min + PAGE_SIZE;                                                            
                                                                                          
        frag = jffs2_lookup_node_frag(&f->fragtree, start);                               
40004220:   000a8593            mv  a1,s5                                                 
40004224:   000b0513            mv  a0,s6                                                 
40004228:   258010ef            jal ra,40005480 <jffs2_lookup_node_frag>                  
                                                                                          
        /* BUG_ON(!frag) but that'll happen anyway... */                                  
                                                                                          
        BUG_ON(frag->ofs != start);                                                       
4000422c:   01852783            lw  a5,24(a0)                                             
        min = start & ~(PAGE_SIZE-1);                                                     
40004230:   fffffcb7            lui s9,0xfffff                                            
40004234:   019afcb3            and s9,s5,s9                                              
        max = min + PAGE_SIZE;                                                            
40004238:   00001bb7            lui s7,0x1                                                
4000423c:   017c8bb3            add s7,s9,s7                                              
        BUG_ON(frag->ofs != start);                                                       
40004240:   000a8a13            mv  s4,s5                                                 
40004244:   31579c63            bne a5,s5,4000455c <jffs2_garbage_collect_pass+0xff8>     
  return _RBTree_Predecessor( node );                                                     
40004248:   42c100ef            jal ra,40014674 <_RBTree_Predecessor>                     
                                                                                          
        /* First grow down... */                                                          
        while((frag = frag_prev(frag)) && frag->ofs >= min) {                             
4000424c:   04050e63            beqz    a0,400042a8 <jffs2_garbage_collect_pass+0xd44>    
40004250:   01852783            lw  a5,24(a0)                                             
40004254:   0597ea63            bltu    a5,s9,400042a8 <jffs2_garbage_collect_pass+0xd44> 
                                                                                          
            /* If the previous frag doesn't even reach the beginning, there's             
               excessive fragmentation. Just merge. */                                    
            if (frag->ofs > min) {                                                        
40004258:   2efcee63            bltu    s9,a5,40004554 <jffs2_garbage_collect_pass+0xff0> 
                      frag->ofs, frag->ofs+frag->size);                                   
                start = frag->ofs;                                                        
                continue;                                                                 
            }                                                                             
            /* OK. This frag holds the first byte of the page. */                         
            if (!frag->node || !frag->node->raw) {                                        
4000425c:   01052703            lw  a4,16(a0)                                             
40004260:   04070463            beqz    a4,400042a8 <jffs2_garbage_collect_pass+0xd44>    <== NEVER TAKEN
40004264:   00072703            lw  a4,0(a4)                                              
40004268:   04070063            beqz    a4,400042a8 <jffs2_garbage_collect_pass+0xd44>    <== NEVER TAKEN
                   If not, cover it anyway. */                                            
                                                                                          
                struct jffs2_raw_node_ref *raw = frag->node->raw;                         
                struct jffs2_eraseblock *jeb;                                             
                                                                                          
                jeb = &c->blocks[raw->flash_offset / c->sector_size];                     
4000426c:   00472683            lw  a3,4(a4)                                              
40004270:   0344a603            lw  a2,52(s1)                                             
40004274:   03400593            li  a1,52                                                 
40004278:   0544a703            lw  a4,84(s1)                                             
4000427c:   02c6d6b3            divu    a3,a3,a2                                          
                                                                                          
                if (jeb == c->gcblock) {                                                  
40004280:   05c4a603            lw  a2,92(s1)                                             
                jeb = &c->blocks[raw->flash_offset / c->sector_size];                     
40004284:   02b686b3            mul a3,a3,a1                                              
40004288:   00d70733            add a4,a4,a3                                              
                if (jeb == c->gcblock) {                                                  
4000428c:   00c70c63            beq a4,a2,400042a4 <jffs2_garbage_collect_pass+0xd40>     
                          frag->ofs + frag->size,                                         
                          ref_offset(raw));                                               
                    start = frag->ofs;                                                    
                    break;                                                                
                }                                                                         
                if (!ISDIRTY(jeb->dirty_size + jeb->wasted_size)) {                       
40004290:   01872683            lw  a3,24(a4)                                             
40004294:   01c72703            lw  a4,28(a4)                                             
40004298:   0c400613            li  a2,196                                                
4000429c:   00e68733            add a4,a3,a4                                              
400042a0:   00e67463            bgeu    a2,a4,400042a8 <jffs2_garbage_collect_pass+0xd44> 
        while((frag = frag_prev(frag)) && frag->ofs >= min) {                             
400042a4:   00078a13            mv  s4,a5                                                 
        }                                                                                 
                                                                                          
        /* ... then up */                                                                 
                                                                                          
        /* Find last frag which is actually part of the node we're to GC. */              
        frag = jffs2_lookup_node_frag(&f->fragtree, end-1);                               
400042a8:   000b0513            mv  a0,s6                                                 
400042ac:   000c0593            mv  a1,s8                                                 
400042b0:   1d0010ef            jal ra,40005480 <jffs2_lookup_node_frag>                  
                                                                                          
        while((frag = frag_next(frag)) && frag->ofs+frag->size <= max) {                  
400042b4:   000d0b13            mv  s6,s10                                                
  return _RBTree_Successor( node );                                                       
400042b8:   368100ef            jal ra,40014620 <_RBTree_Successor>                       
400042bc:   06050063            beqz    a0,4000431c <jffs2_garbage_collect_pass+0xdb8>    
400042c0:   01852783            lw  a5,24(a0)                                             
400042c4:   01452703            lw  a4,20(a0)                                             
400042c8:   00e787b3            add a5,a5,a4                                              
400042cc:   04fbe863            bltu    s7,a5,4000431c <jffs2_garbage_collect_pass+0xdb8> 
                                                                                          
            /* If the previous frag doesn't even reach the beginning, there's lots        
               of fragmentation. Just merge. */                                           
            if (frag->ofs+frag->size < max) {                                             
400042d0:   2777ee63            bltu    a5,s7,4000454c <jffs2_garbage_collect_pass+0xfe8> 
                      frag->ofs, frag->ofs+frag->size);                                   
                end = frag->ofs + frag->size;                                             
                continue;                                                                 
            }                                                                             
                                                                                          
            if (!frag->node || !frag->node->raw) {                                        
400042d4:   01052703            lw  a4,16(a0)                                             
400042d8:   04070263            beqz    a4,4000431c <jffs2_garbage_collect_pass+0xdb8>    <== NEVER TAKEN
400042dc:   00072703            lw  a4,0(a4)                                              
400042e0:   02070e63            beqz    a4,4000431c <jffs2_garbage_collect_pass+0xdb8>    <== NEVER TAKEN
                   If not, cover it anyway. */                                            
                                                                                          
                struct jffs2_raw_node_ref *raw = frag->node->raw;                         
                struct jffs2_eraseblock *jeb;                                             
                                                                                          
                jeb = &c->blocks[raw->flash_offset / c->sector_size];                     
400042e4:   00472683            lw  a3,4(a4)                                              
400042e8:   0344a603            lw  a2,52(s1)                                             
400042ec:   03400593            li  a1,52                                                 
400042f0:   0544a703            lw  a4,84(s1)                                             
400042f4:   02c6d6b3            divu    a3,a3,a2                                          
                                                                                          
                if (jeb == c->gcblock) {                                                  
400042f8:   05c4a603            lw  a2,92(s1)                                             
                jeb = &c->blocks[raw->flash_offset / c->sector_size];                     
400042fc:   02b686b3            mul a3,a3,a1                                              
40004300:   00d70733            add a4,a4,a3                                              
                if (jeb == c->gcblock) {                                                  
40004304:   24c70063            beq a4,a2,40004544 <jffs2_garbage_collect_pass+0xfe0>     
                          frag->ofs + frag->size,                                         
                          ref_offset(raw));                                               
                    end = frag->ofs + frag->size;                                         
                    break;                                                                
                }                                                                         
                if (!ISDIRTY(jeb->dirty_size + jeb->wasted_size)) {                       
40004308:   01872683            lw  a3,24(a4)                                             
4000430c:   01c72703            lw  a4,28(a4)                                             
40004310:   0c400613            li  a2,196                                                
40004314:   00e68733            add a4,a3,a4                                              
40004318:   22e66663            bltu    a2,a4,40004544 <jffs2_garbage_collect_pass+0xfe0> 
        }                                                                                 
        jffs2_dbg(1, "Expanded dnode to write from (0x%x-0x%x) to (0x%x-0x%x)\n",         
              orig_start, orig_end, start, end);                                          
                                                                                          
        D1(BUG_ON(end > frag_last(&f->fragtree)->ofs + frag_last(&f->fragtree)->size));   
        BUG_ON(end < orig_end);                                                           
4000431c:   4bab6263            bltu    s6,s10,400047c0 <jffs2_garbage_collect_pass+0x125c>
        BUG_ON(start > orig_start);                                                       
40004320:   494ae063            bltu    s5,s4,400047a0 <jffs2_garbage_collect_pass+0x123c>
     * It is important to note that jffs2_write_begin() will ensure that its              
     * page is marked Uptodate before allocating space. That means that if we             
     * end up here trying to GC the *same* page that jffs2_write_begin() is               
     * trying to write out, read_cache_page() will not deadlock. */                       
    mutex_unlock(&f->sem);                                                                
    pg_ptr = jffs2_gc_fetch_page(c, f, start, &pg);                                       
40004324:   02010693            addi    a3,sp,32                                          
40004328:   000a0613            mv  a2,s4                                                 
4000432c:   00040593            mv  a1,s0                                                 
40004330:   00048513            mv  a0,s1                                                 
40004334:   bc8fe0ef            jal ra,400026fc <jffs2_gc_fetch_page>                     
    mutex_lock(&f->sem);                                                                  
                                                                                          
    if (IS_ERR(pg_ptr)) {                                                                 
40004338:   c1800793            li  a5,-1000                                              
    pg_ptr = jffs2_gc_fetch_page(c, f, start, &pg);                                       
4000433c:   00050a93            mv  s5,a0                                                 
    int ret = 0;                                                                          
40004340:   00000d93            li  s11,0                                                 
    if (IS_ERR(pg_ptr)) {                                                                 
40004344:   44a7e263            bltu    a5,a0,40004788 <jffs2_garbage_collect_pass+0x1224>
            break;                                                                        
        }                                                                                 
        cdatalen = min_t(uint32_t, alloclen - sizeof(ri), end - offset);                  
        datalen = end - offset;                                                           
                                                                                          
        writebuf = pg_ptr + (offset & (PAGE_SIZE -1));                                    
40004348:   000017b7            lui a5,0x1                                                
4000434c:   fff78793            addi    a5,a5,-1 # fff <bsp_section_start_size+0xfbb>     
                                                                                          
        comprtype = jffs2_compress(c, f, writebuf, &comprbuf, &datalen, &cdatalen);       
                                                                                          
        ri.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                      
40004350:   00002cb7            lui s9,0x2                                                
        ri.nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                  
40004354:   ffffec37            lui s8,0xffffe                                            
40004358:   0000fbb7            lui s7,0xf                                                
        writebuf = pg_ptr + (offset & (PAGE_SIZE -1));                                    
4000435c:   00f12623            sw  a5,12(sp)                                             
        ri.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                      
40004360:   985c8c93            addi    s9,s9,-1659 # 1985 <_ISR_Stack_size+0x985>        
        ri.nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                  
40004364:   002c0c13            addi    s8,s8,2 # ffffe002 <RamEnd+0xbeffe002>            
40004368:   1ffb8b93            addi    s7,s7,511 # f1ff <bsp_section_rodata_size+0xa12b> 
    while(offset < orig_end) {                                                            
4000436c:   3faa7a63            bgeu    s4,s10,40004760 <jffs2_garbage_collect_pass+0x11fc>
        ret = jffs2_reserve_space_gc(c, sizeof(ri) + JFFS2_MIN_DATA_LEN,                  
40004370:   01200693            li  a3,18                                                 
40004374:   01810613            addi    a2,sp,24                                          
40004378:   0c400593            li  a1,196                                                
4000437c:   00048513            mv  a0,s1                                                 
40004380:   699010ef            jal ra,40006218 <jffs2_reserve_space_gc>                  
40004384:   00050d93            mv  s11,a0                                                
        if (ret) {                                                                        
40004388:   3c051263            bnez    a0,4000474c <jffs2_garbage_collect_pass+0x11e8>   <== NEVER TAKEN
        cdatalen = min_t(uint32_t, alloclen - sizeof(ri), end - offset);                  
4000438c:   01812883            lw  a7,24(sp)                                             
40004390:   414b0333            sub t1,s6,s4                                              
40004394:   fbc88893            addi    a7,a7,-68                                         
40004398:   01137463            bgeu    t1,a7,400043a0 <jffs2_garbage_collect_pass+0xe3c> 
4000439c:   00030893            mv  a7,t1                                                 
        writebuf = pg_ptr + (offset & (PAGE_SIZE -1));                                    
400043a0:   00c12783            lw  a5,12(sp)                                             
        comprtype = jffs2_compress(c, f, writebuf, &comprbuf, &datalen, &cdatalen);       
400043a4:   01c10693            addi    a3,sp,28                                          
400043a8:   02410713            addi    a4,sp,36                                          
        writebuf = pg_ptr + (offset & (PAGE_SIZE -1));                                    
400043ac:   00fa7633            and a2,s4,a5                                              
        comprtype = jffs2_compress(c, f, writebuf, &comprbuf, &datalen, &cdatalen);       
400043b0:   00ca8633            add a2,s5,a2                                              
400043b4:   02810793            addi    a5,sp,40                                          
400043b8:   00040593            mv  a1,s0                                                 
400043bc:   00048513            mv  a0,s1                                                 
        cdatalen = min_t(uint32_t, alloclen - sizeof(ri), end - offset);                  
400043c0:   03112423            sw  a7,40(sp)                                             
        datalen = end - offset;                                                           
400043c4:   02612223            sw  t1,36(sp)                                             
        comprtype = jffs2_compress(c, f, writebuf, &comprbuf, &datalen, &cdatalen);       
400043c8:   104060ef            jal ra,4000a4cc <jffs2_compress>                          
        ri.totlen = cpu_to_je32(sizeof(ri) + cdatalen);                                   
400043cc:   02812783            lw  a5,40(sp)                                             
        comprtype = jffs2_compress(c, f, writebuf, &comprbuf, &datalen, &cdatalen);       
400043d0:   00050d93            mv  s11,a0                                                
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
400043d4:   00800613            li  a2,8                                                  
        ri.totlen = cpu_to_je32(sizeof(ri) + cdatalen);                                   
400043d8:   04478793            addi    a5,a5,68                                          
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
400043dc:   00098593            mv  a1,s3                                                 
400043e0:   00000513            li  a0,0                                                  
        ri.totlen = cpu_to_je32(sizeof(ri) + cdatalen);                                   
400043e4:   02f12823            sw  a5,48(sp)                                             
        ri.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                      
400043e8:   03911623            sh  s9,44(sp)                                             
        ri.nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                  
400043ec:   03811723            sh  s8,46(sp)                                             
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
400043f0:   0a0060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
                                                                                          
        ri.ino = cpu_to_je32(f->inocache->ino);                                           
400043f4:   01442703            lw  a4,20(s0)                                             
        ri.version = cpu_to_je32(++f->highest_version);                                   
400043f8:   00042783            lw  a5,0(s0)                                              
        ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));     
400043fc:   02a12a23            sw  a0,52(sp)                                             
        ri.ino = cpu_to_je32(f->inocache->ino);                                           
40004400:   00c72603            lw  a2,12(a4)                                             
        ri.version = cpu_to_je32(++f->highest_version);                                   
40004404:   00178793            addi    a5,a5,1                                           
40004408:   fc042703            lw  a4,-64(s0)                                            
        ri.ino = cpu_to_je32(f->inocache->ino);                                           
4000440c:   02c12c23            sw  a2,56(sp)                                             
        ri.version = cpu_to_je32(++f->highest_version);                                   
40004410:   00f42023            sw  a5,0(s0)                                              
        ri.mode = cpu_to_jemode(JFFS2_F_I_MODE(f));                                       
        ri.uid = cpu_to_je16(JFFS2_F_I_UID(f));                                           
40004414:   fc645283            lhu t0,-58(s0)                                            
        ri.gid = cpu_to_je16(JFFS2_F_I_GID(f));                                           
40004418:   fc845f83            lhu t6,-56(s0)                                            
        ri.isize = cpu_to_je32(JFFS2_F_I_SIZE(f));                                        
4000441c:   ff042f03            lw  t5,-16(s0)                                            
        ri.atime = cpu_to_je32(JFFS2_F_I_ATIME(f));                                       
40004420:   fd042e83            lw  t4,-48(s0)                                            
        ri.ctime = cpu_to_je32(JFFS2_F_I_CTIME(f));                                       
40004424:   fe042e03            lw  t3,-32(s0)                                            
        ri.mtime = cpu_to_je32(JFFS2_F_I_MTIME(f));                                       
40004428:   fd842303            lw  t1,-40(s0)                                            
        ri.version = cpu_to_je32(++f->highest_version);                                   
4000442c:   02f12e23            sw  a5,60(sp)                                             
        ri.offset = cpu_to_je32(offset);                                                  
        ri.csize = cpu_to_je32(cdatalen);                                                 
40004430:   02812783            lw  a5,40(sp)                                             
        ri.dsize = cpu_to_je32(datalen);                                                  
        ri.compr = comprtype & 0xff;                                                      
        ri.usercompr = (comprtype >> 8) & 0xff;                                           
40004434:   008dd893            srli    a7,s11,0x8                                        
40004438:   01777733            and a4,a4,s7                                              
        ri.csize = cpu_to_je32(cdatalen);                                                 
4000443c:   04f12e23            sw  a5,92(sp)                                             
        ri.dsize = cpu_to_je32(datalen);                                                  
40004440:   02412783            lw  a5,36(sp)                                             
        ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                           
40004444:   03c00613            li  a2,60                                                 
40004448:   00098593            mv  a1,s3                                                 
4000444c:   00000513            li  a0,0                                                  
        ri.mode = cpu_to_jemode(JFFS2_F_I_MODE(f));                                       
40004450:   04e12023            sw  a4,64(sp)                                             
        ri.uid = cpu_to_je16(JFFS2_F_I_UID(f));                                           
40004454:   04511223            sh  t0,68(sp)                                             
        ri.gid = cpu_to_je16(JFFS2_F_I_GID(f));                                           
40004458:   05f11323            sh  t6,70(sp)                                             
        ri.isize = cpu_to_je32(JFFS2_F_I_SIZE(f));                                        
4000445c:   05e12423            sw  t5,72(sp)                                             
        ri.atime = cpu_to_je32(JFFS2_F_I_ATIME(f));                                       
40004460:   05d12623            sw  t4,76(sp)                                             
        ri.ctime = cpu_to_je32(JFFS2_F_I_CTIME(f));                                       
40004464:   05c12a23            sw  t3,84(sp)                                             
        ri.mtime = cpu_to_je32(JFFS2_F_I_MTIME(f));                                       
40004468:   04612823            sw  t1,80(sp)                                             
        ri.usercompr = (comprtype >> 8) & 0xff;                                           
4000446c:   071102a3            sb  a7,101(sp)                                            
        ri.dsize = cpu_to_je32(datalen);                                                  
40004470:   06f12023            sw  a5,96(sp)                                             
        ri.compr = comprtype & 0xff;                                                      
40004474:   07b10223            sb  s11,100(sp)                                           
        ri.offset = cpu_to_je32(offset);                                                  
40004478:   05412c23            sw  s4,88(sp)                                             
        ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                           
4000447c:   014060ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
        ri.data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                          
40004480:   02812603            lw  a2,40(sp)                                             
40004484:   01c12583            lw  a1,28(sp)                                             
        ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                           
40004488:   00050793            mv  a5,a0                                                 
        ri.data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                          
4000448c:   00000513            li  a0,0                                                  
        ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                           
40004490:   06f12623            sw  a5,108(sp)                                            
        ri.data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                          
40004494:   7fd050ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
                                                                                          
        new_fn = jffs2_write_dnode(c, f, &ri, comprbuf, cdatalen, ALLOC_GC);              
40004498:   02812703            lw  a4,40(sp)                                             
4000449c:   01c12683            lw  a3,28(sp)                                             
        ri.data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                          
400044a0:   00050893            mv  a7,a0                                                 
        new_fn = jffs2_write_dnode(c, f, &ri, comprbuf, cdatalen, ALLOC_GC);              
400044a4:   00200793            li  a5,2                                                  
400044a8:   00098613            mv  a2,s3                                                 
400044ac:   00040593            mv  a1,s0                                                 
400044b0:   00048513            mv  a0,s1                                                 
        ri.data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                          
400044b4:   07112423            sw  a7,104(sp)                                            
        new_fn = jffs2_write_dnode(c, f, &ri, comprbuf, cdatalen, ALLOC_GC);              
400044b8:   4e0040ef            jal ra,40008998 <jffs2_write_dnode>                       
                                                                                          
        jffs2_free_comprbuf(comprbuf, writebuf);                                          
                                                                                          
        if (IS_ERR(new_fn)) {                                                             
400044bc:   c1800793            li  a5,-1000                                              
        new_fn = jffs2_write_dnode(c, f, &ri, comprbuf, cdatalen, ALLOC_GC);              
400044c0:   00050d93            mv  s11,a0                                                
        if (IS_ERR(new_fn)) {                                                             
400044c4:   2aa7e863            bltu    a5,a0,40004774 <jffs2_garbage_collect_pass+0x1210>
            pr_warn("Error writing new dnode: %ld\n",                                     
                PTR_ERR(new_fn));                                                         
            ret = PTR_ERR(new_fn);                                                        
            break;                                                                        
        }                                                                                 
        ret = jffs2_add_full_dnode_to_inode(c, f, new_fn);                                
400044c8:   00050613            mv  a2,a0                                                 
400044cc:   00040593            mv  a1,s0                                                 
400044d0:   00048513            mv  a0,s1                                                 
400044d4:   0a5000ef            jal ra,40004d78 <jffs2_add_full_dnode_to_inode>           
        offset += datalen;                                                                
400044d8:   02412703            lw  a4,36(sp)                                             
        if (f->metadata) {                                                                
400044dc:   00842783            lw  a5,8(s0)                                              
        ret = jffs2_add_full_dnode_to_inode(c, f, new_fn);                                
400044e0:   00050d93            mv  s11,a0                                                
        offset += datalen;                                                                
400044e4:   00ea0a33            add s4,s4,a4                                              
        if (f->metadata) {                                                                
400044e8:   e80782e3            beqz    a5,4000436c <jffs2_garbage_collect_pass+0xe08>    <== ALWAYS TAKEN
            jffs2_mark_node_obsolete(c, f->metadata->raw);                                
400044ec:   0007a583            lw  a1,0(a5)                                              <== NOT EXECUTED
400044f0:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
400044f4:   5a8010ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
            jffs2_free_full_dnode(f->metadata);                                           
400044f8:   00842503            lw  a0,8(s0)                                              <== NOT EXECUTED
400044fc:   388000ef            jal ra,40004884 <jffs2_free_full_dnode>                   <== NOT EXECUTED
            f->metadata = NULL;                                                           
40004500:   00042423            sw  zero,8(s0)                                            <== NOT EXECUTED
40004504:   e69ff06f            j   4000436c <jffs2_garbage_collect_pass+0xe08>           <== NOT EXECUTED
            ret = jffs2_garbage_collect_pristine(c, f->inocache, raw);                    
40004508:   01442583            lw  a1,20(s0)                                             <== NOT EXECUTED
4000450c:   00098613            mv  a2,s3                                                 <== NOT EXECUTED
40004510:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40004514:   c61fe0ef            jal ra,40003174 <jffs2_garbage_collect_pristine>          <== NOT EXECUTED
40004518:   00050d93            mv  s11,a0                                                <== NOT EXECUTED
            if (!ret) {                                                                   
4000451c:   00051c63            bnez    a0,40004534 <jffs2_garbage_collect_pass+0xfd0>    <== NOT EXECUTED
                frag->node->raw = f->inocache->nodes;                                     
40004520:   01442703            lw  a4,20(s0)                                             <== NOT EXECUTED
40004524:   010ba783            lw  a5,16(s7)                                             <== NOT EXECUTED
40004528:   00472703            lw  a4,4(a4)                                              <== NOT EXECUTED
4000452c:   00e7a023            sw  a4,0(a5)                                              <== NOT EXECUTED
            if (ret != -EBADFD)                                                           
40004530:   c80ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
40004534:   ffff87b7            lui a5,0xffff8                                            <== NOT EXECUTED
40004538:   00178793            addi    a5,a5,1 # ffff8001 <RamEnd+0xbeff8001>            <== NOT EXECUTED
4000453c:   eaf50463            beq a0,a5,40003be4 <jffs2_garbage_collect_pass+0x680>     <== NOT EXECUTED
40004540:   c70ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        while((frag = frag_next(frag)) && frag->ofs+frag->size <= max) {                  
40004544:   00078b13            mv  s6,a5                                                 
40004548:   dd5ff06f            j   4000431c <jffs2_garbage_collect_pass+0xdb8>           
4000454c:   00078b13            mv  s6,a5                                                 
40004550:   d69ff06f            j   400042b8 <jffs2_garbage_collect_pass+0xd54>           
40004554:   00078a13            mv  s4,a5                                                 <== NOT EXECUTED
40004558:   cf1ff06f            j   40004248 <jffs2_garbage_collect_pass+0xce4>           <== NOT EXECUTED
        BUG_ON(frag->ofs != start);                                                       
4000455c:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40004560:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40004564:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40004568:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
4000456c:   cfc60613            addi    a2,a2,-772 # 4001dcfc <__func__.0>                <== NOT EXECUTED
40004570:   4ba00593            li  a1,1210                                               <== NOT EXECUTED
40004574:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
40004578:   529080ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
4000457c:   000d0b13            mv  s6,s10                                                
40004580:   000a8a13            mv  s4,s5                                                 
40004584:   da1ff06f            j   40004324 <jffs2_garbage_collect_pass+0xdc0>           
        ret = 0;                                                                          
40004588:   00000d93            li  s11,0                                                 <== NOT EXECUTED
4000458c:   c3cff06f            j   400039c8 <jffs2_garbage_collect_pass+0x464>           <== NOT EXECUTED
        ret = PTR_ERR(f);                                                                 
40004590:   00050d93            mv  s11,a0                                                <== NOT EXECUTED
        goto release_sem;                                                                 
40004594:   c34ff06f            j   400039c8 <jffs2_garbage_collect_pass+0x464>           <== NOT EXECUTED
    if (S_ISBLK(JFFS2_F_I_MODE(f)) ||                                                     
40004598:   fc052783            lw  a5,-64(a0)                                            
4000459c:   0000b737            lui a4,0xb                                                
400045a0:   0000f637            lui a2,0xf                                                
400045a4:   00e7f733            and a4,a5,a4                                              
400045a8:   000026b7            lui a3,0x2                                                
400045ac:   00c7f7b3            and a5,a5,a2                                              
400045b0:   c0d702e3            beq a4,a3,400041b4 <jffs2_garbage_collect_pass+0xc50>     
    } else if (S_ISLNK(JFFS2_F_I_MODE(f))) {                                              
400045b4:   0000a737            lui a4,0xa                                                
    int mdatalen = 0;                                                                     
400045b8:   00000993            li  s3,0                                                  
    } else if (S_ISLNK(JFFS2_F_I_MODE(f))) {                                              
400045bc:   22e78e63            beq a5,a4,400047f8 <jffs2_garbage_collect_pass+0x1294>    
    ret = jffs2_reserve_space_gc(c, sizeof(ri) + mdatalen, &alloclen,                     
400045c0:   04498b13            addi    s6,s3,68                                          
400045c4:   01200693            li  a3,18                                                 
400045c8:   02810613            addi    a2,sp,40                                          
400045cc:   000b0593            mv  a1,s6                                                 
400045d0:   00048513            mv  a0,s1                                                 
400045d4:   445010ef            jal ra,40006218 <jffs2_reserve_space_gc>                  
400045d8:   00050d93            mv  s11,a0                                                
    if (ret) {                                                                            
400045dc:   20051263            bnez    a0,400047e0 <jffs2_garbage_collect_pass+0x127c>   <== NEVER TAKEN
  return _RBTree_Maximum( (RBTree_Control *) root );                                      
400045e0:   00440513            addi    a0,s0,4                                           
400045e4:   01c100ef            jal ra,40014600 <_RBTree_Maximum>                         
400045e8:   26050263            beqz    a0,4000484c <jffs2_garbage_collect_pass+0x12e8>   <== NEVER TAKEN
        ilen = last_frag->ofs + last_frag->size;                                          
400045ec:   01852b83            lw  s7,24(a0)                                             
400045f0:   01452783            lw  a5,20(a0)                                             
400045f4:   00fb8bb3            add s7,s7,a5                                              
    memset(&ri, 0, sizeof(ri));                                                           
400045f8:   03c00613            li  a2,60                                                 
400045fc:   00000593            li  a1,0                                                  
40004600:   03410513            addi    a0,sp,52                                          
40004604:   315170ef            jal ra,4001c118 <memset>                                  
    ri.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                          
40004608:   000027b7            lui a5,0x2                                                
4000460c:   98578793            addi    a5,a5,-1659 # 1985 <_ISR_Stack_size+0x985>        
40004610:   02f11623            sh  a5,44(sp)                                             
    ri.nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                      
40004614:   ffffe7b7            lui a5,0xffffe                                            
40004618:   00278793            addi    a5,a5,2 # ffffe002 <RamEnd+0xbeffe002>            
    ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));         
4000461c:   00800613            li  a2,8                                                  
40004620:   02c10593            addi    a1,sp,44                                          
40004624:   00000513            li  a0,0                                                  
    ri.nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                      
40004628:   02f11723            sh  a5,46(sp)                                             
    ri.totlen = cpu_to_je32(sizeof(ri) + mdatalen);                                       
4000462c:   03612823            sw  s6,48(sp)                                             
    ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));         
40004630:   661050ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    ri.ino = cpu_to_je32(f->inocache->ino);                                               
40004634:   01442683            lw  a3,20(s0)                                             
    ri.version = cpu_to_je32(++f->highest_version);                                       
40004638:   00042783            lw  a5,0(s0)                                              
4000463c:   fc042703            lw  a4,-64(s0)                                            
    ri.ino = cpu_to_je32(f->inocache->ino);                                               
40004640:   00c6a683            lw  a3,12(a3) # 200c <bsp_section_rtemsstack_size+0xc>    
    ri.uid = cpu_to_je16(JFFS2_F_I_UID(f));                                               
40004644:   fc645f03            lhu t5,-58(s0)                                            
    ri.gid = cpu_to_je16(JFFS2_F_I_GID(f));                                               
40004648:   fc845e83            lhu t4,-56(s0)                                            
    ri.atime = cpu_to_je32(JFFS2_F_I_ATIME(f));                                           
4000464c:   fd042e03            lw  t3,-48(s0)                                            
    ri.ctime = cpu_to_je32(JFFS2_F_I_CTIME(f));                                           
40004650:   fe042303            lw  t1,-32(s0)                                            
    ri.mtime = cpu_to_je32(JFFS2_F_I_MTIME(f));                                           
40004654:   fd842803            lw  a6,-40(s0)                                            
    ri.ino = cpu_to_je32(f->inocache->ino);                                               
40004658:   02d12c23            sw  a3,56(sp)                                             
4000465c:   0000f6b7            lui a3,0xf                                                
    ri.version = cpu_to_je32(++f->highest_version);                                       
40004660:   00178793            addi    a5,a5,1                                           
40004664:   1ff68693            addi    a3,a3,511 # f1ff <bsp_section_rodata_size+0xa12b> 
    ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));         
40004668:   02a12a23            sw  a0,52(sp)                                             
    ri.version = cpu_to_je32(++f->highest_version);                                       
4000466c:   00f42023            sw  a5,0(s0)                                              
40004670:   00d77733            and a4,a4,a3                                              
    ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                               
40004674:   03c00613            li  a2,60                                                 
40004678:   02c10593            addi    a1,sp,44                                          
4000467c:   00000513            li  a0,0                                                  
    ri.mode = cpu_to_jemode(JFFS2_F_I_MODE(f));                                           
40004680:   04e12023            sw  a4,64(sp)                                             
    ri.uid = cpu_to_je16(JFFS2_F_I_UID(f));                                               
40004684:   05e11223            sh  t5,68(sp)                                             
    ri.gid = cpu_to_je16(JFFS2_F_I_GID(f));                                               
40004688:   05d11323            sh  t4,70(sp)                                             
    ri.atime = cpu_to_je32(JFFS2_F_I_ATIME(f));                                           
4000468c:   05c12623            sw  t3,76(sp)                                             
    ri.ctime = cpu_to_je32(JFFS2_F_I_CTIME(f));                                           
40004690:   04612a23            sw  t1,84(sp)                                             
    ri.mtime = cpu_to_je32(JFFS2_F_I_MTIME(f));                                           
40004694:   05012823            sw  a6,80(sp)                                             
    ri.version = cpu_to_je32(++f->highest_version);                                       
40004698:   02f12e23            sw  a5,60(sp)                                             
    ri.csize = cpu_to_je32(mdatalen);                                                     
4000469c:   05312e23            sw  s3,92(sp)                                             
    ri.dsize = cpu_to_je32(mdatalen);                                                     
400046a0:   07312023            sw  s3,96(sp)                                             
    ri.isize = cpu_to_je32(ilen);                                                         
400046a4:   05712423            sw  s7,72(sp)                                             
    ri.offset = cpu_to_je32(0);                                                           
400046a8:   04012c23            sw  zero,88(sp)                                           
    ri.compr = JFFS2_COMPR_NONE;                                                          
400046ac:   06010223            sb  zero,100(sp)                                          
    ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                               
400046b0:   5e1050ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
400046b4:   00050793            mv  a5,a0                                                 
    ri.data_crc = cpu_to_je32(crc32(0, mdata, mdatalen));                                 
400046b8:   00098613            mv  a2,s3                                                 
400046bc:   000a0593            mv  a1,s4                                                 
400046c0:   00000513            li  a0,0                                                  
    ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));                               
400046c4:   06f12623            sw  a5,108(sp)                                            
    ri.data_crc = cpu_to_je32(crc32(0, mdata, mdatalen));                                 
400046c8:   5c9050ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
400046cc:   00050813            mv  a6,a0                                                 
    new_fn = jffs2_write_dnode(c, f, &ri, mdata, mdatalen, ALLOC_GC);                     
400046d0:   00200793            li  a5,2                                                  
400046d4:   00098713            mv  a4,s3                                                 
400046d8:   000a0693            mv  a3,s4                                                 
400046dc:   02c10613            addi    a2,sp,44                                          
400046e0:   00040593            mv  a1,s0                                                 
400046e4:   00048513            mv  a0,s1                                                 
    ri.data_crc = cpu_to_je32(crc32(0, mdata, mdatalen));                                 
400046e8:   07012423            sw  a6,104(sp)                                            
    new_fn = jffs2_write_dnode(c, f, &ri, mdata, mdatalen, ALLOC_GC);                     
400046ec:   2ac040ef            jal ra,40008998 <jffs2_write_dnode>                       
    if (IS_ERR(new_fn)) {                                                                 
400046f0:   c1800793            li  a5,-1000                                              
    new_fn = jffs2_write_dnode(c, f, &ri, mdata, mdatalen, ALLOC_GC);                     
400046f4:   00050993            mv  s3,a0                                                 
    if (IS_ERR(new_fn)) {                                                                 
400046f8:   02a7ee63            bltu    a5,a0,40004734 <jffs2_garbage_collect_pass+0x11d0>
    jffs2_mark_node_obsolete(c, fn->raw);                                                 
400046fc:   000aa583            lw  a1,0(s5)                                              
40004700:   00048513            mv  a0,s1                                                 
40004704:   398010ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                
    jffs2_free_full_dnode(fn);                                                            
40004708:   000a8513            mv  a0,s5                                                 
4000470c:   178000ef            jal ra,40004884 <jffs2_free_full_dnode>                   
    f->metadata = new_fn;                                                                 
40004710:   01342423            sw  s3,8(s0)                                              
    if (S_ISLNK(JFFS2_F_I_MODE(f)))                                                       
40004714:   fc042683            lw  a3,-64(s0)                                            
40004718:   0000f7b7            lui a5,0xf                                                
4000471c:   0000a737            lui a4,0xa                                                
40004720:   00d7f7b3            and a5,a5,a3                                              
40004724:   a8e79663            bne a5,a4,400039b0 <jffs2_garbage_collect_pass+0x44c>     
        kfree(mdata);                                                                     
40004728:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000472c:   7a9080ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
40004730:   a80ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        pr_warn("Error writing new dnode: %ld\n", PTR_ERR(new_fn));                       
40004734:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
40004738:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
4000473c:   7f450513            addi    a0,a0,2036 # 4001d7f4 <rtems_jffs2_ops+0x66c>     <== NOT EXECUTED
40004740:   9f5fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        ret = PTR_ERR(new_fn);                                                            
40004744:   00098d93            mv  s11,s3                                                <== NOT EXECUTED
        goto out;                                                                         
40004748:   fcdff06f            j   40004714 <jffs2_garbage_collect_pass+0x11b0>          <== NOT EXECUTED
            pr_warn("jffs2_reserve_space_gc of %zd bytes for garbage_collect_dnode failed: %d\n",
4000474c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40004750:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40004754:   0c400593            li  a1,196                                                <== NOT EXECUTED
40004758:   b2050513            addi    a0,a0,-1248 # 4001db20 <rtems_jffs2_ops+0x998>    <== NOT EXECUTED
4000475c:   9d9fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        }                                                                                 
    }                                                                                     
                                                                                          
    jffs2_gc_release_page(c, pg_ptr, &pg);                                                
40004760:   02010613            addi    a2,sp,32                                          
40004764:   000a8593            mv  a1,s5                                                 
40004768:   00048513            mv  a0,s1                                                 
4000476c:   fd1fd0ef            jal ra,4000273c <jffs2_gc_release_page>                   
    return ret;                                                                           
40004770:   a40ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           
            pr_warn("Error writing new dnode: %ld\n",                                     
40004774:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
40004778:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
4000477c:   7f450513            addi    a0,a0,2036 # 4001d7f4 <rtems_jffs2_ops+0x66c>     <== NOT EXECUTED
40004780:   9b5fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            break;                                                                        
40004784:   fddff06f            j   40004760 <jffs2_garbage_collect_pass+0x11fc>          <== NOT EXECUTED
        pr_warn("read_cache_page() returned error: %ld\n",                                
40004788:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
4000478c:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40004790:   aec50513            addi    a0,a0,-1300 # 4001daec <rtems_jffs2_ops+0x964>    <== NOT EXECUTED
40004794:   9a1fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        return PTR_ERR(pg_ptr);                                                           
40004798:   000a8d93            mv  s11,s5                                                <== NOT EXECUTED
4000479c:   a14ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        BUG_ON(start > orig_start);                                                       
400047a0:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
400047a4:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
400047a8:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
400047ac:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
400047b0:   cfc60613            addi    a2,a2,-772 # 4001dcfc <__func__.0>                <== NOT EXECUTED
400047b4:   52c00593            li  a1,1324                                               <== NOT EXECUTED
400047b8:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
400047bc:   2e5080ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        BUG_ON(end < orig_end);                                                           
400047c0:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
400047c4:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
400047c8:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
400047cc:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
400047d0:   cfc60613            addi    a2,a2,-772 # 4001dcfc <__func__.0>                <== NOT EXECUTED
400047d4:   52b00593            li  a1,1323                                               <== NOT EXECUTED
400047d8:   56c50513            addi    a0,a0,1388 # 4001d56c <rtems_jffs2_ops+0x3e4>     <== NOT EXECUTED
400047dc:   2c5080ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        pr_warn("jffs2_reserve_space_gc of %zd bytes for garbage_collect_metadata failed: %d\n",
400047e0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400047e4:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
400047e8:   000b0593            mv  a1,s6                                                 <== NOT EXECUTED
400047ec:   79c50513            addi    a0,a0,1948 # 4001d79c <rtems_jffs2_ops+0x614>     <== NOT EXECUTED
400047f0:   945fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
        goto out;                                                                         
400047f4:   f21ff06f            j   40004714 <jffs2_garbage_collect_pass+0x11b0>          <== NOT EXECUTED
        mdatalen = fn->size;                                                              
400047f8:   008aa983            lw  s3,8(s5)                                              <== NOT EXECUTED
        mdata = kmalloc(fn->size, GFP_KERNEL);                                            
400047fc:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
40004800:   27c090ef            jal ra,4000da7c <malloc>                                  <== NOT EXECUTED
40004804:   00050a13            mv  s4,a0                                                 <== NOT EXECUTED
        if (!mdata) {                                                                     
40004808:   04050a63            beqz    a0,4000485c <jffs2_garbage_collect_pass+0x12f8>   <== NOT EXECUTED
        ret = jffs2_read_dnode(c, f, fn, mdata, 0, mdatalen);                             
4000480c:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
40004810:   00098793            mv  a5,s3                                                 <== NOT EXECUTED
40004814:   00000713            li  a4,0                                                  <== NOT EXECUTED
40004818:   000a8613            mv  a2,s5                                                 <== NOT EXECUTED
4000481c:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
40004820:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40004824:   4e5010ef            jal ra,40006508 <jffs2_read_dnode>                        <== NOT EXECUTED
40004828:   00050d93            mv  s11,a0                                                <== NOT EXECUTED
        if (ret) {                                                                        
4000482c:   d8050ae3            beqz    a0,400045c0 <jffs2_garbage_collect_pass+0x105c>   <== NOT EXECUTED
            pr_warn("read of old metadata failed in jffs2_garbage_collect_metadata(): %d\n",
40004830:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
40004834:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40004838:   74c50513            addi    a0,a0,1868 # 4001d74c <rtems_jffs2_ops+0x5c4>     <== NOT EXECUTED
4000483c:   8f9fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            kfree(mdata);                                                                 
40004840:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40004844:   691080ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
            return ret;                                                                   
40004848:   968ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
        ilen = JFFS2_F_I_SIZE(f);                                                         
4000484c:   ff042b83            lw  s7,-16(s0)                                            <== NOT EXECUTED
40004850:   da9ff06f            j   400045f8 <jffs2_garbage_collect_pass+0x1094>          <== NOT EXECUTED
40004854:   00078a13            mv  s4,a5                                                 
40004858:   b7cff06f            j   40003bd4 <jffs2_garbage_collect_pass+0x670>           
            pr_warn("kmalloc of mdata failed in jffs2_garbage_collect_metadata()\n");     
4000485c:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40004860:   70450513            addi    a0,a0,1796 # 4001d704 <rtems_jffs2_ops+0x57c>     <== NOT EXECUTED
40004864:   8d1fe0ef            jal ra,40003134 <jffs2_printk>                            <== NOT EXECUTED
            return -ENOMEM;                                                               
40004868:   ff400d93            li  s11,-12                                               <== NOT EXECUTED
4000486c:   944ff06f            j   400039b0 <jffs2_garbage_collect_pass+0x44c>           <== NOT EXECUTED
                                                                                          

400030b4 <jffs2_gc_fetch_inode>: } struct jffs2_inode_info *jffs2_gc_fetch_inode(struct jffs2_sb_info *c, int inum, int unlinked) {
400030b4:   ff010113            addi    sp,sp,-16                                         
400030b8:   00112623            sw  ra,12(sp)                                             
    struct _inode *inode;                                                                 
    struct jffs2_inode_cache *ic;                                                         
                                                                                          
    if (unlinked) {                                                                       
400030bc:   04060263            beqz    a2,40003100 <jffs2_gc_fetch_inode+0x4c>           <== ALWAYS TAKEN
400030c0:   00050693            mv  a3,a0                                                 <== NOT EXECUTED
    for (inode = sb->s_root; inode != NULL; inode = inode->i_cache_next) {                
400030c4:   0e052503            lw  a0,224(a0)                                            <== NOT EXECUTED
400030c8:   00058713            mv  a4,a1                                                 <== NOT EXECUTED
400030cc:   00051863            bnez    a0,400030dc <jffs2_gc_fetch_inode+0x28>           <== NOT EXECUTED
400030d0:   0480006f            j   40003118 <jffs2_gc_fetch_inode+0x64>                  <== NOT EXECUTED
400030d4:   06852503            lw  a0,104(a0)                                            <== NOT EXECUTED
400030d8:   04050063            beqz    a0,40003118 <jffs2_gc_fetch_inode+0x64>           <== NOT EXECUTED
        if (inode->i_ino == ino) {                                                        
400030dc:   00052783            lw  a5,0(a0)                                              <== NOT EXECUTED
400030e0:   fef71ae3            bne a4,a5,400030d4 <jffs2_gc_fetch_inode+0x20>            <== NOT EXECUTED
            inode->i_count++;                                                             
400030e4:   00452783            lw  a5,4(a0)                                              <== NOT EXECUTED
400030e8:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
400030ec:   00f52223            sw  a5,4(a0)                                              <== NOT EXECUTED
        if (IS_ERR(inode))                                                                
            return ERR_CAST(inode);                                                       
    }                                                                                     
                                                                                          
    return JFFS2_INODE_INFO(inode);                                                       
}                                                                                         
400030f0:   00c12083            lw  ra,12(sp)                                             
    return JFFS2_INODE_INFO(inode);                                                       
400030f4:   04850513            addi    a0,a0,72                                          
}                                                                                         
400030f8:   01010113            addi    sp,sp,16                                          
400030fc:   00008067            ret                                                       
        inode = jffs2_iget(OFNI_BS_2SFFJ(c), inum);                                       
40003100:   a19ff0ef            jal ra,40002b18 <jffs2_iget>                              
        if (IS_ERR(inode))                                                                
40003104:   c1800793            li  a5,-1000                                              
40003108:   fea7f4e3            bgeu    a5,a0,400030f0 <jffs2_gc_fetch_inode+0x3c>        
}                                                                                         
4000310c:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
40003110:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
40003114:   00008067            ret                                                       <== NOT EXECUTED
            ic = jffs2_get_ino_cache(c, inum);                                            
40003118:   00070593            mv  a1,a4                                                 <== NOT EXECUTED
4000311c:   00068513            mv  a0,a3                                                 <== NOT EXECUTED
40003120:   118020ef            jal ra,40005238 <jffs2_get_ino_cache>                     <== NOT EXECUTED
}                                                                                         
40003124:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
                return NULL;                                                              
40003128:   00000513            li  a0,0                                                  <== NOT EXECUTED
}                                                                                         
4000312c:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
40003130:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

400026fc <jffs2_gc_fetch_page>: {
400026fc:   ff010113            addi    sp,sp,-16                                         
40002700:   00812423            sw  s0,8(sp)                                              
    ret = jffs2_read_inode_range(c, f, gc_buffer,                                         
40002704:   fffff6b7            lui a3,0xfffff                                            
    unsigned char *gc_buffer = &sb->s_gc_buffer[0];                                       
40002708:   0ed50413            addi    s0,a0,237                                         
    ret = jffs2_read_inode_range(c, f, gc_buffer,                                         
4000270c:   00d676b3            and a3,a2,a3                                              
40002710:   00001737            lui a4,0x1                                                
40002714:   00040613            mv  a2,s0                                                 
{                                                                                         
40002718:   00112623            sw  ra,12(sp)                                             
    ret = jffs2_read_inode_range(c, f, gc_buffer,                                         
4000271c:   304040ef            jal ra,40006a20 <jffs2_read_inode_range>                  
    if (ret)                                                                              
40002720:   00050463            beqz    a0,40002728 <jffs2_gc_fetch_page+0x2c>            <== ALWAYS TAKEN
        return ERR_PTR(ret);                                                              
40002724:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
}                                                                                         
40002728:   00c12083            lw  ra,12(sp)                                             
4000272c:   00040513            mv  a0,s0                                                 
40002730:   00812403            lw  s0,8(sp)                                              
40002734:   01010113            addi    sp,sp,16                                          
40002738:   00008067            ret                                                       
                                                                                          

40005238 <jffs2_get_ino_cache>: ret = c->inocache_list[ino % c->inocache_hashsize];
40005238:   0c052783            lw  a5,192(a0)                                            
4000523c:   0c452703            lw  a4,196(a0)                                            
40005240:   02f5f7b3            remu    a5,a1,a5                                          
40005244:   00279793            slli    a5,a5,0x2                                         
40005248:   00f707b3            add a5,a4,a5                                              
4000524c:   0007a503            lw  a0,0(a5)                                              
    while (ret && ret->ino < ino) {                                                       
40005250:   00051863            bnez    a0,40005260 <jffs2_get_ino_cache+0x28>            
40005254:   0280006f            j   4000527c <jffs2_get_ino_cache+0x44>                   
        ret = ret->next;                                                                  
40005258:   01052503            lw  a0,16(a0)                                             <== NOT EXECUTED
    while (ret && ret->ino < ino) {                                                       
4000525c:   00050e63            beqz    a0,40005278 <jffs2_get_ino_cache+0x40>            <== NOT EXECUTED
40005260:   00c52783            lw  a5,12(a0)                                             
40005264:   feb7eae3            bltu    a5,a1,40005258 <jffs2_get_ino_cache+0x20>         
        ret = NULL;                                                                       
40005268:   40b787b3            sub a5,a5,a1                                              
4000526c:   0017b793            seqz    a5,a5                                             
40005270:   40f007b3            neg a5,a5                                                 
40005274:   00f57533            and a0,a0,a5                                              
}                                                                                         
40005278:   00008067            ret                                                       
4000527c:   00008067            ret                                                       
                                                                                          

40002b18 <jffs2_iget>: {
40002b18:   fa010113            addi    sp,sp,-96                                         
40002b1c:   04812c23            sw  s0,88(sp)                                             
    for (inode = sb->s_root; inode != NULL; inode = inode->i_cache_next) {                
40002b20:   0e052403            lw  s0,224(a0)                                            
{                                                                                         
40002b24:   04912a23            sw  s1,84(sp)                                             
40002b28:   04112e23            sw  ra,92(sp)                                             
40002b2c:   05212823            sw  s2,80(sp)                                             
40002b30:   00058493            mv  s1,a1                                                 
    for (inode = sb->s_root; inode != NULL; inode = inode->i_cache_next) {                
40002b34:   00041863            bnez    s0,40002b44 <jffs2_iget+0x2c>                     
40002b38:   03c0006f            j   40002b74 <jffs2_iget+0x5c>                            
40002b3c:   06842403            lw  s0,104(s0)                                            
40002b40:   02040a63            beqz    s0,40002b74 <jffs2_iget+0x5c>                     
        if (inode->i_ino == ino) {                                                        
40002b44:   00042783            lw  a5,0(s0)                                              
40002b48:   fef49ae3            bne s1,a5,40002b3c <jffs2_iget+0x24>                      
            inode->i_count++;                                                             
40002b4c:   00442783            lw  a5,4(s0)                                              
40002b50:   00178793            addi    a5,a5,1                                           
40002b54:   00f42223            sw  a5,4(s0)                                              
}                                                                                         
40002b58:   05c12083            lw  ra,92(sp)                                             
40002b5c:   00040513            mv  a0,s0                                                 
40002b60:   05812403            lw  s0,88(sp)                                             
40002b64:   05412483            lw  s1,84(sp)                                             
40002b68:   05012903            lw  s2,80(sp)                                             
40002b6c:   06010113            addi    sp,sp,96                                          
40002b70:   00008067            ret                                                       
    inode = new_inode(sb);                                                                
40002b74:   e24fe0ef            jal ra,40001198 <new_inode>                               
40002b78:   00050413            mv  s0,a0                                                 
    if (inode == NULL)                                                                    
40002b7c:   0c050c63            beqz    a0,40002c54 <jffs2_iget+0x13c>                    <== NEVER TAKEN
    struct jffs2_raw_inode latest_node;                                                   
    int ret;                                                                              
                                                                                          
    D1(printk(KERN_DEBUG "jffs2_read_inode(): inode->i_ino == %lu\n", inode->i_ino));     
                                                                                          
    f = JFFS2_INODE_INFO(inode);                                                          
40002b80:   04840793            addi    a5,s0,72                                          
    c = JFFS2_SB_INFO(inode->i_sb);                                                       
40002b84:   04042903            lw  s2,64(s0)                                             
    memset(f, 0, sizeof(*f));                                                             
40002b88:   01c00613            li  a2,28                                                 
40002b8c:   00000593            li  a1,0                                                  
    inode->i_ino = ino;                                                                   
40002b90:   00942023            sw  s1,0(s0)                                              
    memset(f, 0, sizeof(*f));                                                             
40002b94:   00078513            mv  a0,a5                                                 
40002b98:   580190ef            jal ra,4001c118 <memset>                                  
                                                                                          
    jffs2_init_inode_info(f);                                                             
                                                                                          
    ret = jffs2_do_read_inode(c, f, inode->i_ino, &latest_node);                          
40002b9c:   00048613            mv  a2,s1                                                 
40002ba0:   00050593            mv  a1,a0                                                 
40002ba4:   00c10693            addi    a3,sp,12                                          
40002ba8:   00090513            mv  a0,s2                                                 
40002bac:   121050ef            jal ra,400084cc <jffs2_do_read_inode>                     
40002bb0:   00050493            mv  s1,a0                                                 
                                                                                          
    if (ret) {                                                                            
40002bb4:   08051063            bnez    a0,40002c34 <jffs2_iget+0x11c>                    <== NEVER TAKEN
    inode->i_size = je32_to_cpu(latest_node.isize);                                       
    inode->i_atime = je32_to_cpu(latest_node.atime);                                      
    inode->i_mtime = je32_to_cpu(latest_node.mtime);                                      
    inode->i_ctime = je32_to_cpu(latest_node.ctime);                                      
                                                                                          
    inode->i_nlink = f->inocache->pino_nlink;                                             
40002bb8:   05c42783            lw  a5,92(s0)                                             
    inode->i_ctime = je32_to_cpu(latest_node.ctime);                                      
40002bbc:   03412603            lw  a2,52(sp)                                             
    inode->i_atime = je32_to_cpu(latest_node.atime);                                      
40002bc0:   02c12503            lw  a0,44(sp)                                             
    inode->i_nlink = f->inocache->pino_nlink;                                             
40002bc4:   0147a683            lw  a3,20(a5)                                             
  return jmode & (S_IFMT | S_IRWXU | S_IRWXG | S_IRWXO);                                  
40002bc8:   02012783            lw  a5,32(sp)                                             
    inode->i_mtime = je32_to_cpu(latest_node.mtime);                                      
40002bcc:   03012583            lw  a1,48(sp)                                             
    inode->i_size = je32_to_cpu(latest_node.isize);                                       
40002bd0:   02812803            lw  a6,40(sp)                                             
    inode->i_uid = je16_to_cpu(latest_node.uid);                                          
40002bd4:   02415303            lhu t1,36(sp)                                             
    inode->i_gid = je16_to_cpu(latest_node.gid);                                          
40002bd8:   02615883            lhu a7,38(sp)                                             
40002bdc:   0000f737            lui a4,0xf                                                
40002be0:   1ff70713            addi    a4,a4,511 # f1ff <bsp_section_rodata_size+0xa12b> 
40002be4:   00e7f7b3            and a5,a5,a4                                              
    inode->i_atime = je32_to_cpu(latest_node.atime);                                      
40002be8:   00a42c23            sw  a0,24(s0)                                             
}                                                                                         
40002bec:   05c12083            lw  ra,92(sp)                                             
    inode->i_mode = jemode_to_cpu(latest_node.mode);                                      
40002bf0:   00f42423            sw  a5,8(s0)                                              
    inode->i_uid = je16_to_cpu(latest_node.uid);                                          
40002bf4:   00641723            sh  t1,14(s0)                                             
    inode->i_gid = je16_to_cpu(latest_node.gid);                                          
40002bf8:   01141823            sh  a7,16(s0)                                             
    inode->i_size = je32_to_cpu(latest_node.isize);                                       
40002bfc:   03042c23            sw  a6,56(s0)                                             
40002c00:   02042e23            sw  zero,60(s0)                                           
    inode->i_atime = je32_to_cpu(latest_node.atime);                                      
40002c04:   00042e23            sw  zero,28(s0)                                           
    inode->i_mtime = je32_to_cpu(latest_node.mtime);                                      
40002c08:   02b42023            sw  a1,32(s0)                                             
40002c0c:   02042223            sw  zero,36(s0)                                           
    inode->i_ctime = je32_to_cpu(latest_node.ctime);                                      
40002c10:   02c42423            sw  a2,40(s0)                                             
40002c14:   02042623            sw  zero,44(s0)                                           
    inode->i_nlink = f->inocache->pino_nlink;                                             
40002c18:   00d41623            sh  a3,12(s0)                                             
}                                                                                         
40002c1c:   00040513            mv  a0,s0                                                 
40002c20:   05812403            lw  s0,88(sp)                                             
40002c24:   05412483            lw  s1,84(sp)                                             
40002c28:   05012903            lw  s2,80(sp)                                             
40002c2c:   06010113            addi    sp,sp,96                                          
40002c30:   00008067            ret                                                       
        printk("jffs2_read_inode() failed\n");                                            
40002c34:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40002c38:   02c50513            addi    a0,a0,44 # 4001d02c <rtems_filesystem_table+0x114><== NOT EXECUTED
40002c3c:   d50ff0ef            jal ra,4000218c <jffs2_printk>                            <== NOT EXECUTED
        jffs2_iput(inode);                                                                
40002c40:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
                inode->i_nlink = 0; // free _this_ bad inode right now                    
40002c44:   00041623            sh  zero,12(s0)                                           <== NOT EXECUTED
        jffs2_iput(inode);                                                                
40002c48:   af9ff0ef            jal ra,40002740 <jffs2_iput>                              <== NOT EXECUTED
        return ERR_PTR(err);                                                              
40002c4c:   00048413            mv  s0,s1                                                 <== NOT EXECUTED
40002c50:   f09ff06f            j   40002b58 <jffs2_iget+0x40>                            <== NOT EXECUTED
        return ERR_PTR(-ENOMEM);                                                          
40002c54:   ff400413            li  s0,-12                                                <== NOT EXECUTED
40002c58:   f01ff06f            j   40002b58 <jffs2_iget+0x40>                            <== NOT EXECUTED
                                                                                          

40002740 <jffs2_iput>: {
40002740:   ff010113            addi    sp,sp,-16                                         
40002744:   00812423            sw  s0,8(sp)                                              
40002748:   00112623            sw  ra,12(sp)                                             
4000274c:   00912223            sw  s1,4(sp)                                              
40002750:   00050413            mv  s0,a0                                                 
    assert(i != NULL);                                                                    
40002754:   0a040c63            beqz    s0,4000280c <jffs2_iput+0xcc>                     <== NEVER TAKEN
    i->i_count--;                                                                         
40002758:   00442783            lw  a5,4(s0)                                              
4000275c:   fff78793            addi    a5,a5,-1                                          
40002760:   00f42223            sw  a5,4(s0)                                              
    if (i->i_count < 0)                                                                   
40002764:   0807c463            bltz    a5,400027ec <jffs2_iput+0xac>                     <== NEVER TAKEN
    if (i->i_count)                                                                       
40002768:   04079863            bnez    a5,400027b8 <jffs2_iput+0x78>                     
    if (!i->i_nlink) {                                                                    
4000276c:   00c45783            lhu a5,12(s0)                                             
40002770:   04079e63            bnez    a5,400027cc <jffs2_iput+0x8c>                     
        if (i->i_cache_prev)                                                              
40002774:   06442703            lw  a4,100(s0)                                            
            i->i_cache_prev->i_cache_next = i->i_cache_next;                              
40002778:   06842783            lw  a5,104(s0)                                            
        if (i->i_cache_prev)                                                              
4000277c:   00070663            beqz    a4,40002788 <jffs2_iput+0x48>                     <== NEVER TAKEN
            i->i_cache_prev->i_cache_next = i->i_cache_next;                              
40002780:   06f72423            sw  a5,104(a4) # 1068 <_ISR_Stack_size+0x68>              
        if (i->i_cache_next)                                                              
40002784:   06842783            lw  a5,104(s0)                                            
40002788:   00078463            beqz    a5,40002790 <jffs2_iput+0x50>                     
            i->i_cache_next->i_cache_prev = i->i_cache_prev;                              
4000278c:   06e7a223            sw  a4,100(a5)                                            
        jffs2_do_clear_inode(c, f);                                                       
40002790:   04042503            lw  a0,64(s0)                                             
        parent = i->i_parent;                                                             
40002794:   03442483            lw  s1,52(s0)                                             
        jffs2_do_clear_inode(c, f);                                                       
40002798:   04840593            addi    a1,s0,72                                          
4000279c:   6b5050ef            jal ra,40008650 <jffs2_do_clear_inode>                    
        free(i);                                                                          
400027a0:   00040513            mv  a0,s0                                                 
400027a4:   7310a0ef            jal ra,4000d6d4 <free>                                    
        if (parent && parent != i) {                                                      
400027a8:   00048863            beqz    s1,400027b8 <jffs2_iput+0x78>                     
400027ac:   00940663            beq s0,s1,400027b8 <jffs2_iput+0x78>                      
400027b0:   00048413            mv  s0,s1                                                 
400027b4:   fa1ff06f            j   40002754 <jffs2_iput+0x14>                            
}                                                                                         
400027b8:   00c12083            lw  ra,12(sp)                                             
400027bc:   00812403            lw  s0,8(sp)                                              
400027c0:   00412483            lw  s1,4(sp)                                              
400027c4:   01010113            addi    sp,sp,16                                          
400027c8:   00008067            ret                                                       
        icache_evict(i->i_sb->s_root, i);                                                 
400027cc:   04042783            lw  a5,64(s0)                                             
400027d0:   00040593            mv  a1,s0                                                 
}                                                                                         
400027d4:   00812403            lw  s0,8(sp)                                              
400027d8:   00c12083            lw  ra,12(sp)                                             
400027dc:   00412483            lw  s1,4(sp)                                              
        icache_evict(i->i_sb->s_root, i);                                                 
400027e0:   0e07a503            lw  a0,224(a5)                                            
}                                                                                         
400027e4:   01010113            addi    sp,sp,16                                          
        icache_evict(i->i_sb->s_root, i);                                                 
400027e8:   b7cff06f            j   40001b64 <icache_evict>                               
        BUG();                                                                            
400027ec:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
400027f0:   4001d637            lui a2,0x4001d                                            <== NOT EXECUTED
400027f4:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
400027f8:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
400027fc:   0a460613            addi    a2,a2,164 # 4001d0a4 <__func__.0>                 <== NOT EXECUTED
40002800:   5a800593            li  a1,1448                                               <== NOT EXECUTED
40002804:   fc450513            addi    a0,a0,-60 # 4001cfc4 <rtems_filesystem_table+0xac><== NOT EXECUTED
40002808:   2990a0ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    assert(i != NULL);                                                                    
4000280c:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40002810:   4001d637            lui a2,0x4001d                                            <== NOT EXECUTED
40002814:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40002818:   fb868693            addi    a3,a3,-72 # 4001cfb8 <rtems_filesystem_table+0xa0><== NOT EXECUTED
4000281c:   0a460613            addi    a2,a2,164 # 4001d0a4 <__func__.0>                 <== NOT EXECUTED
40002820:   5a300593            li  a1,1443                                               <== NOT EXECUTED
40002824:   fc450513            addi    a0,a0,-60 # 4001cfc4 <rtems_filesystem_table+0xac><== NOT EXECUTED
40002828:   2790a0ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
                                                                                          

400054d4 <jffs2_kill_fragtree>: /* Pass 'c' argument to indicate that nodes should be marked obsolete as they're killed. */ void jffs2_kill_fragtree(struct rb_root *root, struct jffs2_sb_info *c) {
400054d4:   ff010113            addi    sp,sp,-16                                         
400054d8:   01212023            sw  s2,0(sp)                                              
400054dc:   00058913            mv  s2,a1                                                 
    struct jffs2_node_frag *frag, *next;                                                  
                                                                                          
    dbg_fragtree("killing\n");                                                            
    rbtree_postorder_for_each_entry_safe(frag, next, root, rb) {                          
400054e0:   00000593            li  a1,0                                                  
{                                                                                         
400054e4:   00812423            sw  s0,8(sp)                                              
400054e8:   00112623            sw  ra,12(sp)                                             
400054ec:   00912223            sw  s1,4(sp)                                              
    rbtree_postorder_for_each_entry_safe(frag, next, root, rb) {                          
400054f0:   2180f0ef            jal ra,40014708 <_RBTree_Postorder_first>                 
400054f4:   00050413            mv  s0,a0                                                 
400054f8:   04050c63            beqz    a0,40005550 <jffs2_kill_fragtree+0x7c>            
400054fc:   00040513            mv  a0,s0                                                 
40005500:   00000593            li  a1,0                                                  
40005504:   1c40f0ef            jal ra,400146c8 <_RBTree_Postorder_next>                  
        if (frag->node && !(--frag->node->frags)) {                                       
40005508:   01042783            lw  a5,16(s0)                                             
4000550c:   00040493            mv  s1,s0                                                 
    rbtree_postorder_for_each_entry_safe(frag, next, root, rb) {                          
40005510:   00050413            mv  s0,a0                                                 
        if (frag->node && !(--frag->node->frags)) {                                       
40005514:   02078863            beqz    a5,40005544 <jffs2_kill_fragtree+0x70>            <== NEVER TAKEN
40005518:   00c7a703            lw  a4,12(a5)                                             
4000551c:   fff70713            addi    a4,a4,-1                                          
40005520:   00e7a623            sw  a4,12(a5)                                             
40005524:   02071063            bnez    a4,40005544 <jffs2_kill_fragtree+0x70>            <== NEVER TAKEN
            /* Not a hole, and it's the final remaining frag                              
               of this node. Free the node */                                             
            if (c)                                                                        
                jffs2_mark_node_obsolete(c, frag->node->raw);                             
40005528:   00090513            mv  a0,s2                                                 
            if (c)                                                                        
4000552c:   00090863            beqz    s2,4000553c <jffs2_kill_fragtree+0x68>            
                jffs2_mark_node_obsolete(c, frag->node->raw);                             
40005530:   0007a583            lw  a1,0(a5)                                              
40005534:   568000ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                
                                                                                          
            jffs2_free_full_dnode(frag->node);                                            
40005538:   0104a783            lw  a5,16(s1)                                             
4000553c:   00078513            mv  a0,a5                                                 
40005540:   b44ff0ef            jal ra,40004884 <jffs2_free_full_dnode>                   
        }                                                                                 
                                                                                          
        jffs2_free_node_frag(frag);                                                       
40005544:   00048513            mv  a0,s1                                                 
40005548:   c54ff0ef            jal ra,4000499c <jffs2_free_node_frag>                    
    rbtree_postorder_for_each_entry_safe(frag, next, root, rb) {                          
4000554c:   fa0418e3            bnez    s0,400054fc <jffs2_kill_fragtree+0x28>            
        cond_resched();                                                                   
    }                                                                                     
}                                                                                         
40005550:   00c12083            lw  ra,12(sp)                                             
40005554:   00812403            lw  s0,8(sp)                                              
40005558:   00412483            lw  s1,4(sp)                                              
4000555c:   00012903            lw  s2,0(sp)                                              
40005560:   01010113            addi    sp,sp,16                                          
40005564:   00008067            ret                                                       
                                                                                          

4000aaf8 <jffs2_link>: /***********************************************************************/ int jffs2_link (struct _inode *old_d_inode, struct _inode *dir_i, const unsigned char *d_name, size_t d_namelen) {
4000aaf8:   fe010113            addi    sp,sp,-32                                         
4000aafc:   00812c23            sw  s0,24(sp)                                             
    struct jffs2_inode_info *f = JFFS2_INODE_INFO(old_d_inode);                           
    struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i);                             
    int ret;                                                                              
                                                                                          
    /* XXX: This is ugly */                                                               
    uint8_t type = (old_d_inode->i_mode & S_IFMT) >> 12;                                  
4000ab00:   00852403            lw  s0,8(a0)                                              
{                                                                                         
4000ab04:   00912a23            sw  s1,20(sp)                                             
4000ab08:   01212823            sw  s2,16(sp)                                             
    uint8_t type = (old_d_inode->i_mode & S_IFMT) >> 12;                                  
4000ab0c:   00c45413            srli    s0,s0,0xc                                         
{                                                                                         
4000ab10:   01312623            sw  s3,12(sp)                                             
4000ab14:   01412423            sw  s4,8(sp)                                              
4000ab18:   01512223            sw  s5,4(sp)                                              
4000ab1c:   00112e23            sw  ra,28(sp)                                             
4000ab20:   01612023            sw  s6,0(sp)                                              
    uint8_t type = (old_d_inode->i_mode & S_IFMT) >> 12;                                  
4000ab24:   00f47413            andi    s0,s0,15                                          
    struct jffs2_sb_info *c = JFFS2_SB_INFO(old_d_inode->i_sb);                           
4000ab28:   04052a83            lw  s5,64(a0)                                             
{                                                                                         
4000ab2c:   00050493            mv  s1,a0                                                 
4000ab30:   00060993            mv  s3,a2                                                 
4000ab34:   00068a13            mv  s4,a3                                                 
    struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i);                             
4000ab38:   04858913            addi    s2,a1,72                                          
    if (!type) type = DT_REG;                                                             
4000ab3c:   00041463            bnez    s0,4000ab44 <jffs2_link+0x4c>                     <== ALWAYS TAKEN
4000ab40:   00800413            li  s0,8                                                  <== NOT EXECUTED
                                                                                          
    ret = jffs2_do_link(c, dir_f, f->inocache->ino, type,                                 
4000ab44:   05c4a783            lw  a5,92(s1)                                             
                            (const char * )d_name,                                        
                            d_namelen, get_seconds());                                    
4000ab48:   00000513            li  a0,0                                                  
    ret = jffs2_do_link(c, dir_f, f->inocache->ino, type,                                 
4000ab4c:   00c7ab03            lw  s6,12(a5)                                             
                            d_namelen, get_seconds());                                    
4000ab50:   469110ef            jal ra,4001c7b8 <time>                                    
    ret = jffs2_do_link(c, dir_f, f->inocache->ino, type,                                 
4000ab54:   00050813            mv  a6,a0                                                 
4000ab58:   000a0793            mv  a5,s4                                                 
4000ab5c:   00098713            mv  a4,s3                                                 
4000ab60:   00040693            mv  a3,s0                                                 
4000ab64:   000b0613            mv  a2,s6                                                 
4000ab68:   00090593            mv  a1,s2                                                 
4000ab6c:   000a8513            mv  a0,s5                                                 
4000ab70:   fadfe0ef            jal ra,40009b1c <jffs2_do_link>                           
                                                                                          
    if (!ret) {                                                                           
4000ab74:   00051c63            bnez    a0,4000ab8c <jffs2_link+0x94>                     <== NEVER TAKEN
        mutex_lock(&f->sem);                                                              
        old_d_inode->i_nlink = ++f->inocache->pino_nlink;                                 
4000ab78:   05c4a703            lw  a4,92(s1)                                             
4000ab7c:   01472783            lw  a5,20(a4)                                             
4000ab80:   00178793            addi    a5,a5,1                                           
4000ab84:   00f72a23            sw  a5,20(a4)                                             
4000ab88:   00f49623            sh  a5,12(s1)                                             
        mutex_unlock(&f->sem);                                                            
    }                                                                                     
    return ret;                                                                           
}                                                                                         
4000ab8c:   01c12083            lw  ra,28(sp)                                             
4000ab90:   01812403            lw  s0,24(sp)                                             
4000ab94:   01412483            lw  s1,20(sp)                                             
4000ab98:   01012903            lw  s2,16(sp)                                             
4000ab9c:   00c12983            lw  s3,12(sp)                                             
4000aba0:   00812a03            lw  s4,8(sp)                                              
4000aba4:   00412a83            lw  s5,4(sp)                                              
4000aba8:   00012b03            lw  s6,0(sp)                                              
4000abac:   02010113            addi    sp,sp,32                                          
4000abb0:   00008067            ret                                                       
                                                                                          

40005568 <jffs2_link_node_ref>: uint32_t ofs, uint32_t len, struct jffs2_inode_cache *ic) { struct jffs2_raw_node_ref *ref; BUG_ON(!jeb->allocated_refs);
40005568:   0245a783            lw  a5,36(a1)                                             
{                                                                                         
4000556c:   ff010113            addi    sp,sp,-16                                         
40005570:   00112623            sw  ra,12(sp)                                             
40005574:   00812423            sw  s0,8(sp)                                              
    BUG_ON(!jeb->allocated_refs);                                                         
40005578:   14078263            beqz    a5,400056bc <jffs2_link_node_ref+0x154>           <== NEVER TAKEN
    jeb->allocated_refs--;                                                                
                                                                                          
    ref = jeb->last_node;                                                                 
4000557c:   02c5ae83            lw  t4,44(a1)                                             
    jeb->allocated_refs--;                                                                
40005580:   fff78793            addi    a5,a5,-1                                          
40005584:   02f5a223            sw  a5,36(a1)                                             
                                                                                          
    dbg_noderef("Last node at %p is (%08x,%p)\n", ref, ref->flash_offset,                 
            ref->next_in_ino);                                                            
                                                                                          
    while (ref->flash_offset != REF_EMPTY_NODE) {                                         
40005588:   004ea783            lw  a5,4(t4)                                              
4000558c:   00068e13            mv  t3,a3                                                 
40005590:   ffe00693            li  a3,-2                                                 
40005594:   00050893            mv  a7,a0                                                 
40005598:   000e8513            mv  a0,t4                                                 
4000559c:   00d78e63            beq a5,a3,400055b8 <jffs2_link_node_ref+0x50>             
        if (ref->flash_offset == REF_LINK_NODE)                                           
400055a0:   fff00313            li  t1,-1                                                 
    while (ref->flash_offset != REF_EMPTY_NODE) {                                         
400055a4:   ffe00813            li  a6,-2                                                 
        if (ref->flash_offset == REF_LINK_NODE)                                           
400055a8:   08678e63            beq a5,t1,40005644 <jffs2_link_node_ref+0xdc>             
            ref = ref->next_in_ino;                                                       
        else                                                                              
            ref++;                                                                        
400055ac:   00850513            addi    a0,a0,8                                           
    while (ref->flash_offset != REF_EMPTY_NODE) {                                         
400055b0:   00452783            lw  a5,4(a0)                                              
400055b4:   ff079ae3            bne a5,a6,400055a8 <jffs2_link_node_ref+0x40>             
    dbg_noderef("New ref is %p (%08x becomes %08x,%p) len 0x%x\n", ref,                   
            ref->flash_offset, ofs, ref->next_in_ino, len);                               
                                                                                          
    ref->flash_offset = ofs;                                                              
                                                                                          
    if (!jeb->first_node) {                                                               
400055b8:   0285a783            lw  a5,40(a1)                                             
    ref->flash_offset = ofs;                                                              
400055bc:   00c52223            sw  a2,4(a0)                                              
        jeb->first_node = ref;                                                            
        BUG_ON(ref_offset(ref) != jeb->offset);                                           
400055c0:   00c5a803            lw  a6,12(a1)                                             
400055c4:   ffc67693            andi    a3,a2,-4                                          
    if (!jeb->first_node) {                                                               
400055c8:   0c078263            beqz    a5,4000568c <jffs2_link_node_ref+0x124>           
    } else if (unlikely(ref_offset(ref) != jeb->offset + c->sector_size - jeb->free_size)) {
400055cc:   0348a303            lw  t1,52(a7)                                             
400055d0:   0205a783            lw  a5,32(a1)                                             
400055d4:   00680833            add a6,a6,t1                                              
400055d8:   40f80833            sub a6,a6,a5                                              
400055dc:   10d81063            bne a6,a3,400056dc <jffs2_link_node_ref+0x174>            
                ref, ref_offset(ref), ref_offset(ref)+len,                                
                ref_offset(jeb->last_node),                                               
                ref_offset(jeb->last_node)+last_len);                                     
        BUG();                                                                            
    }                                                                                     
    jeb->last_node = ref;                                                                 
400055e0:   02a5a623            sw  a0,44(a1)                                             
                                                                                          
    if (ic) {                                                                             
400055e4:   0a070063            beqz    a4,40005684 <jffs2_link_node_ref+0x11c>           
        ref->next_in_ino = ic->nodes;                                                     
400055e8:   00472683            lw  a3,4(a4)                                              
400055ec:   00d52023            sw  a3,0(a0)                                              
        ic->nodes = ref;                                                                  
400055f0:   00a72223            sw  a0,4(a4)                                              
    } else {                                                                              
        ref->next_in_ino = NULL;                                                          
    }                                                                                     
                                                                                          
    switch(ref_flags(ref)) {                                                              
400055f4:   00367613            andi    a2,a2,3                                           
400055f8:   00100713            li  a4,1                                                  
400055fc:   04e60863            beq a2,a4,4000564c <jffs2_link_node_ref+0xe4>             
40005600:   ffe60613            addi    a2,a2,-2                                          
40005604:   06c76263            bltu    a4,a2,40005668 <jffs2_link_node_ref+0x100>        
        jeb->unchecked_size += len;                                                       
        break;                                                                            
                                                                                          
    case REF_NORMAL:                                                                      
    case REF_PRISTINE:                                                                    
        c->used_size += len;                                                              
40005608:   01c8a683            lw  a3,28(a7)                                             
        jeb->used_size += len;                                                            
4000560c:   0145a703            lw  a4,20(a1)                                             
        c->used_size += len;                                                              
40005610:   01c686b3            add a3,a3,t3                                              
40005614:   00d8ae23            sw  a3,28(a7)                                             
        jeb->used_size += len;                                                            
40005618:   01c70733            add a4,a4,t3                                              
4000561c:   00e5aa23            sw  a4,20(a1)                                             
    case REF_OBSOLETE:                                                                    
        c->dirty_size += len;                                                             
        jeb->dirty_size += len;                                                           
        break;                                                                            
    }                                                                                     
    c->free_size -= len;                                                                  
40005620:   0288a703            lw  a4,40(a7)                                             
    /* Set (and test) __totlen field... for now */                                        
    ref->__totlen = len;                                                                  
    ref_totlen(c, jeb, ref);                                                              
#endif                                                                                    
    return ref;                                                                           
}                                                                                         
40005624:   00c12083            lw  ra,12(sp)                                             
40005628:   00812403            lw  s0,8(sp)                                              
    c->free_size -= len;                                                                  
4000562c:   41c70733            sub a4,a4,t3                                              
40005630:   02e8a423            sw  a4,40(a7)                                             
    jeb->free_size -= len;                                                                
40005634:   41c787b3            sub a5,a5,t3                                              
40005638:   02f5a023            sw  a5,32(a1)                                             
}                                                                                         
4000563c:   01010113            addi    sp,sp,16                                          
40005640:   00008067            ret                                                       
            ref = ref->next_in_ino;                                                       
40005644:   00052503            lw  a0,0(a0)                                              
40005648:   f69ff06f            j   400055b0 <jffs2_link_node_ref+0x48>                   
        c->dirty_size += len;                                                             
4000564c:   0208a683            lw  a3,32(a7)                                             
        jeb->dirty_size += len;                                                           
40005650:   0185a703            lw  a4,24(a1)                                             
        c->dirty_size += len;                                                             
40005654:   01c686b3            add a3,a3,t3                                              
40005658:   02d8a023            sw  a3,32(a7)                                             
        jeb->dirty_size += len;                                                           
4000565c:   01c70733            add a4,a4,t3                                              
40005660:   00e5ac23            sw  a4,24(a1)                                             
        break;                                                                            
40005664:   fbdff06f            j   40005620 <jffs2_link_node_ref+0xb8>                   
        c->unchecked_size += len;                                                         
40005668:   0388a683            lw  a3,56(a7)                                             <== NOT EXECUTED
        jeb->unchecked_size += len;                                                       
4000566c:   0105a703            lw  a4,16(a1)                                             <== NOT EXECUTED
        c->unchecked_size += len;                                                         
40005670:   01c686b3            add a3,a3,t3                                              <== NOT EXECUTED
40005674:   02d8ac23            sw  a3,56(a7)                                             <== NOT EXECUTED
        jeb->unchecked_size += len;                                                       
40005678:   01c70733            add a4,a4,t3                                              <== NOT EXECUTED
4000567c:   00e5a823            sw  a4,16(a1)                                             <== NOT EXECUTED
        break;                                                                            
40005680:   fa1ff06f            j   40005620 <jffs2_link_node_ref+0xb8>                   <== NOT EXECUTED
        ref->next_in_ino = NULL;                                                          
40005684:   00052023            sw  zero,0(a0)                                            
40005688:   f6dff06f            j   400055f4 <jffs2_link_node_ref+0x8c>                   
        jeb->first_node = ref;                                                            
4000568c:   02a5a423            sw  a0,40(a1)                                             
        BUG_ON(ref_offset(ref) != jeb->offset);                                           
40005690:   01069663            bne a3,a6,4000569c <jffs2_link_node_ref+0x134>            
    } else if (unlikely(ref_offset(ref) != jeb->offset + c->sector_size - jeb->free_size)) {
40005694:   0205a783            lw  a5,32(a1)                                             
40005698:   f49ff06f            j   400055e0 <jffs2_link_node_ref+0x78>                   
        BUG_ON(ref_offset(ref) != jeb->offset);                                           
4000569c:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
400056a0:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
400056a4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400056a8:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
400056ac:   f4460613            addi    a2,a2,-188 # 4001df44 <__func__.2>                <== NOT EXECUTED
400056b0:   26800593            li  a1,616                                                <== NOT EXECUTED
400056b4:   db850513            addi    a0,a0,-584 # 4001ddb8 <__func__.4+0x54>           <== NOT EXECUTED
400056b8:   3e9070ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    BUG_ON(!jeb->allocated_refs);                                                         
400056bc:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
400056c0:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
400056c4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400056c8:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
400056cc:   f4460613            addi    a2,a2,-188 # 4001df44 <__func__.2>                <== NOT EXECUTED
400056d0:   25200593            li  a1,594                                                <== NOT EXECUTED
400056d4:   db850513            addi    a0,a0,-584 # 4001ddb8 <__func__.4+0x54>           <== NOT EXECUTED
400056d8:   3c9070ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    if (ref->flash_offset == REF_LINK_NODE) {                                             
400056dc:   00cea703            lw  a4,12(t4)                                             <== NOT EXECUTED
400056e0:   fff00793            li  a5,-1                                                 <== NOT EXECUTED
400056e4:   04f70c63            beq a4,a5,4000573c <jffs2_link_node_ref+0x1d4>            <== NOT EXECUTED
    ref++;                                                                                
400056e8:   008e8793            addi    a5,t4,8                                           <== NOT EXECUTED
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
400056ec:   0047a783            lw  a5,4(a5)                                              <== NOT EXECUTED
400056f0:   ffe00713            li  a4,-2                                                 <== NOT EXECUTED
400056f4:   00e78463            beq a5,a4,400056fc <jffs2_link_node_ref+0x194>            <== NOT EXECUTED
{                                                                                         
    uint32_t ref_end;                                                                     
    struct jffs2_raw_node_ref *next_ref = ref_next(ref);                                  
                                                                                          
    if (next_ref)                                                                         
        ref_end = ref_offset(next_ref);                                                   
400056f8:   ffc7f813            andi    a6,a5,-4                                          <== NOT EXECUTED
                ref_offset(jeb->last_node) : 0);                                          
            BUG();                                                                        
        }                                                                                 
        ref_end = jeb->offset + c->sector_size - jeb->free_size;                          
    }                                                                                     
    return ref_end - ref_offset(ref);                                                     
400056fc:   004ea783            lw  a5,4(t4)                                              <== NOT EXECUTED
        JFFS2_ERROR("Adding new ref %p at (0x%08x-0x%08x) not immediately after previous (0x%08x-0x%08x)\n",
40005700:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40005704:   4001e437            lui s0,0x4001e                                            <== NOT EXECUTED
40005708:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
4000570c:   f4440593            addi    a1,s0,-188 # 4001df44 <__func__.2>                <== NOT EXECUTED
40005710:   00de0733            add a4,t3,a3                                              <== NOT EXECUTED
40005714:   ffc7f793            andi    a5,a5,-4                                          <== NOT EXECUTED
40005718:   e2850513            addi    a0,a0,-472 # 4001de28 <__func__.4+0xc4>           <== NOT EXECUTED
4000571c:   afcff0ef            jal ra,40004a18 <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
40005720:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40005724:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005728:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
4000572c:   f4440613            addi    a2,s0,-188                                        <== NOT EXECUTED
40005730:   27000593            li  a1,624                                                <== NOT EXECUTED
40005734:   db850513            addi    a0,a0,-584 # 4001ddb8 <__func__.4+0x54>           <== NOT EXECUTED
40005738:   369070ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        ref = ref->next_in_ino;                                                           
4000573c:   008ea783            lw  a5,8(t4)                                              <== NOT EXECUTED
        if (!ref)                                                                         
40005740:   fa0796e3            bnez    a5,400056ec <jffs2_link_node_ref+0x184>           <== NOT EXECUTED
40005744:   fb9ff06f            j   400056fc <jffs2_link_node_ref+0x194>                  <== NOT EXECUTED
                                                                                          

4000a7f4 <jffs2_lookup>: /***********************************************************************/ /* Takes length argument because it can be either NUL-terminated or '/'-terminated */ struct _inode *jffs2_lookup(struct _inode *dir_i, const unsigned char *name, size_t namelen) {
4000a7f4:   fe010113            addi    sp,sp,-32                                         
4000a7f8:   01312623            sw  s3,12(sp)                                             
4000a7fc:   01412423            sw  s4,8(sp)                                              
4000a800:   01512223            sw  s5,4(sp)                                              
4000a804:   00112e23            sw  ra,28(sp)                                             
4000a808:   00812c23            sw  s0,24(sp)                                             
4000a80c:   00912a23            sw  s1,20(sp)                                             
4000a810:   01212823            sw  s2,16(sp)                                             
4000a814:   01612023            sw  s6,0(sp)                                              
4000a818:   00060993            mv  s3,a2                                                 
4000a81c:   00050a93            mv  s5,a0                                                 
4000a820:   00058a13            mv  s4,a1                                                 
    while (len--) {                                                                       
4000a824:   0e060463            beqz    a2,4000a90c <jffs2_lookup+0x118>                  <== NEVER TAKEN
4000a828:   00c58833            add a6,a1,a2                                              
4000a82c:   00058793            mv  a5,a1                                                 
    uint32_t hash = 0;                                                                    
4000a830:   00000413            li  s0,0                                                  
        hash ^= *(name++);                                                                
4000a834:   0007c703            lbu a4,0(a5)                                              
        hash = (hash << 4) | (hash >> 28);                                                
4000a838:   00441693            slli    a3,s0,0x4                                         
4000a83c:   01c45413            srli    s0,s0,0x1c                                        
4000a840:   00d46433            or  s0,s0,a3                                              
        hash ^= *(name++);                                                                
4000a844:   00178793            addi    a5,a5,1                                           
4000a848:   00874433            xor s0,a4,s0                                              
    while (len--) {                                                                       
4000a84c:   fef814e3            bne a6,a5,4000a834 <jffs2_lookup+0x40>                    
    dir_f = JFFS2_INODE_INFO(dir_i);                                                      
                                                                                          
    mutex_lock(&dir_f->sem);                                                              
                                                                                          
    /* NB: The 2.2 backport will need to explicitly check for '.' and '..' here */        
    for (fd_list = dir_f->dents; fd_list && fd_list->nhash <= hash; fd_list = fd_list->next) {
4000a850:   054aa483            lw  s1,84(s5)                                             
    struct jffs2_full_dirent *fd = NULL, *fd_list;                                        
4000a854:   00000913            li  s2,0                                                  
    for (fd_list = dir_f->dents; fd_list && fd_list->nhash <= hash; fd_list = fd_list->next) {
4000a858:   00049863            bnez    s1,4000a868 <jffs2_lookup+0x74>                   
4000a85c:   0840006f            j   4000a8e0 <jffs2_lookup+0xec>                          
4000a860:   0044a483            lw  s1,4(s1)                                              
4000a864:   04048863            beqz    s1,4000a8b4 <jffs2_lookup+0xc0>                   
4000a868:   0104a783            lw  a5,16(s1)                                             
4000a86c:   04f46463            bltu    s0,a5,4000a8b4 <jffs2_lookup+0xc0>                
        if (fd_list->nhash == hash &&                                                     
4000a870:   fe8798e3            bne a5,s0,4000a860 <jffs2_lookup+0x6c>                    
            (!fd || fd_list->version > fd->version) &&                                    
            strlen((char *)fd_list->name) == namelen &&                                   
4000a874:   01548b13            addi    s6,s1,21                                          
4000a878:   000b0513            mv  a0,s6                                                 
        if (fd_list->nhash == hash &&                                                     
4000a87c:   00090863            beqz    s2,4000a88c <jffs2_lookup+0x98>                   <== ALWAYS TAKEN
            (!fd || fd_list->version > fd->version) &&                                    
4000a880:   0084a703            lw  a4,8(s1)                                              <== NOT EXECUTED
4000a884:   00892783            lw  a5,8(s2)                                              <== NOT EXECUTED
4000a888:   fce7fce3            bgeu    a5,a4,4000a860 <jffs2_lookup+0x6c>                <== NOT EXECUTED
            strlen((char *)fd_list->name) == namelen &&                                   
4000a88c:   5a1110ef            jal ra,4001c62c <strlen>                                  
            (!fd || fd_list->version > fd->version) &&                                    
4000a890:   fd3518e3            bne a0,s3,4000a860 <jffs2_lookup+0x6c>                    
            !strncmp((char *)fd_list->name, (char *)name, namelen)) {                     
4000a894:   00098613            mv  a2,s3                                                 
4000a898:   000a0593            mv  a1,s4                                                 
4000a89c:   000b0513            mv  a0,s6                                                 
4000a8a0:   619110ef            jal ra,4001c6b8 <strncmp>                                 
            strlen((char *)fd_list->name) == namelen &&                                   
4000a8a4:   fa051ee3            bnez    a0,4000a860 <jffs2_lookup+0x6c>                   <== NEVER TAKEN
4000a8a8:   00048913            mv  s2,s1                                                 
    for (fd_list = dir_f->dents; fd_list && fd_list->nhash <= hash; fd_list = fd_list->next) {
4000a8ac:   0044a483            lw  s1,4(s1)                                              
4000a8b0:   fa049ce3            bnez    s1,4000a868 <jffs2_lookup+0x74>                   
            fd = fd_list;                                                                 
        }                                                                                 
    }                                                                                     
    if (fd)                                                                               
4000a8b4:   06090a63            beqz    s2,4000a928 <jffs2_lookup+0x134>                  
        ino = fd->ino;                                                                    
4000a8b8:   00c92403            lw  s0,12(s2)                                             
    struct _inode *inode = NULL;                                                          
4000a8bc:   00000493            li  s1,0                                                  
    mutex_unlock(&dir_f->sem);                                                            
    if (ino) {                                                                            
4000a8c0:   02040063            beqz    s0,4000a8e0 <jffs2_lookup+0xec>                   
        inode = jffs2_iget(dir_i->i_sb, ino);                                             
4000a8c4:   040aa503            lw  a0,64(s5)                                             
4000a8c8:   00040593            mv  a1,s0                                                 
4000a8cc:   a4cf80ef            jal ra,40002b18 <jffs2_iget>                              
        if (IS_ERR(inode)) {                                                              
4000a8d0:   c1800793            li  a5,-1000                                              
        inode = jffs2_iget(dir_i->i_sb, ino);                                             
4000a8d4:   00050493            mv  s1,a0                                                 
        if (IS_ERR(inode)) {                                                              
4000a8d8:   02a7ee63            bltu    a5,a0,4000a914 <jffs2_lookup+0x120>               
            printk("jffs2_iget() failed for ino #%lu\n", ino);                            
            return inode;                                                                 
        } else {                                                                          
            inode->i_fd = fd;                                                             
4000a8dc:   05252223            sw  s2,68(a0)                                             
        }                                                                                 
    }                                                                                     
                                                                                          
    return inode;                                                                         
}                                                                                         
4000a8e0:   01c12083            lw  ra,28(sp)                                             
4000a8e4:   01812403            lw  s0,24(sp)                                             
4000a8e8:   01012903            lw  s2,16(sp)                                             
4000a8ec:   00c12983            lw  s3,12(sp)                                             
4000a8f0:   00812a03            lw  s4,8(sp)                                              
4000a8f4:   00412a83            lw  s5,4(sp)                                              
4000a8f8:   00012b03            lw  s6,0(sp)                                              
4000a8fc:   00048513            mv  a0,s1                                                 
4000a900:   01412483            lw  s1,20(sp)                                             
4000a904:   02010113            addi    sp,sp,32                                          
4000a908:   00008067            ret                                                       
    uint32_t hash = 0;                                                                    
4000a90c:   00000413            li  s0,0                                                  <== NOT EXECUTED
4000a910:   f41ff06f            j   4000a850 <jffs2_lookup+0x5c>                          <== NOT EXECUTED
            printk("jffs2_iget() failed for ino #%lu\n", ino);                            
4000a914:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000a918:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4000a91c:   88450513            addi    a0,a0,-1916 # 4001f884 <__func__.0+0x28>          <== NOT EXECUTED
4000a920:   e95ff0ef            jal ra,4000a7b4 <jffs2_printk>                            <== NOT EXECUTED
            return inode;                                                                 
4000a924:   fbdff06f            j   4000a8e0 <jffs2_lookup+0xec>                          <== NOT EXECUTED
    struct _inode *inode = NULL;                                                          
4000a928:   00000493            li  s1,0                                                  
4000a92c:   fb5ff06f            j   4000a8e0 <jffs2_lookup+0xec>                          
                                                                                          

40005480 <jffs2_lookup_node_frag>: next = fragtree->rb_node;
40005480:   00052783            lw  a5,0(a0)                                              
    struct jffs2_node_frag *prev = NULL;                                                  
40005484:   00000513            li  a0,0                                                  
    while(next) {                                                                         
40005488:   04078463            beqz    a5,400054d0 <jffs2_lookup_node_frag+0x50>         <== NEVER TAKEN
        if (frag->ofs + frag->size <= offset) {                                           
4000548c:   0187a683            lw  a3,24(a5)                                             
40005490:   0147a703            lw  a4,20(a5)                                             
40005494:   00e68733            add a4,a3,a4                                              
40005498:   02e5e063            bltu    a1,a4,400054b8 <jffs2_lookup_node_frag+0x38>      
            if (!prev || frag->ofs > prev->ofs)                                           
4000549c:   00050663            beqz    a0,400054a8 <jffs2_lookup_node_frag+0x28>         
400054a0:   01852703            lw  a4,24(a0)                                             
400054a4:   00d77463            bgeu    a4,a3,400054ac <jffs2_lookup_node_frag+0x2c>      
400054a8:   00078513            mv  a0,a5                                                 
            next = frag->rb.rb_right;                                                     
400054ac:   0047a783            lw  a5,4(a5)                                              
    while(next) {                                                                         
400054b0:   fc079ee3            bnez    a5,4000548c <jffs2_lookup_node_frag+0xc>          <== ALWAYS TAKEN
400054b4:   00008067            ret                                                       <== NOT EXECUTED
        } else if (frag->ofs > offset) {                                                  
400054b8:   00d5f863            bgeu    a1,a3,400054c8 <jffs2_lookup_node_frag+0x48>      
            next = frag->rb.rb_left;                                                      
400054bc:   0007a783            lw  a5,0(a5)                                              
    while(next) {                                                                         
400054c0:   fc0796e3            bnez    a5,4000548c <jffs2_lookup_node_frag+0xc>          <== ALWAYS TAKEN
400054c4:   ff1ff06f            j   400054b4 <jffs2_lookup_node_frag+0x34>                <== NOT EXECUTED
400054c8:   00078513            mv  a0,a5                                                 
              prev->ofs, prev->ofs+prev->size);                                           
    else                                                                                  
        dbg_fragtree2("returning NULL, empty fragtree\n");                                
                                                                                          
    return prev;                                                                          
}                                                                                         
400054cc:   00008067            ret                                                       
400054d0:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

40005a9c <jffs2_mark_node_obsolete>: struct jffs2_unknown_node n; int ret, addedsize; size_t retlen; uint32_t freed_len; if(unlikely(!ref)) {
40005a9c:   32058e63            beqz    a1,40005dd8 <jffs2_mark_node_obsolete+0x33c>      <== NEVER TAKEN
{                                                                                         
40005aa0:   fd010113            addi    sp,sp,-48                                         
40005aa4:   03212023            sw  s2,32(sp)                                             
40005aa8:   00058913            mv  s2,a1                                                 
        pr_notice("EEEEEK. jffs2_mark_node_obsolete called with NULL node\n");            
        return;                                                                           
    }                                                                                     
    if (ref_obsolete(ref)) {                                                              
40005aac:   0045a583            lw  a1,4(a1)                                              
{                                                                                         
40005ab0:   02112623            sw  ra,44(sp)                                             
40005ab4:   02812423            sw  s0,40(sp)                                             
40005ab8:   02912223            sw  s1,36(sp)                                             
40005abc:   01312e23            sw  s3,28(sp)                                             
40005ac0:   01412c23            sw  s4,24(sp)                                             
    if (ref_obsolete(ref)) {                                                              
40005ac4:   00100713            li  a4,1                                                  
40005ac8:   0035f693            andi    a3,a1,3                                           
40005acc:   14e68063            beq a3,a4,40005c0c <jffs2_mark_node_obsolete+0x170>       
        jffs2_dbg(1, "%s(): called with already obsolete node at 0x%08x\n",               
              __func__, ref_offset(ref));                                                 
        return;                                                                           
    }                                                                                     
    blocknr = ref->flash_offset / c->sector_size;                                         
40005ad0:   03452483            lw  s1,52(a0)                                             
    if (blocknr >= c->nr_blocks) {                                                        
40005ad4:   05052703            lw  a4,80(a0)                                             
40005ad8:   00050413            mv  s0,a0                                                 
    blocknr = ref->flash_offset / c->sector_size;                                         
40005adc:   0295d4b3            divu    s1,a1,s1                                          
    if (blocknr >= c->nr_blocks) {                                                        
40005ae0:   3ee4f263            bgeu    s1,a4,40005ec4 <jffs2_mark_node_obsolete+0x428>   
        pr_notice("raw node at 0x%08x is off the end of device!\n",                       
              ref->flash_offset);                                                         
        BUG();                                                                            
    }                                                                                     
    jeb = &c->blocks[blocknr];                                                            
40005ae4:   03400593            li  a1,52                                                 
40005ae8:   02b484b3            mul s1,s1,a1                                              
40005aec:   05452583            lw  a1,84(a0)                                             
        mutex_lock(&c->erase_free_sem);                                                   
    }                                                                                     
                                                                                          
    spin_lock(&c->erase_completion_lock);                                                 
                                                                                          
    freed_len = ref_totlen(c, jeb, ref);                                                  
40005af0:   00090613            mv  a2,s2                                                 
    jeb = &c->blocks[blocknr];                                                            
40005af4:   009584b3            add s1,a1,s1                                              
    freed_len = ref_totlen(c, jeb, ref);                                                  
40005af8:   00048593            mv  a1,s1                                                 
40005afc:   d29ff0ef            jal ra,40005824 <__jffs2_ref_totlen>                      
                                                                                          
    if (ref_flags(ref) == REF_UNCHECKED) {                                                
40005b00:   00492703            lw  a4,4(s2)                                              
    freed_len = ref_totlen(c, jeb, ref);                                                  
40005b04:   00050a13            mv  s4,a0                                                 
    if (ref_flags(ref) == REF_UNCHECKED) {                                                
40005b08:   00377793            andi    a5,a4,3                                           
40005b0c:   12078063            beqz    a5,40005c2c <jffs2_mark_node_obsolete+0x190>      <== NEVER TAKEN
                      ref->flash_offset, jeb->used_size);                                 
            BUG();                                                                        
        })                                                                                
            jffs2_dbg(1, "Obsoleting node at 0x%08x of len %#x: ",                        
                  ref_offset(ref), freed_len);                                            
        jeb->used_size -= freed_len;                                                      
40005b10:   0144a683            lw  a3,20(s1)                                             
        c->used_size -= freed_len;                                                        
40005b14:   01c42783            lw  a5,28(s0)                                             
        jeb->used_size -= freed_len;                                                      
40005b18:   40a686b3            sub a3,a3,a0                                              
40005b1c:   00d4aa23            sw  a3,20(s1)                                             
        c->used_size -= freed_len;                                                        
40005b20:   40a787b3            sub a5,a5,a0                                              
40005b24:   00f42e23            sw  a5,28(s0)                                             
    }                                                                                     
                                                                                          
    // Take care, that wasted size is taken into concern                                  
    if ((jeb->dirty_size || ISDIRTY(jeb->wasted_size + freed_len)) && jeb != c->nextblock) {
40005b28:   0184a783            lw  a5,24(s1)                                             
40005b2c:   01c4a603            lw  a2,28(s1)                                             
40005b30:   00079863            bnez    a5,40005b40 <jffs2_mark_node_obsolete+0xa4>       
40005b34:   00ca06b3            add a3,s4,a2                                              
40005b38:   0c400593            li  a1,196                                                
40005b3c:   10d5f863            bgeu    a1,a3,40005c4c <jffs2_mark_node_obsolete+0x1b0>   
40005b40:   05842683            lw  a3,88(s0)                                             
40005b44:   10968263            beq a3,s1,40005c48 <jffs2_mark_node_obsolete+0x1ac>       
        jffs2_dbg(1, "Dirtying\n");                                                       
        addedsize = freed_len;                                                            
        jeb->dirty_size += freed_len;                                                     
        c->dirty_size += freed_len;                                                       
40005b48:   02042803            lw  a6,32(s0)                                             
        jeb->dirty_size += freed_len;                                                     
40005b4c:   00fa06b3            add a3,s4,a5                                              
40005b50:   00d4ac23            sw  a3,24(s1)                                             
        c->dirty_size += freed_len;                                                       
40005b54:   010a0833            add a6,s4,a6                                              
40005b58:   03042023            sw  a6,32(s0)                                             
        addedsize = freed_len;                                                            
40005b5c:   000a0993            mv  s3,s4                                                 
                                                                                          
        /* Convert wasted space to dirty, if not a bad block */                           
        if (jeb->wasted_size) {                                                           
40005b60:   14061e63            bnez    a2,40005cbc <jffs2_mark_node_obsolete+0x220>      
        jffs2_dbg(1, "Wasting\n");                                                        
        addedsize = 0;                                                                    
        jeb->wasted_size += freed_len;                                                    
        c->wasted_size += freed_len;                                                      
    }                                                                                     
    ref->flash_offset = ref_offset(ref) | REF_OBSOLETE;                                   
40005b64:   ffc77713            andi    a4,a4,-4                                          
40005b68:   00176713            ori a4,a4,1                                               
40005b6c:   00e92223            sw  a4,4(s2)                                              
                                                                                          
    jffs2_dbg_acct_sanity_check_nolock(c, jeb);                                           
40005b70:   00048593            mv  a1,s1                                                 
40005b74:   00040513            mv  a0,s0                                                 
40005b78:   2d5040ef            jal ra,4000a64c <__jffs2_dbg_acct_sanity_check_nolock>    
    jffs2_dbg_acct_paranoia_check_nolock(c, jeb);                                         
                                                                                          
    if (c->flags & JFFS2_SB_FLAG_SCANNING) {                                              
40005b7c:   00c42783            lw  a5,12(s0)                                             
40005b80:   0027f793            andi    a5,a5,2                                           
40005b84:   08079463            bnez    a5,40005c0c <jffs2_mark_node_obsolete+0x170>      <== NEVER TAKEN
        spin_unlock(&c->erase_completion_lock);                                           
        /* We didn't lock the erase_free_sem */                                           
        return;                                                                           
    }                                                                                     
                                                                                          
    if (jeb == c->nextblock) {                                                            
40005b88:   05842783            lw  a5,88(s0)                                             
40005b8c:   06978663            beq a5,s1,40005bf8 <jffs2_mark_node_obsolete+0x15c>       
        jffs2_dbg(2, "Not moving nextblock 0x%08x to dirty/erase_pending list\n",         
              jeb->offset);                                                               
    } else if (!jeb->used_size && !jeb->unchecked_size) {                                 
40005b90:   0144a703            lw  a4,20(s1)                                             
        if (jeb == c->gcblock) {                                                          
40005b94:   05c42783            lw  a5,92(s0)                                             
    } else if (!jeb->used_size && !jeb->unchecked_size) {                                 
40005b98:   0c071663            bnez    a4,40005c64 <jffs2_mark_node_obsolete+0x1c8>      
40005b9c:   0104a703            lw  a4,16(s1)                                             
40005ba0:   0c071263            bnez    a4,40005c64 <jffs2_mark_node_obsolete+0x1c8>      <== NEVER TAKEN
        if (jeb == c->gcblock) {                                                          
40005ba4:   2cf48463            beq s1,a5,40005e6c <jffs2_mark_node_obsolete+0x3d0>       
    ent->prev->next = ent->next;                                                          
40005ba8:   0044a703            lw  a4,4(s1)                                              
40005bac:   0004a783            lw  a5,0(s1)                                              
40005bb0:   00f72023            sw  a5,0(a4)                                              
    ent->next->prev = ent->prev;                                                          
40005bb4:   00e7a223            sw  a4,4(a5)                                              
40005bb8:   8e41a783            lw  a5,-1820(gp) # 40042fbc <_Watchdog_Ticks_since_boot>  
        }                                                                                 
        if (jffs2_wbuf_dirty(c)) {                                                        
            jffs2_dbg(1, "...and adding to erasable_pending_wbuf_list\n");                
            list_add_tail(&jeb->list, &c->erasable_pending_wbuf_list);                    
        } else {                                                                          
            if (jiffies & 127) {                                                          
40005bbc:   07f7f793            andi    a5,a5,127                                         
40005bc0:   24078c63            beqz    a5,40005e18 <jffs2_mark_node_obsolete+0x37c>      <== NEVER TAKEN
    struct list_head *prev = beforethisent->prev;                                         
40005bc4:   09c42703            lw  a4,156(s0)                                            
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
40005bc8:   0e442503            lw  a0,228(s0)                                            
                /* Most of the time, we just erase it immediately. Otherwise we           
                   spend ages scanning it on mount, etc. */                               
                jffs2_dbg(1, "...and adding to erase_pending_list\n");                    
                list_add_tail(&jeb->list, &c->erase_pending_list);                        
                c->nr_erasing_blocks++;                                                   
40005bcc:   04042783            lw  a5,64(s0)                                             
                list_add_tail(&jeb->list, &c->erase_pending_list);                        
40005bd0:   09840693            addi    a3,s0,152                                         
    newent->next = beforethisent;                                                         
40005bd4:   00d4a023            sw  a3,0(s1)                                              
    newent->prev = prev;                                                                  
40005bd8:   00e4a223            sw  a4,4(s1)                                              
    if (fc->trigger_garbage_collection != NULL) {                                         
40005bdc:   02052683            lw  a3,32(a0)                                             
    beforethisent->prev = newent;                                                         
40005be0:   08942e23            sw  s1,156(s0)                                            
    prev->next = newent;                                                                  
40005be4:   00972023            sw  s1,0(a4)                                              
                c->nr_erasing_blocks++;                                                   
40005be8:   00178793            addi    a5,a5,1                                           
40005bec:   04f42023            sw  a5,64(s0)                                             
40005bf0:   00068463            beqz    a3,40005bf8 <jffs2_mark_node_obsolete+0x15c>      <== ALWAYS TAKEN
        (*fc->trigger_garbage_collection)(fc);                                            
40005bf4:   000680e7            jalr    a3                                                <== NOT EXECUTED
              jeb->used_size);                                                            
    }                                                                                     
                                                                                          
    spin_unlock(&c->erase_completion_lock);                                               
                                                                                          
    if (!jffs2_can_mark_obsolete(c) || jffs2_is_readonly(c) ||                            
40005bf8:   0ec44783            lbu a5,236(s0)                                            
40005bfc:   00079863            bnez    a5,40005c0c <jffs2_mark_node_obsolete+0x170>      <== NEVER TAKEN
        (c->flags & JFFS2_SB_FLAG_BUILDING)) {                                            
40005c00:   00c42783            lw  a5,12(s0)                                             
40005c04:   0047f793            andi    a5,a5,4                                           
    if (!jffs2_can_mark_obsolete(c) || jffs2_is_readonly(c) ||                            
40005c08:   0e078a63            beqz    a5,40005cfc <jffs2_mark_node_obsolete+0x260>      <== ALWAYS TAKEN
        spin_unlock(&c->erase_completion_lock);                                           
    }                                                                                     
                                                                                          
 out_erase_sem:                                                                           
    mutex_unlock(&c->erase_free_sem);                                                     
}                                                                                         
40005c0c:   02c12083            lw  ra,44(sp)                                             
40005c10:   02812403            lw  s0,40(sp)                                             
40005c14:   02412483            lw  s1,36(sp)                                             
40005c18:   02012903            lw  s2,32(sp)                                             
40005c1c:   01c12983            lw  s3,28(sp)                                             
40005c20:   01812a03            lw  s4,24(sp)                                             
40005c24:   03010113            addi    sp,sp,48                                          
40005c28:   00008067            ret                                                       
        jeb->unchecked_size -= freed_len;                                                 
40005c2c:   0104a683            lw  a3,16(s1)                                             <== NOT EXECUTED
        c->unchecked_size -= freed_len;                                                   
40005c30:   03842783            lw  a5,56(s0)                                             <== NOT EXECUTED
        jeb->unchecked_size -= freed_len;                                                 
40005c34:   40a686b3            sub a3,a3,a0                                              <== NOT EXECUTED
40005c38:   00d4a823            sw  a3,16(s1)                                             <== NOT EXECUTED
        c->unchecked_size -= freed_len;                                                   
40005c3c:   40a787b3            sub a5,a5,a0                                              <== NOT EXECUTED
40005c40:   02f42c23            sw  a5,56(s0)                                             <== NOT EXECUTED
40005c44:   ee5ff06f            j   40005b28 <jffs2_mark_node_obsolete+0x8c>              <== NOT EXECUTED
    if ((jeb->dirty_size || ISDIRTY(jeb->wasted_size + freed_len)) && jeb != c->nextblock) {
40005c48:   00ca06b3            add a3,s4,a2                                              
        c->wasted_size += freed_len;                                                      
40005c4c:   02442783            lw  a5,36(s0)                                             
        jeb->wasted_size += freed_len;                                                    
40005c50:   00d4ae23            sw  a3,28(s1)                                             
        addedsize = 0;                                                                    
40005c54:   00000993            li  s3,0                                                  
        c->wasted_size += freed_len;                                                      
40005c58:   014787b3            add a5,a5,s4                                              
40005c5c:   02f42223            sw  a5,36(s0)                                             
40005c60:   f05ff06f            j   40005b64 <jffs2_mark_node_obsolete+0xc8>              
    } else if (jeb == c->gcblock) {                                                       
40005c64:   f8f48ae3            beq s1,a5,40005bf8 <jffs2_mark_node_obsolete+0x15c>       
    } else if (ISDIRTY(jeb->dirty_size) && !ISDIRTY(jeb->dirty_size - addedsize)) {       
40005c68:   0184a783            lw  a5,24(s1)                                             
40005c6c:   0c400713            li  a4,196                                                
40005c70:   00f77663            bgeu    a4,a5,40005c7c <jffs2_mark_node_obsolete+0x1e0>   
40005c74:   413786b3            sub a3,a5,s3                                              
40005c78:   16d77a63            bgeu    a4,a3,40005dec <jffs2_mark_node_obsolete+0x350>   
    } else if (VERYDIRTY(c, jeb->dirty_size) &&                                           
40005c7c:   03442703            lw  a4,52(s0)                                             
40005c80:   00175713            srli    a4,a4,0x1                                         
40005c84:   f6e7eae3            bltu    a5,a4,40005bf8 <jffs2_mark_node_obsolete+0x15c>   
           !VERYDIRTY(c, jeb->dirty_size - addedsize)) {                                  
40005c88:   41378633            sub a2,a5,s3                                              
    } else if (VERYDIRTY(c, jeb->dirty_size) &&                                           
40005c8c:   f6e676e3            bgeu    a2,a4,40005bf8 <jffs2_mark_node_obsolete+0x15c>   
    ent->prev->next = ent->next;                                                          
40005c90:   0004a703            lw  a4,0(s1)                                              
40005c94:   0044a683            lw  a3,4(s1)                                              
        list_add_tail(&jeb->list, &c->very_dirty_list);                                   
40005c98:   06840793            addi    a5,s0,104                                         
40005c9c:   00e6a023            sw  a4,0(a3)                                              
    ent->next->prev = ent->prev;                                                          
40005ca0:   00d72223            sw  a3,4(a4)                                              
    struct list_head *prev = beforethisent->prev;                                         
40005ca4:   06c42703            lw  a4,108(s0)                                            
    newent->next = beforethisent;                                                         
40005ca8:   00f4a023            sw  a5,0(s1)                                              
    newent->prev = prev;                                                                  
40005cac:   00e4a223            sw  a4,4(s1)                                              
    beforethisent->prev = newent;                                                         
40005cb0:   06942623            sw  s1,108(s0)                                            
    prev->next = newent;                                                                  
40005cb4:   00972023            sw  s1,0(a4)                                              
} /* list_add_tail() */                                                                   
40005cb8:   f41ff06f            j   40005bf8 <jffs2_mark_node_obsolete+0x15c>             
    list_for_each(this, head) {                                                           
40005cbc:   0b842783            lw  a5,184(s0)                                            
            if (on_list(&jeb->list, &c->bad_used_list)) {                                 
40005cc0:   0b840593            addi    a1,s0,184                                         
    list_for_each(this, head) {                                                           
40005cc4:   00f58863            beq a1,a5,40005cd4 <jffs2_mark_node_obsolete+0x238>       
        if (this == obj) {                                                                
40005cc8:   10f48e63            beq s1,a5,40005de4 <jffs2_mark_node_obsolete+0x348>       <== NOT EXECUTED
    list_for_each(this, head) {                                                           
40005ccc:   0007a783            lw  a5,0(a5)                                              <== NOT EXECUTED
40005cd0:   fef59ce3            bne a1,a5,40005cc8 <jffs2_mark_node_obsolete+0x22c>       <== NOT EXECUTED
                c->wasted_size -= jeb->wasted_size;                                       
40005cd4:   02442583            lw  a1,36(s0)                                             
                jeb->dirty_size += jeb->wasted_size;                                      
40005cd8:   00c687b3            add a5,a3,a2                                              
40005cdc:   00f4ac23            sw  a5,24(s1)                                             
                c->dirty_size += jeb->wasted_size;                                        
40005ce0:   00c80833            add a6,a6,a2                                              
                c->wasted_size -= jeb->wasted_size;                                       
40005ce4:   40c587b3            sub a5,a1,a2                                              
                c->dirty_size += jeb->wasted_size;                                        
40005ce8:   03042023            sw  a6,32(s0)                                             
                c->wasted_size -= jeb->wasted_size;                                       
40005cec:   02f42223            sw  a5,36(s0)                                             
                addedsize += jeb->wasted_size;                                            
40005cf0:   00ca09b3            add s3,s4,a2                                              
                jeb->wasted_size = 0;                                                     
40005cf4:   0004ae23            sw  zero,28(s1)                                           
40005cf8:   e6dff06f            j   40005b64 <jffs2_mark_node_obsolete+0xc8>              
    ret = jffs2_flash_read(c, ref_offset(ref), sizeof(n), &retlen, (char *)&n);           
40005cfc:   00492583            lw  a1,4(s2)                                              
40005d00:   00410713            addi    a4,sp,4                                           
40005d04:   00010693            mv  a3,sp                                                 
40005d08:   00c00613            li  a2,12                                                 
40005d0c:   ffc5f593            andi    a1,a1,-4                                          
40005d10:   00040513            mv  a0,s0                                                 
40005d14:   465050ef            jal ra,4000b978 <jffs2_flash_read>                        
    if (ret) {                                                                            
40005d18:   12051c63            bnez    a0,40005e50 <jffs2_mark_node_obsolete+0x3b4>      <== NEVER TAKEN
    if (retlen != sizeof(n)) {                                                            
40005d1c:   00012483            lw  s1,0(sp)                                              
40005d20:   00c00793            li  a5,12                                                 
40005d24:   10f49863            bne s1,a5,40005e34 <jffs2_mark_node_obsolete+0x398>       
    if (PAD(je32_to_cpu(n.totlen)) != PAD(freed_len)) {                                   
40005d28:   00812583            lw  a1,8(sp)                                              
40005d2c:   003a0793            addi    a5,s4,3                                           
40005d30:   00358713            addi    a4,a1,3                                           
40005d34:   00f747b3            xor a5,a4,a5                                              
40005d38:   ffc7f793            andi    a5,a5,-4                                          
40005d3c:   12079c63            bnez    a5,40005e74 <jffs2_mark_node_obsolete+0x3d8>      <== NEVER TAKEN
    if (!(je16_to_cpu(n.nodetype) & JFFS2_NODE_ACCURATE)) {                               
40005d40:   00615703            lhu a4,6(sp)                                              
40005d44:   000027b7            lui a5,0x2                                                
40005d48:   00f777b3            and a5,a4,a5                                              
40005d4c:   ec0780e3            beqz    a5,40005c0c <jffs2_mark_node_obsolete+0x170>      <== NEVER TAKEN
    ret = jffs2_flash_write(c, ref_offset(ref), sizeof(n), &retlen, (char *)&n);          
40005d50:   00492583            lw  a1,4(s2)                                              
    n.nodetype = cpu_to_je16(je16_to_cpu(n.nodetype) & ~JFFS2_NODE_ACCURATE);             
40005d54:   ffffe7b7            lui a5,0xffffe                                            
40005d58:   fff78793            addi    a5,a5,-1 # ffffdfff <RamEnd+0xbeffdfff>           
40005d5c:   00f777b3            and a5,a4,a5                                              
    ret = jffs2_flash_write(c, ref_offset(ref), sizeof(n), &retlen, (char *)&n);          
40005d60:   00010693            mv  a3,sp                                                 
40005d64:   00410713            addi    a4,sp,4                                           
40005d68:   00c00613            li  a2,12                                                 
40005d6c:   ffc5f593            andi    a1,a1,-4                                          
40005d70:   00040513            mv  a0,s0                                                 
    n.nodetype = cpu_to_je16(je16_to_cpu(n.nodetype) & ~JFFS2_NODE_ACCURATE);             
40005d74:   00f11323            sh  a5,6(sp)                                              
    ret = jffs2_flash_write(c, ref_offset(ref), sizeof(n), &retlen, (char *)&n);          
40005d78:   419050ef            jal ra,4000b990 <jffs2_flash_write>                       
    if (ret) {                                                                            
40005d7c:   12051263            bnez    a0,40005ea0 <jffs2_mark_node_obsolete+0x404>      <== NEVER TAKEN
    if (retlen != sizeof(n)) {                                                            
40005d80:   00012603            lw  a2,0(sp)                                              
40005d84:   10961263            bne a2,s1,40005e88 <jffs2_mark_node_obsolete+0x3ec>       
    if (ref->next_in_ino) {                                                               
40005d88:   00092683            lw  a3,0(s2)                                              
40005d8c:   e80680e3            beqz    a3,40005c0c <jffs2_mark_node_obsolete+0x170>      
40005d90:   00068793            mv  a5,a3                                                 
40005d94:   00078593            mv  a1,a5                                                 
    while(raw->next_in_ino)                                                               
40005d98:   0007a783            lw  a5,0(a5)                                              
40005d9c:   fe079ce3            bnez    a5,40005d94 <jffs2_mark_node_obsolete+0x2f8>      
        for (p = &ic->nodes; (*p) != ref; p = &((*p)->next_in_ino))                       
40005da0:   0045a783            lw  a5,4(a1)                                              
40005da4:   11278c63            beq a5,s2,40005ebc <jffs2_mark_node_obsolete+0x420>       
40005da8:   00078713            mv  a4,a5                                                 
40005dac:   0007a783            lw  a5,0(a5)                                              
40005db0:   fef91ce3            bne s2,a5,40005da8 <jffs2_mark_node_obsolete+0x30c>       
        *p = ref->next_in_ino;                                                            
40005db4:   00d72023            sw  a3,0(a4)                                              
                if (ic->nodes == (void *)ic && ic->pino_nlink == 0)                       
40005db8:   0045a783            lw  a5,4(a1)                                              
        ref->next_in_ino = NULL;                                                          
40005dbc:   00092023            sw  zero,0(s2)                                            
                if (ic->nodes == (void *)ic && ic->pino_nlink == 0)                       
40005dc0:   e4f596e3            bne a1,a5,40005c0c <jffs2_mark_node_obsolete+0x170>       
40005dc4:   0145a783            lw  a5,20(a1)                                             
40005dc8:   e40792e3            bnez    a5,40005c0c <jffs2_mark_node_obsolete+0x170>      
                    jffs2_del_ino_cache(c, ic);                                           
40005dcc:   00040513            mv  a0,s0                                                 
40005dd0:   d08ff0ef            jal ra,400052d8 <jffs2_del_ino_cache>                     
    return 0;                                                                             
}                                                                                         
                                                                                          
static inline void mutex_unlock(struct mutex *m)                                          
{                                                                                         
    (void) m;                                                                             
40005dd4:   e39ff06f            j   40005c0c <jffs2_mark_node_obsolete+0x170>             
        pr_notice("EEEEEK. jffs2_mark_node_obsolete called with NULL node\n");            
40005dd8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005ddc:   00450513            addi    a0,a0,4 # 4001e004 <__func__.4+0x94>              <== NOT EXECUTED
40005de0:   b11ff06f            j   400058f0 <jffs2_printk>                               <== NOT EXECUTED
                addedsize = 0; /* To fool the refiling code later */                      
40005de4:   00000993            li  s3,0                                                  <== NOT EXECUTED
40005de8:   d7dff06f            j   40005b64 <jffs2_mark_node_obsolete+0xc8>              <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
40005dec:   0004a703            lw  a4,0(s1)                                              
40005df0:   0044a683            lw  a3,4(s1)                                              
        list_add_tail(&jeb->list, &c->dirty_list);                                        
40005df4:   07040793            addi    a5,s0,112                                         
40005df8:   00e6a023            sw  a4,0(a3)                                              
    ent->next->prev = ent->prev;                                                          
40005dfc:   00d72223            sw  a3,4(a4)                                              
    struct list_head *prev = beforethisent->prev;                                         
40005e00:   07442703            lw  a4,116(s0)                                            
    newent->next = beforethisent;                                                         
40005e04:   00f4a023            sw  a5,0(s1)                                              
    newent->prev = prev;                                                                  
40005e08:   00e4a223            sw  a4,4(s1)                                              
    beforethisent->prev = newent;                                                         
40005e0c:   06942a23            sw  s1,116(s0)                                            
    prev->next = newent;                                                                  
40005e10:   00972023            sw  s1,0(a4)                                              
} /* list_add_tail() */                                                                   
40005e14:   de5ff06f            j   40005bf8 <jffs2_mark_node_obsolete+0x15c>             
    struct list_head *prev = beforethisent->prev;                                         
40005e18:   07c42783            lw  a5,124(s0)                                            <== NOT EXECUTED
                list_add_tail(&jeb->list, &c->erasable_list);                             
40005e1c:   07840713            addi    a4,s0,120                                         <== NOT EXECUTED
    newent->next = beforethisent;                                                         
40005e20:   00e4a023            sw  a4,0(s1)                                              <== NOT EXECUTED
    newent->prev = prev;                                                                  
40005e24:   00f4a223            sw  a5,4(s1)                                              <== NOT EXECUTED
    beforethisent->prev = newent;                                                         
40005e28:   06942e23            sw  s1,124(s0)                                            <== NOT EXECUTED
    prev->next = newent;                                                                  
40005e2c:   0097a023            sw  s1,0(a5)                                              <== NOT EXECUTED
} /* list_add_tail() */                                                                   
40005e30:   dc9ff06f            j   40005bf8 <jffs2_mark_node_obsolete+0x15c>             <== NOT EXECUTED
        pr_warn("Short read from obsoleted node at 0x%08x: %zd\n",                        
40005e34:   00492583            lw  a1,4(s2)                                              <== NOT EXECUTED
40005e38:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005e3c:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40005e40:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40005e44:   0f050513            addi    a0,a0,240 # 4001e0f0 <__func__.4+0x180>           <== NOT EXECUTED
40005e48:   aa9ff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
        goto out_erase_sem;                                                               
40005e4c:   dc1ff06f            j   40005c0c <jffs2_mark_node_obsolete+0x170>             <== NOT EXECUTED
        pr_warn("Read error reading from obsoleted node at 0x%08x: %d\n",                 
40005e50:   00492583            lw  a1,4(s2)                                              <== NOT EXECUTED
40005e54:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40005e58:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005e5c:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40005e60:   0b050513            addi    a0,a0,176 # 4001e0b0 <__func__.4+0x140>           <== NOT EXECUTED
40005e64:   a8dff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
        goto out_erase_sem;                                                               
40005e68:   da5ff06f            j   40005c0c <jffs2_mark_node_obsolete+0x170>             <== NOT EXECUTED
            c->gcblock = NULL;                                                            
40005e6c:   04042e23            sw  zero,92(s0)                                           
40005e70:   d49ff06f            j   40005bb8 <jffs2_mark_node_obsolete+0x11c>             
        pr_warn("Node totlen on flash (0x%08x) != totlen from node ref (0x%08x)\n",       
40005e74:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005e78:   000a0613            mv  a2,s4                                                 <== NOT EXECUTED
40005e7c:   12c50513            addi    a0,a0,300 # 4001e12c <__func__.4+0x1bc>           <== NOT EXECUTED
40005e80:   a71ff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
        goto out_erase_sem;                                                               
40005e84:   d89ff06f            j   40005c0c <jffs2_mark_node_obsolete+0x170>             <== NOT EXECUTED
        pr_warn("Short write in obliterating obsoleted node at 0x%08x: %zd\n",            
40005e88:   00492583            lw  a1,4(s2)                                              <== NOT EXECUTED
40005e8c:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005e90:   1bc50513            addi    a0,a0,444 # 4001e1bc <__func__.4+0x24c>           <== NOT EXECUTED
40005e94:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40005e98:   a59ff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
        goto out_erase_sem;                                                               
40005e9c:   d71ff06f            j   40005c0c <jffs2_mark_node_obsolete+0x170>             <== NOT EXECUTED
        pr_warn("Write error in obliterating obsoleted node at 0x%08x: %d\n",             
40005ea0:   00492583            lw  a1,4(s2)                                              <== NOT EXECUTED
40005ea4:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
40005ea8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005eac:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40005eb0:   17850513            addi    a0,a0,376 # 4001e178 <__func__.4+0x208>           <== NOT EXECUTED
40005eb4:   a3dff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
        goto out_erase_sem;                                                               
40005eb8:   d55ff06f            j   40005c0c <jffs2_mark_node_obsolete+0x170>             <== NOT EXECUTED
        for (p = &ic->nodes; (*p) != ref; p = &((*p)->next_in_ino))                       
40005ebc:   00458713            addi    a4,a1,4                                           
40005ec0:   ef5ff06f            j   40005db4 <jffs2_mark_node_obsolete+0x318>             
        pr_notice("raw node at 0x%08x is off the end of device!\n",                       
40005ec4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005ec8:   04850513            addi    a0,a0,72 # 4001e048 <__func__.4+0xd8>             <== NOT EXECUTED
40005ecc:   a25ff0ef            jal ra,400058f0 <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
40005ed0:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40005ed4:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
40005ed8:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005edc:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40005ee0:   2f060613            addi    a2,a2,752 # 4001e2f0 <__func__.0>                 <== NOT EXECUTED
40005ee4:   25b00593            li  a1,603                                                <== NOT EXECUTED
40005ee8:   08050513            addi    a0,a0,128 # 4001e080 <__func__.4+0x110>           <== NOT EXECUTED
40005eec:   3b4070ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
                                                                                          

4000abb4 <jffs2_mknod>: size_t d_namelen, int mode, const unsigned char *data, size_t datalen ) {
4000abb4:   fb010113            addi    sp,sp,-80                                         
4000abb8:   05212023            sw  s2,64(sp)                                             
4000abbc:   04112623            sw  ra,76(sp)                                             
4000abc0:   00078913            mv  s2,a5                                                 
4000abc4:   04812423            sw  s0,72(sp)                                             
4000abc8:   04912223            sw  s1,68(sp)                                             
4000abcc:   03312e23            sw  s3,60(sp)                                             
4000abd0:   03412c23            sw  s4,56(sp)                                             
4000abd4:   03512a23            sw  s5,52(sp)                                             
4000abd8:   03612823            sw  s6,48(sp)                                             
4000abdc:   03712623            sw  s7,44(sp)                                             
4000abe0:   03812423            sw  s8,40(sp)                                             
4000abe4:   03912223            sw  s9,36(sp)                                             
4000abe8:   03a12023            sw  s10,32(sp)                                            
4000abec:   01b12e23            sw  s11,28(sp)                                            
    uint32_t alloclen;                                                                    
    int ret;                                                                              
                                                                                          
    /* FIXME: If you care. We'd need to use frags for the data                            
       if it grows much more than this */                                                 
    if (datalen > 254)                                                                    
4000abf0:   0fe00793            li  a5,254                                                
4000abf4:   4927e663            bltu    a5,s2,4000b080 <jffs2_mknod+0x4cc>                
4000abf8:   00050993            mv  s3,a0                                                 
4000abfc:   00058c93            mv  s9,a1                                                 
4000ac00:   00060b13            mv  s6,a2                                                 
4000ac04:   00068a93            mv  s5,a3                                                 
4000ac08:   00070b93            mv  s7,a4                                                 
        return -ENAMETOOLONG;                                                             
                                                                                          
    ri = jffs2_alloc_raw_inode();                                                         
4000ac0c:   c89f90ef            jal ra,40004894 <jffs2_alloc_raw_inode>                   
4000ac10:   00050413            mv  s0,a0                                                 
                                                                                          
    if (!ri)                                                                              
4000ac14:   46050a63            beqz    a0,4000b088 <jffs2_mknod+0x4d4>                   <== NEVER TAKEN
        return -ENOMEM;                                                                   
                                                                                          
    c = JFFS2_SB_INFO(dir_i->i_sb);                                                       
4000ac18:   0409ac03            lw  s8,64(s3)                                             
                                                                                          
    /* Try to reserve enough space for both node and dirent.                              
     * Just the node will do for now, though                                              
     */                                                                                   
    ret = jffs2_reserve_space(c, sizeof(*ri) + datalen, &alloclen,                        
4000ac1c:   04490d13            addi    s10,s2,68                                         
4000ac20:   01200713            li  a4,18                                                 
4000ac24:   00000693            li  a3,0                                                  
4000ac28:   00c10613            addi    a2,sp,12                                          
4000ac2c:   000d0593            mv  a1,s10                                                
4000ac30:   000c0513            mv  a0,s8                                                 
4000ac34:   e6cfb0ef            jal ra,400062a0 <jffs2_reserve_space>                     
4000ac38:   00050493            mv  s1,a0                                                 
                  ALLOC_NORMAL, JFFS2_SUMMARY_INODE_SIZE);                                
                                                                                          
    if (ret) {                                                                            
4000ac3c:   1e051063            bnez    a0,4000ae1c <jffs2_mknod+0x268>                   <== NEVER TAKEN
        jffs2_free_raw_inode(ri);                                                         
        return ret;                                                                       
    }                                                                                     
                                                                                          
    inode = jffs2_new_inode(dir_i, mode, ri);                                             
4000ac40:   00040613            mv  a2,s0                                                 
4000ac44:   000a8593            mv  a1,s5                                                 
4000ac48:   00098513            mv  a0,s3                                                 
4000ac4c:   a40f80ef            jal ra,40002e8c <jffs2_new_inode>                         
                                                                                          
    if (IS_ERR(inode)) {                                                                  
4000ac50:   c1800d93            li  s11,-1000                                             
    inode = jffs2_new_inode(dir_i, mode, ri);                                             
4000ac54:   00050a13            mv  s4,a0                                                 
    if (IS_ERR(inode)) {                                                                  
4000ac58:   16ade863            bltu    s11,a0,4000adc8 <jffs2_mknod+0x214>               
    }                                                                                     
                                                                                          
    f = JFFS2_INODE_INFO(inode);                                                          
                                                                                          
    inode->i_size = datalen;                                                              
    ri->isize = ri->dsize = ri->csize = cpu_to_je32(inode->i_size);                       
4000ac5c:   00895713            srli    a4,s2,0x8                                         
4000ac60:   01095793            srli    a5,s2,0x10                                        
    inode->i_size = datalen;                                                              
4000ac64:   03252c23            sw  s2,56(a0)                                             
4000ac68:   02052e23            sw  zero,60(a0)                                           
    ri->isize = ri->dsize = ri->csize = cpu_to_je32(inode->i_size);                       
4000ac6c:   0ff77713            andi    a4,a4,255                                         
4000ac70:   0ff7f793            andi    a5,a5,255                                         
4000ac74:   01895693            srli    a3,s2,0x18                                        
    ri->totlen = cpu_to_je32(sizeof(*ri) + inode->i_size);                                
4000ac78:   008d5313            srli    t1,s10,0x8                                        
4000ac7c:   010d5893            srli    a7,s10,0x10                                       
4000ac80:   018d5813            srli    a6,s10,0x18                                       
    ri->isize = ri->dsize = ri->csize = cpu_to_je32(inode->i_size);                       
4000ac84:   0ff97513            andi    a0,s2,255                                         
    ri->totlen = cpu_to_je32(sizeof(*ri) + inode->i_size);                                
4000ac88:   006402a3            sb  t1,5(s0)                                              
4000ac8c:   01140323            sb  a7,6(s0)                                              
4000ac90:   010403a3            sb  a6,7(s0)                                              
    ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));         
4000ac94:   00800613            li  a2,8                                                  
4000ac98:   00040593            mv  a1,s0                                                 
    ri->isize = ri->dsize = ri->csize = cpu_to_je32(inode->i_size);                       
4000ac9c:   02a40823            sb  a0,48(s0)                                             
4000aca0:   02e408a3            sb  a4,49(s0)                                             
4000aca4:   02f40923            sb  a5,50(s0)                                             
4000aca8:   02d409a3            sb  a3,51(s0)                                             
4000acac:   02a40a23            sb  a0,52(s0)                                             
4000acb0:   02e40aa3            sb  a4,53(s0)                                             
4000acb4:   02f40b23            sb  a5,54(s0)                                             
4000acb8:   02d40ba3            sb  a3,55(s0)                                             
4000acbc:   00a40e23            sb  a0,28(s0)                                             
4000acc0:   00e40ea3            sb  a4,29(s0)                                             
4000acc4:   00f40f23            sb  a5,30(s0)                                             
4000acc8:   00d40fa3            sb  a3,31(s0)                                             
    ri->totlen = cpu_to_je32(sizeof(*ri) + inode->i_size);                                
4000accc:   01a40223            sb  s10,4(s0)                                             
    ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));         
4000acd0:   00000513            li  a0,0                                                  
4000acd4:   fbcff0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
4000acd8:   00855693            srli    a3,a0,0x8                                         
4000acdc:   01055713            srli    a4,a0,0x10                                        
4000ace0:   01855793            srli    a5,a0,0x18                                        
                                                                                          
    ri->compr = JFFS2_COMPR_NONE;                                                         
    ri->data_crc = cpu_to_je32(crc32(0, data, datalen));                                  
4000ace4:   00090613            mv  a2,s2                                                 
4000ace8:   000b8593            mv  a1,s7                                                 
    ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));         
4000acec:   00a40423            sb  a0,8(s0)                                              
4000acf0:   00d404a3            sb  a3,9(s0)                                              
4000acf4:   00e40523            sb  a4,10(s0)                                             
4000acf8:   00f405a3            sb  a5,11(s0)                                             
    ri->compr = JFFS2_COMPR_NONE;                                                         
4000acfc:   02040c23            sb  zero,56(s0)                                           
    ri->data_crc = cpu_to_je32(crc32(0, data, datalen));                                  
4000ad00:   00000513            li  a0,0                                                  
4000ad04:   f8cff0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
4000ad08:   00855693            srli    a3,a0,0x8                                         
4000ad0c:   01055713            srli    a4,a0,0x10                                        
4000ad10:   01855793            srli    a5,a0,0x18                                        
    ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                              
4000ad14:   03c00613            li  a2,60                                                 
4000ad18:   00040593            mv  a1,s0                                                 
    ri->data_crc = cpu_to_je32(crc32(0, data, datalen));                                  
4000ad1c:   02a40e23            sb  a0,60(s0)                                             
4000ad20:   02d40ea3            sb  a3,61(s0)                                             
4000ad24:   02e40f23            sb  a4,62(s0)                                             
4000ad28:   02f40fa3            sb  a5,63(s0)                                             
    ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                              
4000ad2c:   00000513            li  a0,0                                                  
4000ad30:   f60ff0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
4000ad34:   00855693            srli    a3,a0,0x8                                         
4000ad38:   01055713            srli    a4,a0,0x10                                        
4000ad3c:   01855793            srli    a5,a0,0x18                                        
4000ad40:   04a40023            sb  a0,64(s0)                                             
4000ad44:   04d400a3            sb  a3,65(s0)                                             
4000ad48:   04e40123            sb  a4,66(s0)                                             
4000ad4c:   04f401a3            sb  a5,67(s0)                                             
                                                                                          
    fn = jffs2_write_dnode(c, f, ri, data, datalen, ALLOC_NORMAL);                        
4000ad50:   00090713            mv  a4,s2                                                 
4000ad54:   00000793            li  a5,0                                                  
4000ad58:   000b8693            mv  a3,s7                                                 
4000ad5c:   00040613            mv  a2,s0                                                 
4000ad60:   048a0593            addi    a1,s4,72                                          
4000ad64:   000c0513            mv  a0,s8                                                 
4000ad68:   c31fd0ef            jal ra,40008998 <jffs2_write_dnode>                       
4000ad6c:   00050493            mv  s1,a0                                                 
                                                                                          
    jffs2_free_raw_inode(ri);                                                             
4000ad70:   00040513            mv  a0,s0                                                 
4000ad74:   b29f90ef            jal ra,4000489c <jffs2_free_raw_inode>                    
                                                                                          
    if (IS_ERR(fn)) {                                                                     
4000ad78:   289de863            bltu    s11,s1,4000b008 <jffs2_mknod+0x454>               
        jffs2_complete_reservation(c);                                                    
        ret = PTR_ERR(fn);                                                                
        goto fail;                                                                        
    }                                                                                     
                                                                                          
    if (S_ISLNK(mode)) {                                                                  
4000ad7c:   0000f7b7            lui a5,0xf                                                
4000ad80:   00faf7b3            and a5,s5,a5                                              
4000ad84:   0000a737            lui a4,0xa                                                
4000ad88:   28e78a63            beq a5,a4,4000b01c <jffs2_mknod+0x468>                    
       obsoleted by the first data write                                                  
    */                                                                                    
    f->metadata = fn;                                                                     
    mutex_unlock(&f->sem);                                                                
                                                                                          
    jffs2_complete_reservation(c);                                                        
4000ad8c:   000c0513            mv  a0,s8                                                 
    f->metadata = fn;                                                                     
4000ad90:   049a2823            sw  s1,80(s4)                                             
    jffs2_complete_reservation(c);                                                        
4000ad94:   cf5fa0ef            jal ra,40005a88 <jffs2_complete_reservation>              
                                                                                          
    ret = jffs2_reserve_space(c, sizeof(*rd)+d_namelen, &alloclen,                        
4000ad98:   028b0913            addi    s2,s6,40                                          
4000ad9c:   018b0713            addi    a4,s6,24                                          
4000ada0:   00000693            li  a3,0                                                  
4000ada4:   00c10613            addi    a2,sp,12                                          
4000ada8:   00090593            mv  a1,s2                                                 
4000adac:   000c0513            mv  a0,s8                                                 
4000adb0:   cf0fb0ef            jal ra,400062a0 <jffs2_reserve_space>                     
4000adb4:   00050493            mv  s1,a0                                                 
                  ALLOC_NORMAL, JFFS2_SUMMARY_DIRENT_SIZE(d_namelen));                    
    if (ret)                                                                              
4000adb8:   06050863            beqz    a0,4000ae28 <jffs2_mknod+0x274>                   <== ALWAYS TAKEN
                                                                                          
    mutex_unlock(&dir_f->sem);                                                            
    jffs2_complete_reservation(c);                                                        
                                                                                          
 fail:                                                                                    
    jffs2_iput(inode);                                                                    
4000adbc:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000adc0:   981f70ef            jal ra,40002740 <jffs2_iput>                              <== NOT EXECUTED
                                                                                          
    return ret;                                                                           
4000adc4:   0180006f            j   4000addc <jffs2_mknod+0x228>                          <== NOT EXECUTED
        jffs2_free_raw_inode(ri);                                                         
4000adc8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000adcc:   ad1f90ef            jal ra,4000489c <jffs2_free_raw_inode>                    <== NOT EXECUTED
        jffs2_complete_reservation(c);                                                    
4000add0:   000c0513            mv  a0,s8                                                 <== NOT EXECUTED
4000add4:   cb5fa0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
        return PTR_ERR(inode);                                                            
4000add8:   000a0493            mv  s1,s4                                                 <== NOT EXECUTED
}                                                                                         
4000addc:   04c12083            lw  ra,76(sp)                                             
4000ade0:   04812403            lw  s0,72(sp)                                             
4000ade4:   04012903            lw  s2,64(sp)                                             
4000ade8:   03c12983            lw  s3,60(sp)                                             
4000adec:   03812a03            lw  s4,56(sp)                                             
4000adf0:   03412a83            lw  s5,52(sp)                                             
4000adf4:   03012b03            lw  s6,48(sp)                                             
4000adf8:   02c12b83            lw  s7,44(sp)                                             
4000adfc:   02812c03            lw  s8,40(sp)                                             
4000ae00:   02412c83            lw  s9,36(sp)                                             
4000ae04:   02012d03            lw  s10,32(sp)                                            
4000ae08:   01c12d83            lw  s11,28(sp)                                            
4000ae0c:   00048513            mv  a0,s1                                                 
4000ae10:   04412483            lw  s1,68(sp)                                             
4000ae14:   05010113            addi    sp,sp,80                                          
4000ae18:   00008067            ret                                                       
        jffs2_free_raw_inode(ri);                                                         
4000ae1c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000ae20:   a7df90ef            jal ra,4000489c <jffs2_free_raw_inode>                    <== NOT EXECUTED
        return ret;                                                                       
4000ae24:   fb9ff06f            j   4000addc <jffs2_mknod+0x228>                          <== NOT EXECUTED
    rd = jffs2_alloc_raw_dirent();                                                        
4000ae28:   a61f90ef            jal ra,40004888 <jffs2_alloc_raw_dirent>                  
4000ae2c:   00050413            mv  s0,a0                                                 
    if (!rd) {                                                                            
4000ae30:   24050063            beqz    a0,4000b070 <jffs2_mknod+0x4bc>                   <== NEVER TAKEN
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000ae34:   00050593            mv  a1,a0                                                 
    rd->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                         
4000ae38:   f8500513            li  a0,-123                                               
4000ae3c:   00a40023            sb  a0,0(s0)                                              
4000ae40:   01900513            li  a0,25                                                 
4000ae44:   00a400a3            sb  a0,1(s0)                                              
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
4000ae48:   00100513            li  a0,1                                                  
    rd->totlen = cpu_to_je32(sizeof(*rd) + d_namelen);                                    
4000ae4c:   00895693            srli    a3,s2,0x8                                         
4000ae50:   01095713            srli    a4,s2,0x10                                        
4000ae54:   01895793            srli    a5,s2,0x18                                        
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
4000ae58:   00a40123            sb  a0,2(s0)                                              
4000ae5c:   fe000513            li  a0,-32                                                
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000ae60:   00800613            li  a2,8                                                  
    rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);                                    
4000ae64:   00a401a3            sb  a0,3(s0)                                              
    rd->totlen = cpu_to_je32(sizeof(*rd) + d_namelen);                                    
4000ae68:   01240223            sb  s2,4(s0)                                              
4000ae6c:   00d402a3            sb  a3,5(s0)                                              
4000ae70:   00e40323            sb  a4,6(s0)                                              
4000ae74:   00f403a3            sb  a5,7(s0)                                              
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000ae78:   00000513            li  a0,0                                                  
4000ae7c:   e14ff0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    rd->pino = cpu_to_je32(dir_i->i_ino);                                                 
4000ae80:   0009ce03            lbu t3,0(s3)                                              
4000ae84:   0019c303            lbu t1,1(s3)                                              
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
4000ae88:   0489a783            lw  a5,72(s3)                                             
    rd->pino = cpu_to_je32(dir_i->i_ino);                                                 
4000ae8c:   0029c883            lbu a7,2(s3)                                              
4000ae90:   0039c803            lbu a6,3(s3)                                              
    rd->ino = cpu_to_je32(inode->i_ino);                                                  
4000ae94:   001a4603            lbu a2,1(s4)                                              
4000ae98:   002a4683            lbu a3,2(s4)                                              
4000ae9c:   003a4703            lbu a4,3(s4)                                              
4000aea0:   000a4583            lbu a1,0(s4)                                              
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000aea4:   00855f93            srli    t6,a0,0x8                                         
4000aea8:   01055f13            srli    t5,a0,0x10                                        
4000aeac:   01855e93            srli    t4,a0,0x18                                        
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
4000aeb0:   00178793            addi    a5,a5,1 # f001 <bsp_section_rodata_size+0x9f2d>   
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000aeb4:   01f404a3            sb  t6,9(s0)                                              
4000aeb8:   01e40523            sb  t5,10(s0)                                             
4000aebc:   01d405a3            sb  t4,11(s0)                                             
    rd->pino = cpu_to_je32(dir_i->i_ino);                                                 
4000aec0:   01c40623            sb  t3,12(s0)                                             
4000aec4:   006406a3            sb  t1,13(s0)                                             
    rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));         
4000aec8:   00a40423            sb  a0,8(s0)                                              
    rd->pino = cpu_to_je32(dir_i->i_ino);                                                 
4000aecc:   01140723            sb  a7,14(s0)                                             
4000aed0:   010407a3            sb  a6,15(s0)                                             
    rd->version = cpu_to_je32(++dir_f->highest_version);                                  
4000aed4:   04f9a423            sw  a5,72(s3)                                             
4000aed8:   0087d893            srli    a7,a5,0x8                                         
4000aedc:   0107d813            srli    a6,a5,0x10                                        
4000aee0:   0187d513            srli    a0,a5,0x18                                        
4000aee4:   011408a3            sb  a7,17(s0)                                             
4000aee8:   01040923            sb  a6,18(s0)                                             
4000aeec:   00f40823            sb  a5,16(s0)                                             
4000aef0:   00a409a3            sb  a0,19(s0)                                             
    rd->ino = cpu_to_je32(inode->i_ino);                                                  
4000aef4:   00c40aa3            sb  a2,21(s0)                                             
4000aef8:   00d40b23            sb  a3,22(s0)                                             
4000aefc:   00e40ba3            sb  a4,23(s0)                                             
4000af00:   00b40a23            sb  a1,20(s0)                                             
    rd->mctime = cpu_to_je32(get_seconds());                                              
4000af04:   00000513            li  a0,0                                                  
4000af08:   0b1110ef            jal ra,4001c7b8 <time>                                    
    rd->type = (mode & S_IFMT) >> 12;                                                     
4000af0c:   40cada93            srai    s5,s5,0xc                                         
    rd->mctime = cpu_to_je32(get_seconds());                                              
4000af10:   00855693            srli    a3,a0,0x8                                         
4000af14:   01055713            srli    a4,a0,0x10                                        
4000af18:   01855793            srli    a5,a0,0x18                                        
    rd->type = (mode & S_IFMT) >> 12;                                                     
4000af1c:   00fafa93            andi    s5,s5,15                                          
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
4000af20:   02000613            li  a2,32                                                 
4000af24:   00040593            mv  a1,s0                                                 
    rd->mctime = cpu_to_je32(get_seconds());                                              
4000af28:   00a40c23            sb  a0,24(s0)                                             
4000af2c:   00d40ca3            sb  a3,25(s0)                                             
4000af30:   00e40d23            sb  a4,26(s0)                                             
4000af34:   00f40da3            sb  a5,27(s0)                                             
    rd->nsize = d_namelen;                                                                
4000af38:   01640e23            sb  s6,28(s0)                                             
    rd->type = (mode & S_IFMT) >> 12;                                                     
4000af3c:   01540ea3            sb  s5,29(s0)                                             
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
4000af40:   00000513            li  a0,0                                                  
4000af44:   d4cff0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
4000af48:   00855693            srli    a3,a0,0x8                                         
4000af4c:   01055713            srli    a4,a0,0x10                                        
4000af50:   01855793            srli    a5,a0,0x18                                        
    rd->name_crc = cpu_to_je32(crc32(0, d_name, d_namelen));                              
4000af54:   000b0613            mv  a2,s6                                                 
4000af58:   000c8593            mv  a1,s9                                                 
    rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                              
4000af5c:   02a40023            sb  a0,32(s0)                                             
4000af60:   02d400a3            sb  a3,33(s0)                                             
4000af64:   02e40123            sb  a4,34(s0)                                             
4000af68:   02f401a3            sb  a5,35(s0)                                             
    rd->name_crc = cpu_to_je32(crc32(0, d_name, d_namelen));                              
4000af6c:   00000513            li  a0,0                                                  
4000af70:   d20ff0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
4000af74:   00855693            srli    a3,a0,0x8                                         
4000af78:   01055713            srli    a4,a0,0x10                                        
4000af7c:   01855793            srli    a5,a0,0x18                                        
4000af80:   02a40223            sb  a0,36(s0)                                             
4000af84:   02d402a3            sb  a3,37(s0)                                             
4000af88:   02e40323            sb  a4,38(s0)                                             
4000af8c:   02f403a3            sb  a5,39(s0)                                             
    fd = jffs2_write_dirent(c, dir_f, rd, d_name, d_namelen, ALLOC_NORMAL);               
4000af90:   000b0713            mv  a4,s6                                                 
4000af94:   00000793            li  a5,0                                                  
4000af98:   000c8693            mv  a3,s9                                                 
4000af9c:   00040613            mv  a2,s0                                                 
4000afa0:   04898593            addi    a1,s3,72                                          
4000afa4:   000c0513            mv  a0,s8                                                 
4000afa8:   e65fd0ef            jal ra,40008e0c <jffs2_write_dirent>                      
    if (IS_ERR(fd)) {                                                                     
4000afac:   c1800793            li  a5,-1000                                              
    fd = jffs2_write_dirent(c, dir_f, rd, d_name, d_namelen, ALLOC_NORMAL);               
4000afb0:   00050913            mv  s2,a0                                                 
    if (IS_ERR(fd)) {                                                                     
4000afb4:   08a7e863            bltu    a5,a0,4000b044 <jffs2_mknod+0x490>                
    dir_i->i_mtime = dir_i->i_ctime = ITIME(je32_to_cpu(rd->mctime));                     
4000afb8:   01944683            lbu a3,25(s0)                                             
4000afbc:   01844603            lbu a2,24(s0)                                             
4000afc0:   01a44703            lbu a4,26(s0)                                             
4000afc4:   01b44783            lbu a5,27(s0)                                             
4000afc8:   00869693            slli    a3,a3,0x8                                         
4000afcc:   00c6e6b3            or  a3,a3,a2                                              
4000afd0:   01071713            slli    a4,a4,0x10                                        
4000afd4:   00d76733            or  a4,a4,a3                                              
4000afd8:   01879793            slli    a5,a5,0x18                                        
4000afdc:   00e7e7b3            or  a5,a5,a4                                              
    jffs2_free_raw_dirent(rd);                                                            
4000afe0:   00040513            mv  a0,s0                                                 
    dir_i->i_mtime = dir_i->i_ctime = ITIME(je32_to_cpu(rd->mctime));                     
4000afe4:   02f9a423            sw  a5,40(s3)                                             
4000afe8:   0209a623            sw  zero,44(s3)                                           
4000afec:   02f9a023            sw  a5,32(s3)                                             
4000aff0:   0209a223            sw  zero,36(s3)                                           
    jffs2_free_raw_dirent(rd);                                                            
4000aff4:   89df90ef            jal ra,40004890 <jffs2_free_raw_dirent>                   
    jffs2_add_fd_to_list(c, fd, &dir_f->dents);                                           
4000aff8:   05498613            addi    a2,s3,84                                          
4000affc:   00090593            mv  a1,s2                                                 
4000b000:   000c0513            mv  a0,s8                                                 
4000b004:   af5f90ef            jal ra,40004af8 <jffs2_add_fd_to_list>                    
    jffs2_complete_reservation(c);                                                        
4000b008:   000c0513            mv  a0,s8                                                 
4000b00c:   a7dfa0ef            jal ra,40005a88 <jffs2_complete_reservation>              
    jffs2_iput(inode);                                                                    
4000b010:   000a0513            mv  a0,s4                                                 
4000b014:   f2cf70ef            jal ra,40002740 <jffs2_iput>                              
    return ret;                                                                           
4000b018:   dc5ff06f            j   4000addc <jffs2_mknod+0x228>                          
    char *dup = malloc(n + 1);                                                            
4000b01c:   00290513            addi    a0,s2,2                                           
4000b020:   25d020ef            jal ra,4000da7c <malloc>                                  
        f->target = kmemdup(data, datalen + 1, GFP_KERNEL);                               
4000b024:   00190613            addi    a2,s2,1                                           
    if (dup != 0) {                                                                       
4000b028:   02050a63            beqz    a0,4000b05c <jffs2_mknod+0x4a8>                   <== NEVER TAKEN
        dup[n] = '\0';                                                                    
4000b02c:   00c507b3            add a5,a0,a2                                              
        dup = memcpy(dup, s, n);                                                          
4000b030:   000b8593            mv  a1,s7                                                 
        dup[n] = '\0';                                                                    
4000b034:   00078023            sb  zero,0(a5)                                            
        dup = memcpy(dup, s, n);                                                          
4000b038:   7b9100ef            jal ra,4001bff0 <memcpy>                                  
4000b03c:   04aa2c23            sw  a0,88(s4)                                             
        if (!f->target) {                                                                 
4000b040:   d4dff06f            j   4000ad8c <jffs2_mknod+0x1d8>                          
        jffs2_complete_reservation(c);                                                    
4000b044:   000c0513            mv  a0,s8                                                 <== NOT EXECUTED
4000b048:   a41fa0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
        jffs2_free_raw_dirent(rd);                                                        
4000b04c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000b050:   841f90ef            jal ra,40004890 <jffs2_free_raw_dirent>                   <== NOT EXECUTED
        ret = PTR_ERR(fd);                                                                
4000b054:   00090493            mv  s1,s2                                                 <== NOT EXECUTED
        goto fail;                                                                        
4000b058:   d65ff06f            j   4000adbc <jffs2_mknod+0x208>                          <== NOT EXECUTED
            pr_warn("Can't allocate %d bytes of memory\n", datalen + 1);                  
4000b05c:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000b060:   00060593            mv  a1,a2                                                 <== NOT EXECUTED
        f->target = kmemdup(data, datalen + 1, GFP_KERNEL);                               
4000b064:   040a2c23            sw  zero,88(s4)                                           <== NOT EXECUTED
            pr_warn("Can't allocate %d bytes of memory\n", datalen + 1);                  
4000b068:   8a850513            addi    a0,a0,-1880 # 4001f8a8 <__func__.0+0x4c>          <== NOT EXECUTED
4000b06c:   f48ff0ef            jal ra,4000a7b4 <jffs2_printk>                            <== NOT EXECUTED
            jffs2_complete_reservation(c);                                                
4000b070:   000c0513            mv  a0,s8                                                 <== NOT EXECUTED
4000b074:   a15fa0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
            ret = -ENOMEM;                                                                
4000b078:   ff400493            li  s1,-12                                                <== NOT EXECUTED
            goto fail;                                                                    
4000b07c:   d41ff06f            j   4000adbc <jffs2_mknod+0x208>                          <== NOT EXECUTED
        return -ENAMETOOLONG;                                                             
4000b080:   fa500493            li  s1,-91                                                <== NOT EXECUTED
4000b084:   d59ff06f            j   4000addc <jffs2_mknod+0x228>                          <== NOT EXECUTED
        return -ENOMEM;                                                                   
4000b088:   ff400493            li  s1,-12                                                <== NOT EXECUTED
4000b08c:   d51ff06f            j   4000addc <jffs2_mknod+0x228>                          <== NOT EXECUTED
                                                                                          

40002e8c <jffs2_new_inode>: {
40002e8c:   fe010113            addi    sp,sp,-32                                         
40002e90:   01412423            sw  s4,8(sp)                                              
    struct super_block *sb = dir_i->i_sb;                                                 
40002e94:   04052a03            lw  s4,64(a0)                                             
{                                                                                         
40002e98:   00812c23            sw  s0,24(sp)                                             
40002e9c:   00912a23            sw  s1,20(sp)                                             
    inode = new_inode(sb);                                                                
40002ea0:   000a0513            mv  a0,s4                                                 
{                                                                                         
40002ea4:   01212823            sw  s2,16(sp)                                             
40002ea8:   00112e23            sw  ra,28(sp)                                             
40002eac:   01312623            sw  s3,12(sp)                                             
40002eb0:   01512223            sw  s5,4(sp)                                              
40002eb4:   00058913            mv  s2,a1                                                 
40002eb8:   00060413            mv  s0,a2                                                 
    inode = new_inode(sb);                                                                
40002ebc:   adcfe0ef            jal ra,40001198 <new_inode>                               
        return ERR_PTR(-ENOMEM);                                                          
40002ec0:   ff400493            li  s1,-12                                                
    if (!inode)                                                                           
40002ec4:   0a050e63            beqz    a0,40002f80 <jffs2_new_inode+0xf4>                <== NEVER TAKEN
    f = JFFS2_INODE_INFO(inode);                                                          
40002ec8:   04850a93            addi    s5,a0,72                                          
    memset(f, 0, sizeof(*f));                                                             
40002ecc:   01c00613            li  a2,28                                                 
40002ed0:   00000593            li  a1,0                                                  
40002ed4:   00050493            mv  s1,a0                                                 
40002ed8:   000a8513            mv  a0,s5                                                 
40002edc:   23c190ef            jal ra,4001c118 <memset>                                  
    memset(ri, 0, sizeof(*ri));                                                           
40002ee0:   04400613            li  a2,68                                                 
40002ee4:   00000593            li  a1,0                                                  
40002ee8:   00040513            mv  a0,s0                                                 
40002eec:   22c190ef            jal ra,4001c118 <memset>                                  
    ri->uid = cpu_to_je16(geteuid());                                                     
40002ef0:   1050a0ef            jal ra,4000d7f4 <geteuid>                                 
40002ef4:   00855793            srli    a5,a0,0x8                                         
40002ef8:   00f40ca3            sb  a5,25(s0)                                             
40002efc:   00a40c23            sb  a0,24(s0)                                             
  return osmode & (S_IFMT | S_IRWXU | S_IRWXG | S_IRWXO);                                 
40002f00:   0000f9b7            lui s3,0xf                                                
    ri->gid = cpu_to_je16(getegid());                                                     
40002f04:   0d50a0ef            jal ra,4000d7d8 <getegid>                                 
40002f08:   1ff98993            addi    s3,s3,511 # f1ff <bsp_section_rodata_size+0xa12b> 
40002f0c:   013977b3            and a5,s2,s3                                              
40002f10:   00855693            srli    a3,a0,0x8                                         
    ri->mode =  cpu_to_jemode(mode);                                                      
40002f14:   0087d713            srli    a4,a5,0x8                                         
40002f18:   0107d793            srli    a5,a5,0x10                                        
    ri->gid = cpu_to_je16(getegid());                                                     
40002f1c:   00a40d23            sb  a0,26(s0)                                             
40002f20:   00d40da3            sb  a3,27(s0)                                             
    ri->mode =  cpu_to_jemode(mode);                                                      
40002f24:   01240a23            sb  s2,20(s0)                                             
    ret = jffs2_do_new_inode (c, f, mode, ri);                                            
40002f28:   00090613            mv  a2,s2                                                 
    ri->mode =  cpu_to_jemode(mode);                                                      
40002f2c:   00e40aa3            sb  a4,21(s0)                                             
40002f30:   00f40b23            sb  a5,22(s0)                                             
40002f34:   00040ba3            sb  zero,23(s0)                                           
    ret = jffs2_do_new_inode (c, f, mode, ri);                                            
40002f38:   00040693            mv  a3,s0                                                 
40002f3c:   000a8593            mv  a1,s5                                                 
40002f40:   000a0513            mv  a0,s4                                                 
40002f44:   0f9050ef            jal ra,4000883c <jffs2_do_new_inode>                      
40002f48:   00050913            mv  s2,a0                                                 
    if (ret) {                                                                            
40002f4c:   04050e63            beqz    a0,40002fa8 <jffs2_new_inode+0x11c>               <== ALWAYS TAKEN
                if (inode->i_cache_prev)                                                  
40002f50:   0644a703            lw  a4,100(s1)                                            <== NOT EXECUTED
                       inode->i_cache_prev->i_cache_next = inode->i_cache_next;           
40002f54:   0684a783            lw  a5,104(s1)                                            <== NOT EXECUTED
                if (inode->i_cache_prev)                                                  
40002f58:   00070463            beqz    a4,40002f60 <jffs2_new_inode+0xd4>                <== NOT EXECUTED
                       inode->i_cache_prev->i_cache_next = inode->i_cache_next;           
40002f5c:   06f72423            sw  a5,104(a4)                                            <== NOT EXECUTED
                if (inode->i_cache_next)                                                  
40002f60:   00078463            beqz    a5,40002f68 <jffs2_new_inode+0xdc>                <== NOT EXECUTED
                       inode->i_cache_next->i_cache_prev = inode->i_cache_prev;           
40002f64:   06e7a223            sw  a4,100(a5)                                            <== NOT EXECUTED
        jffs2_do_clear_inode(c, f);                                                       
40002f68:   0404a503            lw  a0,64(s1)                                             <== NOT EXECUTED
40002f6c:   000a8593            mv  a1,s5                                                 <== NOT EXECUTED
40002f70:   6e0050ef            jal ra,40008650 <jffs2_do_clear_inode>                    <== NOT EXECUTED
                free(inode);                                                              
40002f74:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
40002f78:   75c0a0ef            jal ra,4000d6d4 <free>                                    <== NOT EXECUTED
                return ERR_PTR(ret);                                                      
40002f7c:   00090493            mv  s1,s2                                                 <== NOT EXECUTED
}                                                                                         
40002f80:   01c12083            lw  ra,28(sp)                                             
40002f84:   01812403            lw  s0,24(sp)                                             
40002f88:   01012903            lw  s2,16(sp)                                             
40002f8c:   00c12983            lw  s3,12(sp)                                             
40002f90:   00812a03            lw  s4,8(sp)                                              
40002f94:   00412a83            lw  s5,4(sp)                                              
40002f98:   00048513            mv  a0,s1                                                 
40002f9c:   01412483            lw  s1,20(sp)                                             
40002fa0:   02010113            addi    sp,sp,32                                          
40002fa4:   00008067            ret                                                       
    inode->i_nlink = 1;                                                                   
40002fa8:   00100793            li  a5,1                                                  
40002fac:   00f49623            sh  a5,12(s1)                                             
    inode->i_ino = je32_to_cpu(ri->ino);                                                  
40002fb0:   00d44683            lbu a3,13(s0)                                             
40002fb4:   00c44603            lbu a2,12(s0)                                             
40002fb8:   00e44703            lbu a4,14(s0)                                             
40002fbc:   00f44783            lbu a5,15(s0)                                             
40002fc0:   00869693            slli    a3,a3,0x8                                         
40002fc4:   00c6e6b3            or  a3,a3,a2                                              
40002fc8:   01071713            slli    a4,a4,0x10                                        
40002fcc:   00d76733            or  a4,a4,a3                                              
40002fd0:   01879793            slli    a5,a5,0x18                                        
40002fd4:   00e7e7b3            or  a5,a5,a4                                              
40002fd8:   00f4a023            sw  a5,0(s1)                                              
    inode->i_mode = jemode_to_cpu(ri->mode);                                              
40002fdc:   01544683            lbu a3,21(s0)                                             
40002fe0:   01444603            lbu a2,20(s0)                                             
40002fe4:   01644703            lbu a4,22(s0)                                             
40002fe8:   01744783            lbu a5,23(s0)                                             
40002fec:   00869693            slli    a3,a3,0x8                                         
40002ff0:   00c6e6b3            or  a3,a3,a2                                              
40002ff4:   01071713            slli    a4,a4,0x10                                        
40002ff8:   00d76733            or  a4,a4,a3                                              
40002ffc:   01879793            slli    a5,a5,0x18                                        
40003000:   00e7e7b3            or  a5,a5,a4                                              
  return jmode & (S_IFMT | S_IRWXU | S_IRWXG | S_IRWXO);                                  
40003004:   0137f9b3            and s3,a5,s3                                              
40003008:   0134a423            sw  s3,8(s1)                                              
    inode->i_gid = je16_to_cpu(ri->gid);                                                  
4000300c:   01b44783            lbu a5,27(s0)                                             
40003010:   01a44703            lbu a4,26(s0)                                             
40003014:   00879793            slli    a5,a5,0x8                                         
40003018:   00e7e7b3            or  a5,a5,a4                                              
4000301c:   00f49823            sh  a5,16(s1)                                             
    inode->i_uid = je16_to_cpu(ri->uid);                                                  
40003020:   01944783            lbu a5,25(s0)                                             
40003024:   01844703            lbu a4,24(s0)                                             
40003028:   00879793            slli    a5,a5,0x8                                         
4000302c:   00e7e7b3            or  a5,a5,a4                                              
40003030:   00f49723            sh  a5,14(s1)                                             
    inode->i_atime = inode->i_ctime = inode->i_mtime = get_seconds();                     
40003034:   784190ef            jal ra,4001c7b8 <time>                                    
    ri->atime = ri->mtime = ri->ctime = cpu_to_je32(inode->i_mtime);                      
40003038:   00855713            srli    a4,a0,0x8                                         
4000303c:   01055793            srli    a5,a0,0x10                                        
    inode->i_atime = inode->i_ctime = inode->i_mtime = get_seconds();                     
40003040:   02a4a023            sw  a0,32(s1)                                             
40003044:   02a4a423            sw  a0,40(s1)                                             
40003048:   00a4ac23            sw  a0,24(s1)                                             
4000304c:   02b4a223            sw  a1,36(s1)                                             
40003050:   02b4a623            sw  a1,44(s1)                                             
40003054:   00b4ae23            sw  a1,28(s1)                                             
    ri->atime = ri->mtime = ri->ctime = cpu_to_je32(inode->i_mtime);                      
40003058:   0ff57693            andi    a3,a0,255                                         
4000305c:   0ff7f793            andi    a5,a5,255                                         
40003060:   0ff77713            andi    a4,a4,255                                         
40003064:   01855513            srli    a0,a0,0x18                                        
40003068:   02f40523            sb  a5,42(s0)                                             
4000306c:   02f40323            sb  a5,38(s0)                                             
40003070:   02f40123            sb  a5,34(s0)                                             
40003074:   02d40423            sb  a3,40(s0)                                             
40003078:   02e404a3            sb  a4,41(s0)                                             
4000307c:   02a405a3            sb  a0,43(s0)                                             
40003080:   02d40223            sb  a3,36(s0)                                             
40003084:   02e402a3            sb  a4,37(s0)                                             
40003088:   02a403a3            sb  a0,39(s0)                                             
4000308c:   02d40023            sb  a3,32(s0)                                             
40003090:   02e400a3            sb  a4,33(s0)                                             
40003094:   02a401a3            sb  a0,35(s0)                                             
    inode->i_size = 0;                                                                    
40003098:   00000793            li  a5,0                                                  
4000309c:   00000813            li  a6,0                                                  
400030a0:   02f4ac23            sw  a5,56(s1)                                             
400030a4:   0304ae23            sw  a6,60(s1)                                             
    return inode;                                                                         
400030a8:   ed9ff06f            j   40002f80 <jffs2_new_inode+0xf4>                       
                                                                                          

400048ac <jffs2_prealloc_raw_node_refs>: { struct jffs2_raw_node_ref **p, *ref; int i = nr; p = &jeb->last_node; ref = *p;
400048ac:   02c5a503            lw  a0,44(a1)                                             
{                                                                                         
400048b0:   fe010113            addi    sp,sp,-32                                         
400048b4:   01312623            sw  s3,12(sp)                                             
400048b8:   01412423            sw  s4,8(sp)                                              
400048bc:   01512223            sw  s5,4(sp)                                              
400048c0:   00112e23            sw  ra,28(sp)                                             
400048c4:   00812c23            sw  s0,24(sp)                                             
400048c8:   00912a23            sw  s1,20(sp)                                             
400048cc:   01212823            sw  s2,16(sp)                                             
400048d0:   00058a13            mv  s4,a1                                                 
400048d4:   00060a93            mv  s5,a2                                                 
    p = &jeb->last_node;                                                                  
400048d8:   02c58993            addi    s3,a1,44                                          
                                                                                          
    /* If jeb->last_node is really a valid node then skip over it */                      
    if (ref && ref->flash_offset != REF_EMPTY_NODE)                                       
400048dc:   00050a63            beqz    a0,400048f0 <jffs2_prealloc_raw_node_refs+0x44>   
400048e0:   00452703            lw  a4,4(a0)                                              
400048e4:   ffe00793            li  a5,-2                                                 
400048e8:   00f70463            beq a4,a5,400048f0 <jffs2_prealloc_raw_node_refs+0x44>    
        ref++;                                                                            
400048ec:   00850513            addi    a0,a0,8                                           
                                                                                          
    while (i) {                                                                           
400048f0:   020a8463            beqz    s5,40004918 <jffs2_prealloc_raw_node_refs+0x6c>   <== NEVER TAKEN
400048f4:   000a8493            mv  s1,s5                                                 
            ret[i].flash_offset = REF_EMPTY_NODE;                                         
400048f8:   ffe00413            li  s0,-2                                                 
        ret[i].flash_offset = REF_LINK_NODE;                                              
400048fc:   fff00913            li  s2,-1                                                 
        if (!ref) {                                                                       
40004900:   04050863            beqz    a0,40004950 <jffs2_prealloc_raw_node_refs+0xa4>   
            ref = *p = jffs2_alloc_refblock();                                            
            if (!ref)                                                                     
                return -ENOMEM;                                                           
        }                                                                                 
        if (ref->flash_offset == REF_LINK_NODE) {                                         
40004904:   00452783            lw  a5,4(a0)                                              
40004908:   03278e63            beq a5,s2,40004944 <jffs2_prealloc_raw_node_refs+0x98>    
            p = &ref->next_in_ino;                                                        
            ref = *p;                                                                     
            continue;                                                                     
        }                                                                                 
        i--;                                                                              
4000490c:   fff48493            addi    s1,s1,-1                                          
        ref++;                                                                            
40004910:   00850513            addi    a0,a0,8                                           
    while (i) {                                                                           
40004914:   fe0496e3            bnez    s1,40004900 <jffs2_prealloc_raw_node_refs+0x54>   <== NEVER TAKEN
    }                                                                                     
    jeb->allocated_refs = nr;                                                             
40004918:   035a2223            sw  s5,36(s4)                                             
                                                                                          
    return 0;                                                                             
4000491c:   00000513            li  a0,0                                                  
}                                                                                         
40004920:   01c12083            lw  ra,28(sp)                                             
40004924:   01812403            lw  s0,24(sp)                                             
40004928:   01412483            lw  s1,20(sp)                                             
4000492c:   01012903            lw  s2,16(sp)                                             
40004930:   00c12983            lw  s3,12(sp)                                             
40004934:   00812a03            lw  s4,8(sp)                                              
40004938:   00412a83            lw  s5,4(sp)                                              
4000493c:   02010113            addi    sp,sp,32                                          
40004940:   00008067            ret                                                       
            p = &ref->next_in_ino;                                                        
40004944:   00050993            mv  s3,a0                                                 
            ref = *p;                                                                     
40004948:   00052503            lw  a0,0(a0)                                              
        if (!ref) {                                                                       
4000494c:   fa051ce3            bnez    a0,40004904 <jffs2_prealloc_raw_node_refs+0x58>   <== NEVER TAKEN
    ret = malloc((REFS_PER_BLOCK + 1) * sizeof(*ret));                                    
40004950:   0f800513            li  a0,248                                                
40004954:   128090ef            jal ra,4000da7c <malloc>                                  
    if (ret) {                                                                            
40004958:   02050663            beqz    a0,40004984 <jffs2_prealloc_raw_node_refs+0xd8>   <== NEVER TAKEN
4000495c:   00050793            mv  a5,a0                                                 
40004960:   0f050713            addi    a4,a0,240                                         
            ret[i].flash_offset = REF_EMPTY_NODE;                                         
40004964:   0087a223            sw  s0,4(a5) # f004 <bsp_section_rodata_size+0x9f30>      
            ret[i].next_in_ino = NULL;                                                    
40004968:   0007a023            sw  zero,0(a5)                                            
        for (i=0; i < REFS_PER_BLOCK; i++) {                                              
4000496c:   00878793            addi    a5,a5,8                                           
40004970:   fef71ae3            bne a4,a5,40004964 <jffs2_prealloc_raw_node_refs+0xb8>    
        ret[i].flash_offset = REF_LINK_NODE;                                              
40004974:   0f252a23            sw  s2,244(a0)                                            
        ret[i].next_in_ino = NULL;                                                        
40004978:   0e052823            sw  zero,240(a0)                                          
            ref = *p = jffs2_alloc_refblock();                                            
4000497c:   00a9a023            sw  a0,0(s3)                                              
            if (!ref)                                                                     
40004980:   f85ff06f            j   40004904 <jffs2_prealloc_raw_node_refs+0x58>          
            ref = *p = jffs2_alloc_refblock();                                            
40004984:   0009a023            sw  zero,0(s3)                                            <== NOT EXECUTED
                return -ENOMEM;                                                           
40004988:   ff400513            li  a0,-12                                                <== NOT EXECUTED
4000498c:   f95ff06f            j   40004920 <jffs2_prealloc_raw_node_refs+0x74>          <== NOT EXECUTED
                                                                                          

40006508 <jffs2_read_dnode>: #include "compr.h" int jffs2_read_dnode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_full_dnode *fd, unsigned char *buf, int ofs, int len) {
40006508:   fc010113            addi    sp,sp,-64                                         
4000650c:   02912a23            sw  s1,52(sp)                                             
40006510:   03212823            sw  s2,48(sp)                                             
40006514:   03312623            sw  s3,44(sp)                                             
40006518:   03412423            sw  s4,40(sp)                                             
4000651c:   03512223            sw  s5,36(sp)                                             
40006520:   03612023            sw  s6,32(sp)                                             
40006524:   02112e23            sw  ra,60(sp)                                             
40006528:   02812c23            sw  s0,56(sp)                                             
4000652c:   01712e23            sw  s7,28(sp)                                             
40006530:   01812c23            sw  s8,24(sp)                                             
40006534:   01912a23            sw  s9,20(sp)                                             
40006538:   00050913            mv  s2,a0                                                 
4000653c:   00058a93            mv  s5,a1                                                 
40006540:   00060493            mv  s1,a2                                                 
40006544:   00068993            mv  s3,a3                                                 
40006548:   00070b13            mv  s6,a4                                                 
4000654c:   00078a13            mv  s4,a5                                                 
    uint32_t crc;                                                                         
    unsigned char *decomprbuf = NULL;                                                     
    unsigned char *readbuf = NULL;                                                        
    int ret = 0;                                                                          
                                                                                          
    ri = jffs2_alloc_raw_inode();                                                         
40006550:   b44fe0ef            jal ra,40004894 <jffs2_alloc_raw_inode>                   
    if (!ri)                                                                              
40006554:   4a050863            beqz    a0,40006a04 <jffs2_read_dnode+0x4fc>              <== NEVER TAKEN
        return -ENOMEM;                                                                   
                                                                                          
    ret = jffs2_flash_read(c, ref_offset(fd->raw), sizeof(*ri), &readlen, (char *)ri);    
40006558:   0004a783            lw  a5,0(s1)                                              
4000655c:   00050713            mv  a4,a0                                                 
40006560:   00050413            mv  s0,a0                                                 
40006564:   0047a583            lw  a1,4(a5)                                              
40006568:   00c10693            addi    a3,sp,12                                          
4000656c:   04400613            li  a2,68                                                 
40006570:   ffc5f593            andi    a1,a1,-4                                          
40006574:   00090513            mv  a0,s2                                                 
40006578:   400050ef            jal ra,4000b978 <jffs2_flash_read>                        
4000657c:   00050b93            mv  s7,a0                                                 
    if (ret) {                                                                            
40006580:   18051063            bnez    a0,40006700 <jffs2_read_dnode+0x1f8>              <== NEVER TAKEN
        jffs2_free_raw_inode(ri);                                                         
        pr_warn("Error reading node from 0x%08x: %d\n",                                   
            ref_offset(fd->raw), ret);                                                    
        return ret;                                                                       
    }                                                                                     
    if (readlen != sizeof(*ri)) {                                                         
40006584:   00c12703            lw  a4,12(sp)                                             
40006588:   04400793            li  a5,68                                                 
4000658c:   44f71463            bne a4,a5,400069d4 <jffs2_read_dnode+0x4cc>               
        jffs2_free_raw_inode(ri);                                                         
        pr_warn("Short read from 0x%08x: wanted 0x%zx bytes, got 0x%zx\n",                
            ref_offset(fd->raw), sizeof(*ri), readlen);                                   
        return -EIO;                                                                      
    }                                                                                     
    crc = crc32(0, ri, sizeof(*ri)-8);                                                    
40006590:   00040593            mv  a1,s0                                                 
40006594:   03c00613            li  a2,60                                                 
40006598:   6f9030ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
                                                                                          
    jffs2_dbg(1, "Node read from %08x: node_crc %08x, calculated CRC %08x. dsize %x, csize %x, offset %x, buf %p\n",
          ref_offset(fd->raw), je32_to_cpu(ri->node_crc),                                 
          crc, je32_to_cpu(ri->dsize), je32_to_cpu(ri->csize),                            
          je32_to_cpu(ri->offset), buf);                                                  
    if (crc != je32_to_cpu(ri->node_crc)) {                                               
4000659c:   04144583            lbu a1,65(s0)                                             
400065a0:   04044783            lbu a5,64(s0)                                             
400065a4:   04244883            lbu a7,66(s0)                                             
400065a8:   04344803            lbu a6,67(s0)                                             
400065ac:   00859593            slli    a1,a1,0x8                                         
400065b0:   00f5e5b3            or  a1,a1,a5                                              
400065b4:   01089893            slli    a7,a7,0x10                                        
400065b8:   00b8e8b3            or  a7,a7,a1                                              
400065bc:   01881813            slli    a6,a6,0x18                                        
400065c0:   011865b3            or  a1,a6,a7                                              
400065c4:   10a59c63            bne a1,a0,400066dc <jffs2_read_dnode+0x1d4>               
        ret = -EIO;                                                                       
        goto out_ri;                                                                      
    }                                                                                     
    /* There was a bug where we wrote hole nodes out with csize/dsize                     
       swapped. Deal with it */                                                           
    if (ri->compr == JFFS2_COMPR_ZERO && !je32_to_cpu(ri->dsize) &&                       
400065c8:   03844703            lbu a4,56(s0)                                             
400065cc:   00100793            li  a5,1                                                  
400065d0:   14f70c63            beq a4,a5,40006728 <jffs2_read_dnode+0x220>               
        je32_to_cpu(ri->csize)) {                                                         
400065d4:   03144b83            lbu s7,49(s0)                                             
400065d8:   03044683            lbu a3,48(s0)                                             
400065dc:   03244603            lbu a2,50(s0)                                             
400065e0:   03344783            lbu a5,51(s0)                                             
400065e4:   008b9b93            slli    s7,s7,0x8                                         
400065e8:   00dbebb3            or  s7,s7,a3                                              
400065ec:   01061613            slli    a2,a2,0x10                                        
400065f0:   01766633            or  a2,a2,s7                                              
400065f4:   01879b93            slli    s7,a5,0x18                                        
400065f8:   00cbebb3            or  s7,s7,a2                                              
       Reading whole node and it's uncompressed - read directly to buffer provided, check CRC.
       Reading whole node and it's compressed - read into comprbuf, check CRC and decompress to buffer provided
       Reading partial node and it's uncompressed - read into readbuf, check CRC, and copy
       Reading partial node and it's compressed - read into readbuf, check checksum, decompress to decomprbuf and copy
    */                                                                                    
    if (ri->compr == JFFS2_COMPR_NONE && len == je32_to_cpu(ri->dsize)) {                 
400065fc:   22071463            bnez    a4,40006824 <jffs2_read_dnode+0x31c>              
40006600:   03544683            lbu a3,53(s0)                                             
40006604:   03444603            lbu a2,52(s0)                                             
40006608:   03644703            lbu a4,54(s0)                                             
4000660c:   03744783            lbu a5,55(s0)                                             
40006610:   00869693            slli    a3,a3,0x8                                         
40006614:   00c6e6b3            or  a3,a3,a2                                              
40006618:   01071713            slli    a4,a4,0x10                                        
4000661c:   00d76733            or  a4,a4,a3                                              
40006620:   01879793            slli    a5,a5,0x18                                        
40006624:   00e7e7b3            or  a5,a5,a4                                              
40006628:   03478063            beq a5,s4,40006648 <jffs2_read_dnode+0x140>               
        readbuf = buf;                                                                    
    } else {                                                                              
        readbuf = kmalloc(je32_to_cpu(ri->csize), GFP_KERNEL);                            
4000662c:   000b8513            mv  a0,s7                                                 
40006630:   44c070ef            jal ra,4000da7c <malloc>                                  
40006634:   00050c13            mv  s8,a0                                                 
        if (!readbuf) {                                                                   
40006638:   00050c93            mv  s9,a0                                                 
4000663c:   00051a63            bnez    a0,40006650 <jffs2_read_dnode+0x148>              <== ALWAYS TAKEN
            ret = -ENOMEM;                                                                
40006640:   ff400b93            li  s7,-12                                                <== NOT EXECUTED
40006644:   0580006f            j   4000669c <jffs2_read_dnode+0x194>                     <== NOT EXECUTED
40006648:   00098c93            mv  s9,s3                                                 
4000664c:   00098c13            mv  s8,s3                                                 
        decomprbuf = readbuf;                                                             
    }                                                                                     
                                                                                          
    jffs2_dbg(2, "Read %d bytes to %p\n", je32_to_cpu(ri->csize),                         
          readbuf);                                                                       
    ret = jffs2_flash_read(c, (ref_offset(fd->raw)) + sizeof(*ri),                        
40006650:   0004a783            lw  a5,0(s1)                                              
40006654:   000b8613            mv  a2,s7                                                 
40006658:   000c8713            mv  a4,s9                                                 
4000665c:   0047a583            lw  a1,4(a5)                                              
40006660:   00c10693            addi    a3,sp,12                                          
40006664:   00090513            mv  a0,s2                                                 
40006668:   ffc5f593            andi    a1,a1,-4                                          
4000666c:   04458593            addi    a1,a1,68                                          
40006670:   308050ef            jal ra,4000b978 <jffs2_flash_read>                        
40006674:   00050b93            mv  s7,a0                                                 
                   je32_to_cpu(ri->csize), &readlen, readbuf);                            
                                                                                          
    if (!ret && readlen != je32_to_cpu(ri->csize))                                        
40006678:   0e050a63            beqz    a0,4000676c <jffs2_read_dnode+0x264>              <== ALWAYS TAKEN
                                                                                          
    if (len < je32_to_cpu(ri->dsize)) {                                                   
        memcpy(buf, decomprbuf+ofs, len);                                                 
    }                                                                                     
 out_decomprbuf:                                                                          
    if(decomprbuf != buf && decomprbuf != readbuf)                                        
4000667c:   01898863            beq s3,s8,4000668c <jffs2_read_dnode+0x184>               
40006680:   018c8a63            beq s9,s8,40006694 <jffs2_read_dnode+0x18c>               
        kfree(decomprbuf);                                                                
40006684:   000c0513            mv  a0,s8                                                 
40006688:   04c070ef            jal ra,4000d6d4 <free>                                    
 out_readbuf:                                                                             
    if(readbuf != buf)                                                                    
4000668c:   01998863            beq s3,s9,4000669c <jffs2_read_dnode+0x194>               
40006690:   000c8c13            mv  s8,s9                                                 
        kfree(readbuf);                                                                   
40006694:   000c0513            mv  a0,s8                                                 
40006698:   03c070ef            jal ra,4000d6d4 <free>                                    
 out_ri:                                                                                  
    jffs2_free_raw_inode(ri);                                                             
4000669c:   00040513            mv  a0,s0                                                 
400066a0:   9fcfe0ef            jal ra,4000489c <jffs2_free_raw_inode>                    
                                                                                          
    return ret;                                                                           
}                                                                                         
400066a4:   03c12083            lw  ra,60(sp)                                             
400066a8:   03812403            lw  s0,56(sp)                                             
400066ac:   03412483            lw  s1,52(sp)                                             
400066b0:   03012903            lw  s2,48(sp)                                             
400066b4:   02c12983            lw  s3,44(sp)                                             
400066b8:   02812a03            lw  s4,40(sp)                                             
400066bc:   02412a83            lw  s5,36(sp)                                             
400066c0:   02012b03            lw  s6,32(sp)                                             
400066c4:   01812c03            lw  s8,24(sp)                                             
400066c8:   01412c83            lw  s9,20(sp)                                             
400066cc:   000b8513            mv  a0,s7                                                 
400066d0:   01c12b83            lw  s7,28(sp)                                             
400066d4:   04010113            addi    sp,sp,64                                          
400066d8:   00008067            ret                                                       
        pr_warn("Node CRC %08x != calculated CRC %08x for node at %08x\n",                
400066dc:   0004a783            lw  a5,0(s1)                                              <== NOT EXECUTED
400066e0:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
400066e4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400066e8:   0047a683            lw  a3,4(a5)                                              <== NOT EXECUTED
400066ec:   38050513            addi    a0,a0,896 # 4001e380 <__func__.0+0x90>            <== NOT EXECUTED
        ret = -EIO;                                                                       
400066f0:   ffb00b93            li  s7,-5                                                 <== NOT EXECUTED
        pr_warn("Node CRC %08x != calculated CRC %08x for node at %08x\n",                
400066f4:   ffc6f693            andi    a3,a3,-4                                          <== NOT EXECUTED
400066f8:   dd1ff0ef            jal ra,400064c8 <jffs2_printk>                            <== NOT EXECUTED
        goto out_ri;                                                                      
400066fc:   fa1ff06f            j   4000669c <jffs2_read_dnode+0x194>                     <== NOT EXECUTED
        jffs2_free_raw_inode(ri);                                                         
40006700:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40006704:   998fe0ef            jal ra,4000489c <jffs2_free_raw_inode>                    <== NOT EXECUTED
        pr_warn("Error reading node from 0x%08x: %d\n",                                   
40006708:   0004a783            lw  a5,0(s1)                                              <== NOT EXECUTED
4000670c:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40006710:   000b8613            mv  a2,s7                                                 <== NOT EXECUTED
40006714:   0047a583            lw  a1,4(a5)                                              <== NOT EXECUTED
40006718:   30c50513            addi    a0,a0,780 # 4001e30c <__func__.0+0x1c>            <== NOT EXECUTED
4000671c:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
40006720:   da9ff0ef            jal ra,400064c8 <jffs2_printk>                            <== NOT EXECUTED
        return ret;                                                                       
40006724:   f81ff06f            j   400066a4 <jffs2_read_dnode+0x19c>                     <== NOT EXECUTED
    if (ri->compr == JFFS2_COMPR_ZERO && !je32_to_cpu(ri->dsize) &&                       
40006728:   03544683            lbu a3,53(s0)                                             
4000672c:   03444603            lbu a2,52(s0)                                             
40006730:   03644703            lbu a4,54(s0)                                             
40006734:   03744783            lbu a5,55(s0)                                             
40006738:   00869693            slli    a3,a3,0x8                                         
4000673c:   00c6e6b3            or  a3,a3,a2                                              
40006740:   01071713            slli    a4,a4,0x10                                        
40006744:   00d76733            or  a4,a4,a3                                              
40006748:   01879793            slli    a5,a5,0x18                                        
4000674c:   00e7e7b3            or  a5,a5,a4                                              
40006750:   18078a63            beqz    a5,400068e4 <jffs2_read_dnode+0x3dc>              <== NEVER TAKEN
        memset(buf, 0, len);                                                              
40006754:   000a0613            mv  a2,s4                                                 
40006758:   00000593            li  a1,0                                                  
4000675c:   00098513            mv  a0,s3                                                 
40006760:   1b9150ef            jal ra,4001c118 <memset>                                  
    ret = jffs2_flash_read(c, ref_offset(fd->raw), sizeof(*ri), &readlen, (char *)ri);    
40006764:   00000b93            li  s7,0                                                  
        goto out_ri;                                                                      
40006768:   f35ff06f            j   4000669c <jffs2_read_dnode+0x194>                     
    if (!ret && readlen != je32_to_cpu(ri->csize))                                        
4000676c:   03144703            lbu a4,49(s0)                                             
40006770:   03044683            lbu a3,48(s0)                                             
40006774:   03244783            lbu a5,50(s0)                                             
40006778:   03344603            lbu a2,51(s0)                                             
4000677c:   00871713            slli    a4,a4,0x8                                         
40006780:   00d76733            or  a4,a4,a3                                              
40006784:   01079793            slli    a5,a5,0x10                                        
40006788:   00c12683            lw  a3,12(sp)                                             
4000678c:   00e7e7b3            or  a5,a5,a4                                              
40006790:   01861613            slli    a2,a2,0x18                                        
40006794:   00f66633            or  a2,a2,a5                                              
        ret = -EIO;                                                                       
40006798:   ffb00b93            li  s7,-5                                                 
    if (!ret && readlen != je32_to_cpu(ri->csize))                                        
4000679c:   eed610e3            bne a2,a3,4000667c <jffs2_read_dnode+0x174>               
    crc = crc32(0, readbuf, je32_to_cpu(ri->csize));                                      
400067a0:   000c8593            mv  a1,s9                                                 
400067a4:   00000513            li  a0,0                                                  
400067a8:   4e9030ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
    if (crc != je32_to_cpu(ri->data_crc)) {                                               
400067ac:   03d44703            lbu a4,61(s0)                                             
400067b0:   03c44683            lbu a3,60(s0)                                             
400067b4:   03e44783            lbu a5,62(s0)                                             
400067b8:   03f44583            lbu a1,63(s0)                                             
400067bc:   00871713            slli    a4,a4,0x8                                         
400067c0:   00d76733            or  a4,a4,a3                                              
400067c4:   01079793            slli    a5,a5,0x10                                        
400067c8:   00e7e7b3            or  a5,a5,a4                                              
400067cc:   01859593            slli    a1,a1,0x18                                        
400067d0:   00f5e5b3            or  a1,a1,a5                                              
400067d4:   16a59063            bne a1,a0,40006934 <jffs2_read_dnode+0x42c>               
        ret = jffs2_decompress(c, f, ri->compr | (ri->usercompr << 8), readbuf, decomprbuf, je32_to_cpu(ri->csize), je32_to_cpu(ri->dsize));
400067d8:   03544703            lbu a4,53(s0)                                             
400067dc:   03444683            lbu a3,52(s0)                                             
400067e0:   03644783            lbu a5,54(s0)                                             
400067e4:   03744803            lbu a6,55(s0)                                             
400067e8:   00871713            slli    a4,a4,0x8                                         
    if (ri->compr != JFFS2_COMPR_NONE) {                                                  
400067ec:   03844603            lbu a2,56(s0)                                             
        ret = jffs2_decompress(c, f, ri->compr | (ri->usercompr << 8), readbuf, decomprbuf, je32_to_cpu(ri->csize), je32_to_cpu(ri->dsize));
400067f0:   00d76733            or  a4,a4,a3                                              
400067f4:   01079793            slli    a5,a5,0x10                                        
400067f8:   00e7e7b3            or  a5,a5,a4                                              
400067fc:   01881813            slli    a6,a6,0x18                                        
40006800:   00f86833            or  a6,a6,a5                                              
    if (ri->compr != JFFS2_COMPR_NONE) {                                                  
40006804:   14061a63            bnez    a2,40006958 <jffs2_read_dnode+0x450>              
 out_decomprbuf:                                                                          
40006808:   00000b93            li  s7,0                                                  
    if (len < je32_to_cpu(ri->dsize)) {                                                   
4000680c:   e70a78e3            bgeu    s4,a6,4000667c <jffs2_read_dnode+0x174>           
        memcpy(buf, decomprbuf+ofs, len);                                                 
40006810:   000a0613            mv  a2,s4                                                 
40006814:   016c05b3            add a1,s8,s6                                              
40006818:   00098513            mv  a0,s3                                                 
4000681c:   7d4150ef            jal ra,4001bff0 <memcpy>                                  
40006820:   e5dff06f            j   4000667c <jffs2_read_dnode+0x174>                     
        readbuf = kmalloc(je32_to_cpu(ri->csize), GFP_KERNEL);                            
40006824:   000b8513            mv  a0,s7                                                 
40006828:   254070ef            jal ra,4000da7c <malloc>                                  
4000682c:   00050c93            mv  s9,a0                                                 
        if (!readbuf) {                                                                   
40006830:   e00508e3            beqz    a0,40006640 <jffs2_read_dnode+0x138>              <== NEVER TAKEN
        if (len < je32_to_cpu(ri->dsize)) {                                               
40006834:   03544703            lbu a4,53(s0)                                             
40006838:   03444683            lbu a3,52(s0)                                             
4000683c:   03644783            lbu a5,54(s0)                                             
40006840:   03744503            lbu a0,55(s0)                                             
40006844:   00871713            slli    a4,a4,0x8                                         
40006848:   00d76733            or  a4,a4,a3                                              
4000684c:   01079793            slli    a5,a5,0x10                                        
40006850:   00e7e7b3            or  a5,a5,a4                                              
40006854:   01851513            slli    a0,a0,0x18                                        
40006858:   00f56533            or  a0,a0,a5                                              
4000685c:   06aa6863            bltu    s4,a0,400068cc <jffs2_read_dnode+0x3c4>           
    ret = jffs2_flash_read(c, (ref_offset(fd->raw)) + sizeof(*ri),                        
40006860:   0004a783            lw  a5,0(s1)                                              
40006864:   000b8613            mv  a2,s7                                                 
40006868:   000c8713            mv  a4,s9                                                 
4000686c:   0047a583            lw  a1,4(a5)                                              
40006870:   00c10693            addi    a3,sp,12                                          
40006874:   00090513            mv  a0,s2                                                 
40006878:   ffc5f593            andi    a1,a1,-4                                          
4000687c:   04458593            addi    a1,a1,68                                          
40006880:   0f8050ef            jal ra,4000b978 <jffs2_flash_read>                        
40006884:   00050b93            mv  s7,a0                                                 
    if (!ret && readlen != je32_to_cpu(ri->csize))                                        
40006888:   e00512e3            bnez    a0,4000668c <jffs2_read_dnode+0x184>              <== NEVER TAKEN
4000688c:   03144703            lbu a4,49(s0)                                             
40006890:   03044683            lbu a3,48(s0)                                             
40006894:   03244783            lbu a5,50(s0)                                             
40006898:   03344603            lbu a2,51(s0)                                             
4000689c:   00871713            slli    a4,a4,0x8                                         
400068a0:   00d76733            or  a4,a4,a3                                              
400068a4:   01079793            slli    a5,a5,0x10                                        
400068a8:   00c12683            lw  a3,12(sp)                                             
400068ac:   00e7e7b3            or  a5,a5,a4                                              
400068b0:   01861613            slli    a2,a2,0x18                                        
400068b4:   00f66633            or  a2,a2,a5                                              
400068b8:   00098c13            mv  s8,s3                                                 
400068bc:   eed602e3            beq a2,a3,400067a0 <jffs2_read_dnode+0x298>               
        ret = -EIO;                                                                       
400068c0:   ffb00b93            li  s7,-5                                                 <== NOT EXECUTED
    if(readbuf != buf)                                                                    
400068c4:   dd998ce3            beq s3,s9,4000669c <jffs2_read_dnode+0x194>               <== NOT EXECUTED
400068c8:   dc9ff06f            j   40006690 <jffs2_read_dnode+0x188>                     <== NOT EXECUTED
            decomprbuf = kmalloc(je32_to_cpu(ri->dsize), GFP_KERNEL);                     
400068cc:   1b0070ef            jal ra,4000da7c <malloc>                                  
400068d0:   00050c13            mv  s8,a0                                                 
            if (!decomprbuf) {                                                            
400068d4:   d6051ee3            bnez    a0,40006650 <jffs2_read_dnode+0x148>              <== ALWAYS TAKEN
                ret = -ENOMEM;                                                            
400068d8:   ff400b93            li  s7,-12                                                <== NOT EXECUTED
    if(readbuf != buf)                                                                    
400068dc:   dd9980e3            beq s3,s9,4000669c <jffs2_read_dnode+0x194>               <== NOT EXECUTED
400068e0:   db1ff06f            j   40006690 <jffs2_read_dnode+0x188>                     <== NOT EXECUTED
        je32_to_cpu(ri->csize)) {                                                         
400068e4:   03144583            lbu a1,49(s0)                                             <== NOT EXECUTED
400068e8:   03044503            lbu a0,48(s0)                                             <== NOT EXECUTED
400068ec:   03244603            lbu a2,50(s0)                                             <== NOT EXECUTED
400068f0:   03344683            lbu a3,51(s0)                                             <== NOT EXECUTED
400068f4:   00859713            slli    a4,a1,0x8                                         <== NOT EXECUTED
400068f8:   01061793            slli    a5,a2,0x10                                        <== NOT EXECUTED
400068fc:   00a76733            or  a4,a4,a0                                              <== NOT EXECUTED
40006900:   00e7e733            or  a4,a5,a4                                              <== NOT EXECUTED
40006904:   01869793            slli    a5,a3,0x18                                        <== NOT EXECUTED
40006908:   00e7e7b3            or  a5,a5,a4                                              <== NOT EXECUTED
    if (ri->compr == JFFS2_COMPR_ZERO && !je32_to_cpu(ri->dsize) &&                       
4000690c:   e40784e3            beqz    a5,40006754 <jffs2_read_dnode+0x24c>              <== NOT EXECUTED
        ri->dsize = ri->csize;                                                            
40006910:   02a40a23            sb  a0,52(s0)                                             <== NOT EXECUTED
40006914:   02b40aa3            sb  a1,53(s0)                                             <== NOT EXECUTED
40006918:   02c40b23            sb  a2,54(s0)                                             <== NOT EXECUTED
4000691c:   02d40ba3            sb  a3,55(s0)                                             <== NOT EXECUTED
        ri->csize = cpu_to_je32(0);                                                       
40006920:   02040823            sb  zero,48(s0)                                           <== NOT EXECUTED
40006924:   020408a3            sb  zero,49(s0)                                           <== NOT EXECUTED
40006928:   02040923            sb  zero,50(s0)                                           <== NOT EXECUTED
4000692c:   020409a3            sb  zero,51(s0)                                           <== NOT EXECUTED
40006930:   e25ff06f            j   40006754 <jffs2_read_dnode+0x24c>                     <== NOT EXECUTED
        pr_warn("Data CRC %08x != calculated CRC %08x for node at %08x\n",                
40006934:   0004a783            lw  a5,0(s1)                                              <== NOT EXECUTED
40006938:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000693c:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40006940:   0047a683            lw  a3,4(a5)                                              <== NOT EXECUTED
40006944:   3c450513            addi    a0,a0,964 # 4001e3c4 <__func__.0+0xd4>            <== NOT EXECUTED
        ret = -EIO;                                                                       
40006948:   ffb00b93            li  s7,-5                                                 <== NOT EXECUTED
        pr_warn("Data CRC %08x != calculated CRC %08x for node at %08x\n",                
4000694c:   ffc6f693            andi    a3,a3,-4                                          <== NOT EXECUTED
40006950:   b79ff0ef            jal ra,400064c8 <jffs2_printk>                            <== NOT EXECUTED
        goto out_decomprbuf;                                                              
40006954:   d29ff06f            j   4000667c <jffs2_read_dnode+0x174>                     <== NOT EXECUTED
        ret = jffs2_decompress(c, f, ri->compr | (ri->usercompr << 8), readbuf, decomprbuf, je32_to_cpu(ri->csize), je32_to_cpu(ri->dsize));
40006958:   03144703            lbu a4,49(s0)                                             
4000695c:   03044503            lbu a0,48(s0)                                             
40006960:   03244783            lbu a5,50(s0)                                             
40006964:   03344683            lbu a3,51(s0)                                             
40006968:   03944583            lbu a1,57(s0)                                             
4000696c:   00871713            slli    a4,a4,0x8                                         
40006970:   00a76733            or  a4,a4,a0                                              
40006974:   01079793            slli    a5,a5,0x10                                        
40006978:   00e7e7b3            or  a5,a5,a4                                              
4000697c:   01869693            slli    a3,a3,0x18                                        
40006980:   00859593            slli    a1,a1,0x8                                         
40006984:   00f6e7b3            or  a5,a3,a5                                              
40006988:   00c5e633            or  a2,a1,a2                                              
4000698c:   000c0713            mv  a4,s8                                                 
40006990:   000c8693            mv  a3,s9                                                 
40006994:   000a8593            mv  a1,s5                                                 
40006998:   00090513            mv  a0,s2                                                 
4000699c:   3ad030ef            jal ra,4000a548 <jffs2_decompress>                        
400069a0:   00050b93            mv  s7,a0                                                 
        if (ret) {                                                                        
400069a4:   06051463            bnez    a0,40006a0c <jffs2_read_dnode+0x504>              <== NEVER TAKEN
    if (len < je32_to_cpu(ri->dsize)) {                                                   
400069a8:   03544703            lbu a4,53(s0)                                             
400069ac:   03444683            lbu a3,52(s0)                                             
400069b0:   03644783            lbu a5,54(s0)                                             
400069b4:   03744803            lbu a6,55(s0)                                             
400069b8:   00871713            slli    a4,a4,0x8                                         
400069bc:   00d76733            or  a4,a4,a3                                              
400069c0:   01079793            slli    a5,a5,0x10                                        
400069c4:   00e7e7b3            or  a5,a5,a4                                              
400069c8:   01881813            slli    a6,a6,0x18                                        
400069cc:   00f86833            or  a6,a6,a5                                              
400069d0:   e39ff06f            j   40006808 <jffs2_read_dnode+0x300>                     
        jffs2_free_raw_inode(ri);                                                         
400069d4:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
400069d8:   ec5fd0ef            jal ra,4000489c <jffs2_free_raw_inode>                    <== NOT EXECUTED
        pr_warn("Short read from 0x%08x: wanted 0x%zx bytes, got 0x%zx\n",                
400069dc:   0004a783            lw  a5,0(s1)                                              <== NOT EXECUTED
400069e0:   00c12683            lw  a3,12(sp)                                             <== NOT EXECUTED
400069e4:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400069e8:   0047a583            lw  a1,4(a5)                                              <== NOT EXECUTED
400069ec:   04400613            li  a2,68                                                 <== NOT EXECUTED
400069f0:   33c50513            addi    a0,a0,828 # 4001e33c <__func__.0+0x4c>            <== NOT EXECUTED
400069f4:   ffc5f593            andi    a1,a1,-4                                          <== NOT EXECUTED
400069f8:   ad1ff0ef            jal ra,400064c8 <jffs2_printk>                            <== NOT EXECUTED
        return -EIO;                                                                      
400069fc:   ffb00b93            li  s7,-5                                                 <== NOT EXECUTED
40006a00:   ca5ff06f            j   400066a4 <jffs2_read_dnode+0x19c>                     <== NOT EXECUTED
        return -ENOMEM;                                                                   
40006a04:   ff400b93            li  s7,-12                                                <== NOT EXECUTED
40006a08:   c9dff06f            j   400066a4 <jffs2_read_dnode+0x19c>                     <== NOT EXECUTED
            pr_warn("Error: jffs2_decompress returned %d\n", ret);                        
40006a0c:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
40006a10:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40006a14:   40850513            addi    a0,a0,1032 # 4001e408 <__func__.0+0x118>          <== NOT EXECUTED
40006a18:   ab1ff0ef            jal ra,400064c8 <jffs2_printk>                            <== NOT EXECUTED
            goto out_decomprbuf;                                                          
40006a1c:   c61ff06f            j   4000667c <jffs2_read_dnode+0x174>                     <== NOT EXECUTED
                                                                                          

40006a20 <jffs2_read_inode_range>: int jffs2_read_inode_range(struct jffs2_sb_info *c, struct jffs2_inode_info *f, unsigned char *buf, uint32_t offset, uint32_t len) {
40006a20:   fd010113            addi    sp,sp,-48                                         
40006a24:   01412c23            sw  s4,24(sp)                                             
40006a28:   00058a13            mv  s4,a1                                                 
40006a2c:   01512a23            sw  s5,20(sp)                                             
    int ret;                                                                              
                                                                                          
    jffs2_dbg(1, "%s(): ino #%u, range 0x%08x-0x%08x\n",                                  
          __func__, f->inocache->ino, offset, offset + len);                              
                                                                                          
    frag = jffs2_lookup_node_frag(&f->fragtree, offset);                                  
40006a30:   00068593            mv  a1,a3                                                 
{                                                                                         
40006a34:   00050a93            mv  s5,a0                                                 
    frag = jffs2_lookup_node_frag(&f->fragtree, offset);                                  
40006a38:   004a0513            addi    a0,s4,4                                           
{                                                                                         
40006a3c:   02912223            sw  s1,36(sp)                                             
40006a40:   03212023            sw  s2,32(sp)                                             
40006a44:   01312e23            sw  s3,28(sp)                                             
40006a48:   01712623            sw  s7,12(sp)                                             
40006a4c:   02112623            sw  ra,44(sp)                                             
40006a50:   02812423            sw  s0,40(sp)                                             
40006a54:   01612823            sw  s6,16(sp)                                             
40006a58:   00068493            mv  s1,a3                                                 
40006a5c:   00060b93            mv  s7,a2                                                 
    uint32_t end = offset + len;                                                          
40006a60:   00e689b3            add s3,a3,a4                                              
    frag = jffs2_lookup_node_frag(&f->fragtree, offset);                                  
40006a64:   a1dfe0ef            jal ra,40005480 <jffs2_lookup_node_frag>                  
    /* XXX FIXME: Where a single physical node actually shows up in two                   
       frags, we read it twice. Don't do that. */                                         
    /* Now we're pointing at the first frag which overlaps our page                       
     * (or perhaps is before it, if we've been asked to read off the                      
     * end of the file). */                                                               
    while(offset < end) {                                                                 
40006a68:   00050913            mv  s2,a0                                                 
40006a6c:   0734f863            bgeu    s1,s3,40006adc <jffs2_read_inode_range+0xbc>      
        jffs2_dbg(2, "%s(): offset %d, end %d\n",                                         
              __func__, offset, end);                                                     
        if (unlikely(!frag || frag->ofs > offset ||                                       
40006a70:   0a090063            beqz    s2,40006b10 <jffs2_read_inode_range+0xf0>         
40006a74:   01892783            lw  a5,24(s2)                                             
40006a78:   0af4ee63            bltu    s1,a5,40006b34 <jffs2_read_inode_range+0x114>     
40006a7c:   01492703            lw  a4,20(s2)                                             
40006a80:   00e787b3            add a5,a5,a4                                              
40006a84:   08f4f663            bgeu    s1,a5,40006b10 <jffs2_read_inode_range+0xf0>      
                  offset, offset + holesize);                                             
            memset(buf, 0, holesize);                                                     
            buf += holesize;                                                              
            offset += holesize;                                                           
            continue;                                                                     
        } else if (unlikely(!frag->node)) {                                               
40006a88:   01092603            lw  a2,16(s2)                                             
40006a8c:   0c060063            beqz    a2,40006b4c <jffs2_read_inode_range+0x12c>        <== NEVER TAKEN
        } else {                                                                          
            uint32_t readlen;                                                             
            uint32_t fragofs; /* offset within the frag to start reading */               
                                                                                          
            fragofs = offset - frag->ofs;                                                 
            readlen = min(frag->size - fragofs, end - offset);                            
40006a90:   40978833            sub a6,a5,s1                                              
40006a94:   40998433            sub s0,s3,s1                                              
40006a98:   00887463            bgeu    a6,s0,40006aa0 <jffs2_read_inode_range+0x80>      
40006a9c:   00080413            mv  s0,a6                                                 
            jffs2_dbg(1, "Reading %d-%d from node at 0x%08x (%d)\n",                      
                  frag->ofs+fragofs,                                                      
                  frag->ofs + fragofs+readlen,                                            
                  ref_offset(frag->node->raw),                                            
                  ref_flags(frag->node->raw));                                            
            ret = jffs2_read_dnode(c, f, frag->node, buf, fragofs + frag->ofs - frag->node->ofs, readlen);
40006aa0:   00462703            lw  a4,4(a2)                                              
40006aa4:   00040793            mv  a5,s0                                                 
40006aa8:   000b8693            mv  a3,s7                                                 
40006aac:   40e48733            sub a4,s1,a4                                              
40006ab0:   000a0593            mv  a1,s4                                                 
40006ab4:   000a8513            mv  a0,s5                                                 
40006ab8:   a51ff0ef            jal ra,40006508 <jffs2_read_dnode>                        
40006abc:   00050b13            mv  s6,a0                                                 
            jffs2_dbg(2, "node read done\n");                                             
            if (ret) {                                                                    
40006ac0:   0c051663            bnez    a0,40006b8c <jffs2_read_inode_range+0x16c>        <== NEVER TAKEN
  return _RBTree_Successor( node );                                                       
40006ac4:   00090513            mv  a0,s2                                                 
40006ac8:   3590d0ef            jal ra,40014620 <_RBTree_Successor>                       
                      __func__, ret);                                                     
                memset(buf, 0, readlen);                                                  
                return ret;                                                               
            }                                                                             
            buf += readlen;                                                               
            offset += readlen;                                                            
40006acc:   008484b3            add s1,s1,s0                                              
            buf += readlen;                                                               
40006ad0:   008b8bb3            add s7,s7,s0                                              
40006ad4:   00050913            mv  s2,a0                                                 
    while(offset < end) {                                                                 
40006ad8:   f934ece3            bltu    s1,s3,40006a70 <jffs2_read_inode_range+0x50>      
            frag = frag_next(frag);                                                       
            jffs2_dbg(2, "node read was OK. Looping\n");                                  
        }                                                                                 
    }                                                                                     
    return 0;                                                                             
40006adc:   00000b13            li  s6,0                                                  
}                                                                                         
40006ae0:   02c12083            lw  ra,44(sp)                                             
40006ae4:   02812403            lw  s0,40(sp)                                             
40006ae8:   02412483            lw  s1,36(sp)                                             
40006aec:   02012903            lw  s2,32(sp)                                             
40006af0:   01c12983            lw  s3,28(sp)                                             
40006af4:   01812a03            lw  s4,24(sp)                                             
40006af8:   01412a83            lw  s5,20(sp)                                             
40006afc:   00c12b83            lw  s7,12(sp)                                             
40006b00:   000b0513            mv  a0,s6                                                 
40006b04:   01012b03            lw  s6,16(sp)                                             
40006b08:   03010113            addi    sp,sp,48                                          
40006b0c:   00008067            ret                                                       
            uint32_t holesize = end - offset;                                             
40006b10:   40998433            sub s0,s3,s1                                              
40006b14:   00098493            mv  s1,s3                                                 
            memset(buf, 0, holesize);                                                     
40006b18:   000b8513            mv  a0,s7                                                 
40006b1c:   00040613            mv  a2,s0                                                 
40006b20:   00000593            li  a1,0                                                  
40006b24:   5f4150ef            jal ra,4001c118 <memset>                                  
            buf += holesize;                                                              
40006b28:   008b8bb3            add s7,s7,s0                                              
    while(offset < end) {                                                                 
40006b2c:   f534e2e3            bltu    s1,s3,40006a70 <jffs2_read_inode_range+0x50>      
40006b30:   fadff06f            j   40006adc <jffs2_read_inode_range+0xbc>                
            uint32_t holesize = end - offset;                                             
40006b34:   40998733            sub a4,s3,s1                                              <== NOT EXECUTED
                holesize = min(holesize, frag->ofs - offset);                             
40006b38:   40978433            sub s0,a5,s1                                              <== NOT EXECUTED
40006b3c:   00877463            bgeu    a4,s0,40006b44 <jffs2_read_inode_range+0x124>     <== NOT EXECUTED
40006b40:   00070413            mv  s0,a4                                                 <== NOT EXECUTED
            offset += holesize;                                                           
40006b44:   008484b3            add s1,s1,s0                                              <== NOT EXECUTED
40006b48:   fd1ff06f            j   40006b18 <jffs2_read_inode_range+0xf8>                <== NOT EXECUTED
            uint32_t holeend = min(end, frag->ofs + frag->size);                          
40006b4c:   00078413            mv  s0,a5                                                 <== NOT EXECUTED
40006b50:   02f9ea63            bltu    s3,a5,40006b84 <jffs2_read_inode_range+0x164>     <== NOT EXECUTED
            memset(buf, 0, holeend - offset);                                             
40006b54:   409404b3            sub s1,s0,s1                                              <== NOT EXECUTED
40006b58:   00048613            mv  a2,s1                                                 <== NOT EXECUTED
40006b5c:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006b60:   000b8513            mv  a0,s7                                                 <== NOT EXECUTED
40006b64:   5b4150ef            jal ra,4001c118 <memset>                                  <== NOT EXECUTED
40006b68:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40006b6c:   2b50d0ef            jal ra,40014620 <_RBTree_Successor>                       <== NOT EXECUTED
            buf += holeend - offset;                                                      
40006b70:   009b8bb3            add s7,s7,s1                                              <== NOT EXECUTED
            offset = holeend;                                                             
40006b74:   00040493            mv  s1,s0                                                 <== NOT EXECUTED
40006b78:   00050913            mv  s2,a0                                                 <== NOT EXECUTED
    while(offset < end) {                                                                 
40006b7c:   ef34eae3            bltu    s1,s3,40006a70 <jffs2_read_inode_range+0x50>      <== NOT EXECUTED
40006b80:   f5dff06f            j   40006adc <jffs2_read_inode_range+0xbc>                <== NOT EXECUTED
            uint32_t holeend = min(end, frag->ofs + frag->size);                          
40006b84:   00098413            mv  s0,s3                                                 <== NOT EXECUTED
40006b88:   fcdff06f            j   40006b54 <jffs2_read_inode_range+0x134>               <== NOT EXECUTED
                memset(buf, 0, readlen);                                                  
40006b8c:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
40006b90:   00000593            li  a1,0                                                  <== NOT EXECUTED
40006b94:   000b8513            mv  a0,s7                                                 <== NOT EXECUTED
40006b98:   580150ef            jal ra,4001c118 <memset>                                  <== NOT EXECUTED
                return ret;                                                               
40006b9c:   f45ff06f            j   40006ae0 <jffs2_read_inode_range+0xc0>                <== NOT EXECUTED
                                                                                          

4000b154 <jffs2_rename>: int jffs2_rename (struct _inode *old_dir_i, struct _inode *d_inode, const unsigned char *old_d_name, size_t old_d_namelen, struct _inode *new_dir_i, const unsigned char *new_d_name, size_t new_d_namelen) {
4000b154:   fd010113            addi    sp,sp,-48                                         <== NOT EXECUTED
4000b158:   02812423            sw  s0,40(sp)                                             <== NOT EXECUTED
    */                                                                                    
                                                                                          
    /* Make a hard link */                                                                
                                                                                          
    /* XXX: This is ugly */                                                               
    type = (d_inode->i_mode & S_IFMT) >> 12;                                              
4000b15c:   0085a403            lw  s0,8(a1)                                              <== NOT EXECUTED
{                                                                                         
4000b160:   02912223            sw  s1,36(sp)                                             <== NOT EXECUTED
4000b164:   03212023            sw  s2,32(sp)                                             <== NOT EXECUTED
    type = (d_inode->i_mode & S_IFMT) >> 12;                                              
4000b168:   00c45413            srli    s0,s0,0xc                                         <== NOT EXECUTED
{                                                                                         
4000b16c:   01412c23            sw  s4,24(sp)                                             <== NOT EXECUTED
4000b170:   01512a23            sw  s5,20(sp)                                             <== NOT EXECUTED
4000b174:   01612823            sw  s6,16(sp)                                             <== NOT EXECUTED
4000b178:   01712623            sw  s7,12(sp)                                             <== NOT EXECUTED
4000b17c:   01812423            sw  s8,8(sp)                                              <== NOT EXECUTED
4000b180:   01912223            sw  s9,4(sp)                                              <== NOT EXECUTED
4000b184:   02112623            sw  ra,44(sp)                                             <== NOT EXECUTED
4000b188:   01312e23            sw  s3,28(sp)                                             <== NOT EXECUTED
    type = (d_inode->i_mode & S_IFMT) >> 12;                                              
4000b18c:   00f47413            andi    s0,s0,15                                          <== NOT EXECUTED
    struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dir_i->i_sb);                             
4000b190:   04052b83            lw  s7,64(a0)                                             <== NOT EXECUTED
{                                                                                         
4000b194:   00058493            mv  s1,a1                                                 <== NOT EXECUTED
4000b198:   00050913            mv  s2,a0                                                 <== NOT EXECUTED
4000b19c:   00060a93            mv  s5,a2                                                 <== NOT EXECUTED
4000b1a0:   00068b13            mv  s6,a3                                                 <== NOT EXECUTED
4000b1a4:   00070a13            mv  s4,a4                                                 <== NOT EXECUTED
4000b1a8:   00078c13            mv  s8,a5                                                 <== NOT EXECUTED
4000b1ac:   00080c93            mv  s9,a6                                                 <== NOT EXECUTED
    if (!type) type = DT_REG;                                                             
4000b1b0:   00041463            bnez    s0,4000b1b8 <jffs2_rename+0x64>                   <== NOT EXECUTED
4000b1b4:   00800413            li  s0,8                                                  <== NOT EXECUTED
                                                                                          
    now = get_seconds();                                                                  
4000b1b8:   00000513            li  a0,0                                                  <== NOT EXECUTED
4000b1bc:   5fc110ef            jal ra,4001c7b8 <time>                                    <== NOT EXECUTED
    ret = jffs2_do_link(c, JFFS2_INODE_INFO(new_dir_i),                                   
4000b1c0:   0004a603            lw  a2,0(s1)                                              <== NOT EXECUTED
4000b1c4:   00050813            mv  a6,a0                                                 <== NOT EXECUTED
4000b1c8:   00040693            mv  a3,s0                                                 <== NOT EXECUTED
    now = get_seconds();                                                                  
4000b1cc:   00050993            mv  s3,a0                                                 <== NOT EXECUTED
    ret = jffs2_do_link(c, JFFS2_INODE_INFO(new_dir_i),                                   
4000b1d0:   000c8793            mv  a5,s9                                                 <== NOT EXECUTED
4000b1d4:   000c0713            mv  a4,s8                                                 <== NOT EXECUTED
4000b1d8:   048a0593            addi    a1,s4,72                                          <== NOT EXECUTED
4000b1dc:   000b8513            mv  a0,s7                                                 <== NOT EXECUTED
4000b1e0:   93dfe0ef            jal ra,40009b1c <jffs2_do_link>                           <== NOT EXECUTED
4000b1e4:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
                d_inode->i_ino, type,                                                     
                (const char *)new_d_name,                                                 
                            new_d_namelen, now);                                          
                                                                                          
    if (ret)                                                                              
4000b1e8:   02050e63            beqz    a0,4000b224 <jffs2_rename+0xd0>                   <== NOT EXECUTED
        mutex_unlock(&f->sem);                                                            
                                                                                          
        printk(KERN_NOTICE "jffs2_rename(): Link succeeded, unlink failed (err %d). You now have a hard link\n", ret);
    }                                                                                     
    return ret;                                                                           
}                                                                                         
4000b1ec:   02c12083            lw  ra,44(sp)                                             <== NOT EXECUTED
4000b1f0:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000b1f4:   02812403            lw  s0,40(sp)                                             <== NOT EXECUTED
4000b1f8:   02412483            lw  s1,36(sp)                                             <== NOT EXECUTED
4000b1fc:   02012903            lw  s2,32(sp)                                             <== NOT EXECUTED
4000b200:   01c12983            lw  s3,28(sp)                                             <== NOT EXECUTED
4000b204:   01812a03            lw  s4,24(sp)                                             <== NOT EXECUTED
4000b208:   01412a83            lw  s5,20(sp)                                             <== NOT EXECUTED
4000b20c:   01012b03            lw  s6,16(sp)                                             <== NOT EXECUTED
4000b210:   00c12b83            lw  s7,12(sp)                                             <== NOT EXECUTED
4000b214:   00812c03            lw  s8,8(sp)                                              <== NOT EXECUTED
4000b218:   00412c83            lw  s9,4(sp)                                              <== NOT EXECUTED
4000b21c:   03010113            addi    sp,sp,48                                          <== NOT EXECUTED
4000b220:   00008067            ret                                                       <== NOT EXECUTED
    ret = jffs2_do_unlink(c, JFFS2_INODE_INFO(old_dir_i),                                 
4000b224:   00098793            mv  a5,s3                                                 <== NOT EXECUTED
4000b228:   00000713            li  a4,0                                                  <== NOT EXECUTED
4000b22c:   000b0693            mv  a3,s6                                                 <== NOT EXECUTED
4000b230:   000a8613            mv  a2,s5                                                 <== NOT EXECUTED
4000b234:   04890593            addi    a1,s2,72                                          <== NOT EXECUTED
4000b238:   000b8513            mv  a0,s7                                                 <== NOT EXECUTED
4000b23c:   f6cfe0ef            jal ra,400099a8 <jffs2_do_unlink>                         <== NOT EXECUTED
4000b240:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (ret) {                                                                            
4000b244:   fa0504e3            beqz    a0,4000b1ec <jffs2_rename+0x98>                   <== NOT EXECUTED
        if (f->inocache)                                                                  
4000b248:   05c4a783            lw  a5,92(s1)                                             <== NOT EXECUTED
4000b24c:   00078a63            beqz    a5,4000b260 <jffs2_rename+0x10c>                  <== NOT EXECUTED
            d_inode->i_nlink = f->inocache->pino_nlink++;                                 
4000b250:   0147a703            lw  a4,20(a5)                                             <== NOT EXECUTED
4000b254:   00170693            addi    a3,a4,1 # a001 <bsp_section_rodata_size+0x4f2d>   <== NOT EXECUTED
4000b258:   00d7aa23            sw  a3,20(a5)                                             <== NOT EXECUTED
4000b25c:   00e49623            sh  a4,12(s1)                                             <== NOT EXECUTED
        printk(KERN_NOTICE "jffs2_rename(): Link succeeded, unlink failed (err %d). You now have a hard link\n", ret);
4000b260:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000b264:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
4000b268:   8d050513            addi    a0,a0,-1840 # 4001f8d0 <__func__.0+0x74>          <== NOT EXECUTED
4000b26c:   d48ff0ef            jal ra,4000a7b4 <jffs2_printk>                            <== NOT EXECUTED
4000b270:   f7dff06f            j   4000b1ec <jffs2_rename+0x98>                          <== NOT EXECUTED
                                                                                          

400062a0 <jffs2_reserve_space>: {
400062a0:   fe010113            addi    sp,sp,-32                                         
400062a4:   00812c23            sw  s0,24(sp)                                             
400062a8:   01412423            sw  s4,8(sp)                                              
400062ac:   01512223            sw  s5,4(sp)                                              
400062b0:   00112e23            sw  ra,28(sp)                                             
400062b4:   00912a23            sw  s1,20(sp)                                             
400062b8:   01212823            sw  s2,16(sp)                                             
400062bc:   01312623            sw  s3,12(sp)                                             
400062c0:   01612023            sw  s6,0(sp)                                              
    if (prio != ALLOC_DELETION && !jffs2_rp_can_write(c)) {                               
400062c4:   00100793            li  a5,1                                                  
        c->erasing_size - c->resv_blocks_write * c->sector_size                           
400062c8:   04454483            lbu s1,68(a0)                                             
{                                                                                         
400062cc:   00050413            mv  s0,a0                                                 
400062d0:   00068a93            mv  s5,a3                                                 
400062d4:   00060a13            mv  s4,a2                                                 
    if (prio != ALLOC_DELETION && !jffs2_rp_can_write(c)) {                               
400062d8:   06f68463            beq a3,a5,40006340 <jffs2_reserve_space+0xa0>             
        c->erasing_size - c->resv_blocks_write * c->sector_size                           
400062dc:   03452703            lw  a4,52(a0)                                             
    avail = c->dirty_size + c->free_size + c->unchecked_size +                            
400062e0:   02052783            lw  a5,32(a0)                                             
400062e4:   02852803            lw  a6,40(a0)                                             
        c->erasing_size - c->resv_blocks_write * c->sector_size                           
400062e8:   02e48733            mul a4,s1,a4                                              
    avail = c->dirty_size + c->free_size + c->unchecked_size +                            
400062ec:   03852503            lw  a0,56(a0)                                             
400062f0:   02c42683            lw  a3,44(s0)                                             
400062f4:   04c42603            lw  a2,76(s0)                                             
400062f8:   010787b3            add a5,a5,a6                                              
400062fc:   00a787b3            add a5,a5,a0                                              
40006300:   00d787b3            add a5,a5,a3                                              
    if (avail > opts->rp_size)                                                            
40006304:   0d842683            lw  a3,216(s0)                                            
    avail = c->dirty_size + c->free_size + c->unchecked_size +                            
40006308:   40c787b3            sub a5,a5,a2                                              
4000630c:   40e787b3            sub a5,a5,a4                                              
    if (avail > opts->rp_size)                                                            
40006310:   02f6e863            bltu    a3,a5,40006340 <jffs2_reserve_space+0xa0>         
        ret = -ENOSPC;                                                                    
40006314:   fe400513            li  a0,-28                                                
}                                                                                         
40006318:   01c12083            lw  ra,28(sp)                                             
4000631c:   01812403            lw  s0,24(sp)                                             
40006320:   01412483            lw  s1,20(sp)                                             
40006324:   01012903            lw  s2,16(sp)                                             
40006328:   00c12983            lw  s3,12(sp)                                             
4000632c:   00812a03            lw  s4,8(sp)                                              
40006330:   00412a83            lw  s5,4(sp)                                              
40006334:   00012b03            lw  s6,0(sp)                                              
40006338:   02010113            addi    sp,sp,32                                          
4000633c:   00008067            ret                                                       
    minsize = PAD(minsize);                                                               
40006340:   00358593            addi    a1,a1,3                                           
40006344:   ffc5f993            andi    s3,a1,-4                                          
    while(ret == -EAGAIN) {                                                               
40006348:   ff500913            li  s2,-11                                                
                if (prio == ALLOC_DELETION && c->nr_free_blocks + c->nr_erasing_blocks >= c->resv_blocks_deletion) {
4000634c:   00100b13            li  s6,1                                                  
        while(c->nr_free_blocks + c->nr_erasing_blocks < blocksneeded) {                  
40006350:   04042703            lw  a4,64(s0)                                             
40006354:   03c42683            lw  a3,60(s0)                                             
            ret = jffs2_garbage_collect_pass(c);                                          
40006358:   00040513            mv  a0,s0                                                 
        while(c->nr_free_blocks + c->nr_erasing_blocks < blocksneeded) {                  
4000635c:   00d706b3            add a3,a4,a3                                              
40006360:   0496fe63            bgeu    a3,s1,400063bc <jffs2_reserve_space+0x11c>        
            dirty = c->dirty_size + c->erasing_size - c->nr_erasing_blocks * c->sector_size + c->unchecked_size;
40006364:   03442603            lw  a2,52(s0)                                             
40006368:   02c42583            lw  a1,44(s0)                                             
4000636c:   02042783            lw  a5,32(s0)                                             
40006370:   02e60733            mul a4,a2,a4                                              
40006374:   03842803            lw  a6,56(s0)                                             
40006378:   00b787b3            add a5,a5,a1                                              
            if (dirty < c->nospc_dirty_size) {                                            
4000637c:   04c42583            lw  a1,76(s0)                                             
40006380:   010787b3            add a5,a5,a6                                              
            dirty = c->dirty_size + c->erasing_size - c->nr_erasing_blocks * c->sector_size + c->unchecked_size;
40006384:   40e78733            sub a4,a5,a4                                              
            if (dirty < c->nospc_dirty_size) {                                            
40006388:   08b76063            bltu    a4,a1,40006408 <jffs2_reserve_space+0x168>        
            avail = c->free_size + c->dirty_size + c->erasing_size + c->unchecked_size;   
4000638c:   02842703            lw  a4,40(s0)                                             
40006390:   00e787b3            add a5,a5,a4                                              
            if ( (avail / c->sector_size) <= blocksneeded) {                              
40006394:   02c7d7b3            divu    a5,a5,a2                                          
40006398:   06f4f863            bgeu    s1,a5,40006408 <jffs2_reserve_space+0x168>        
            ret = jffs2_garbage_collect_pass(c);                                          
4000639c:   9c8fd0ef            jal ra,40003564 <jffs2_garbage_collect_pass>              
            if (ret == -EAGAIN) {                                                         
400063a0:   fb2508e3            beq a0,s2,40006350 <jffs2_reserve_space+0xb0>             
            } else if (ret)                                                               
400063a4:   f6051ae3            bnez    a0,40006318 <jffs2_reserve_space+0x78>            <== NEVER TAKEN
        while(c->nr_free_blocks + c->nr_erasing_blocks < blocksneeded) {                  
400063a8:   04042703            lw  a4,64(s0)                                             
400063ac:   03c42683            lw  a3,60(s0)                                             
            ret = jffs2_garbage_collect_pass(c);                                          
400063b0:   00040513            mv  a0,s0                                                 
        while(c->nr_free_blocks + c->nr_erasing_blocks < blocksneeded) {                  
400063b4:   00d706b3            add a3,a4,a3                                              
400063b8:   fa96e6e3            bltu    a3,s1,40006364 <jffs2_reserve_space+0xc4>         
        ret = jffs2_do_reserve_space(c, minsize, len, sumsize);                           
400063bc:   000a0613            mv  a2,s4                                                 
400063c0:   00098593            mv  a1,s3                                                 
400063c4:   00040513            mv  a0,s0                                                 
400063c8:   b29ff0ef            jal ra,40005ef0 <jffs2_do_reserve_space.constprop.0>      
    while(ret == -EAGAIN) {                                                               
400063cc:   f92502e3            beq a0,s2,40006350 <jffs2_reserve_space+0xb0>             
    if (!ret)                                                                             
400063d0:   f40514e3            bnez    a0,40006318 <jffs2_reserve_space+0x78>            <== NEVER TAKEN
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);                           
400063d4:   05842583            lw  a1,88(s0)                                             
400063d8:   00040513            mv  a0,s0                                                 
}                                                                                         
400063dc:   01812403            lw  s0,24(sp)                                             
400063e0:   01c12083            lw  ra,28(sp)                                             
400063e4:   01412483            lw  s1,20(sp)                                             
400063e8:   01012903            lw  s2,16(sp)                                             
400063ec:   00c12983            lw  s3,12(sp)                                             
400063f0:   00812a03            lw  s4,8(sp)                                              
400063f4:   00412a83            lw  s5,4(sp)                                              
400063f8:   00012b03            lw  s6,0(sp)                                              
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);                           
400063fc:   00100613            li  a2,1                                                  
}                                                                                         
40006400:   02010113            addi    sp,sp,32                                          
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);                           
40006404:   ca8fe06f            j   400048ac <jffs2_prealloc_raw_node_refs>               
                if (prio == ALLOC_DELETION && c->nr_free_blocks + c->nr_erasing_blocks >= c->resv_blocks_deletion) {
40006408:   f16a96e3            bne s5,s6,40006314 <jffs2_reserve_space+0x74>             
4000640c:   04544783            lbu a5,69(s0)                                             <== NOT EXECUTED
40006410:   f0f6e2e3            bltu    a3,a5,40006314 <jffs2_reserve_space+0x74>         <== NOT EXECUTED
        ret = jffs2_do_reserve_space(c, minsize, len, sumsize);                           
40006414:   000a0613            mv  a2,s4                                                 <== NOT EXECUTED
40006418:   00098593            mv  a1,s3                                                 <== NOT EXECUTED
4000641c:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40006420:   ad1ff0ef            jal ra,40005ef0 <jffs2_do_reserve_space.constprop.0>      <== NOT EXECUTED
    while(ret == -EAGAIN) {                                                               
40006424:   f32506e3            beq a0,s2,40006350 <jffs2_reserve_space+0xb0>             <== NOT EXECUTED
40006428:   fa9ff06f            j   400063d0 <jffs2_reserve_space+0x130>                  <== NOT EXECUTED
                                                                                          

40006218 <jffs2_reserve_space_gc>: {
40006218:   fe010113            addi    sp,sp,-32                                         
    minsize = PAD(minsize);                                                               
4000621c:   00358593            addi    a1,a1,3                                           
{                                                                                         
40006220:   00812c23            sw  s0,24(sp)                                             
40006224:   00912a23            sw  s1,20(sp)                                             
40006228:   01212823            sw  s2,16(sp)                                             
4000622c:   01312623            sw  s3,12(sp)                                             
40006230:   00112e23            sw  ra,28(sp)                                             
40006234:   00050493            mv  s1,a0                                                 
40006238:   00060913            mv  s2,a2                                                 
    minsize = PAD(minsize);                                                               
4000623c:   ffc5f413            andi    s0,a1,-4                                          
        if (ret == -EAGAIN)                                                               
40006240:   ff500993            li  s3,-11                                                
        ret = jffs2_do_reserve_space(c, minsize, len, sumsize);                           
40006244:   00090613            mv  a2,s2                                                 
40006248:   00040593            mv  a1,s0                                                 
4000624c:   00048513            mv  a0,s1                                                 
40006250:   ca1ff0ef            jal ra,40005ef0 <jffs2_do_reserve_space.constprop.0>      
        if (ret == -EAGAIN)                                                               
40006254:   ff3508e3            beq a0,s3,40006244 <jffs2_reserve_space_gc+0x2c>          
    if (!ret)                                                                             
40006258:   02050063            beqz    a0,40006278 <jffs2_reserve_space_gc+0x60>         <== ALWAYS TAKEN
}                                                                                         
4000625c:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
40006260:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
40006264:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
40006268:   01012903            lw  s2,16(sp)                                             <== NOT EXECUTED
4000626c:   00c12983            lw  s3,12(sp)                                             <== NOT EXECUTED
40006270:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
40006274:   00008067            ret                                                       <== NOT EXECUTED
40006278:   01812403            lw  s0,24(sp)                                             
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);                           
4000627c:   0584a583            lw  a1,88(s1)                                             
}                                                                                         
40006280:   01c12083            lw  ra,28(sp)                                             
40006284:   01012903            lw  s2,16(sp)                                             
40006288:   00c12983            lw  s3,12(sp)                                             
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);                           
4000628c:   00048513            mv  a0,s1                                                 
}                                                                                         
40006290:   01412483            lw  s1,20(sp)                                             
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);                           
40006294:   00100613            li  a2,1                                                  
}                                                                                         
40006298:   02010113            addi    sp,sp,32                                          
        ret = jffs2_prealloc_raw_node_refs(c, c->nextblock, 1);                           
4000629c:   e10fe06f            j   400048ac <jffs2_prealloc_raw_node_refs>               
                                                                                          

4000b090 <jffs2_rmdir>: int jffs2_rmdir (struct _inode *dir_i, struct _inode *d_inode, const unsigned char *d_name, size_t d_namelen) { struct jffs2_inode_info *f = JFFS2_INODE_INFO(d_inode); struct jffs2_full_dirent *fd; for (fd = f->dents ; fd; fd = fd->next) {
4000b090:   0545a783            lw  a5,84(a1)                                             
{                                                                                         
4000b094:   fe010113            addi    sp,sp,-32                                         
4000b098:   00812c23            sw  s0,24(sp)                                             
4000b09c:   00912a23            sw  s1,20(sp)                                             
4000b0a0:   01212823            sw  s2,16(sp)                                             
4000b0a4:   01312623            sw  s3,12(sp)                                             
4000b0a8:   00112e23            sw  ra,28(sp)                                             
4000b0ac:   01412423            sw  s4,8(sp)                                              
4000b0b0:   00058413            mv  s0,a1                                                 
4000b0b4:   00050493            mv  s1,a0                                                 
4000b0b8:   00060913            mv  s2,a2                                                 
4000b0bc:   00068993            mv  s3,a3                                                 
    for (fd = f->dents ; fd; fd = fd->next) {                                             
4000b0c0:   00079863            bnez    a5,4000b0d0 <jffs2_rmdir+0x40>                    
4000b0c4:   0380006f            j   4000b0fc <jffs2_rmdir+0x6c>                           
4000b0c8:   0047a783            lw  a5,4(a5)                                              <== NOT EXECUTED
4000b0cc:   02078863            beqz    a5,4000b0fc <jffs2_rmdir+0x6c>                    <== NOT EXECUTED
        if (fd->ino)                                                                      
4000b0d0:   00c7a703            lw  a4,12(a5)                                             
4000b0d4:   fe070ae3            beqz    a4,4000b0c8 <jffs2_rmdir+0x38>                    <== NEVER TAKEN
            return -ENOTEMPTY;                                                            
4000b0d8:   fa600513            li  a0,-90                                                
    }                                                                                     
    return jffs2_unlink(dir_i, d_inode, d_name, d_namelen);                               
}                                                                                         
4000b0dc:   01c12083            lw  ra,28(sp)                                             
4000b0e0:   01812403            lw  s0,24(sp)                                             
4000b0e4:   01412483            lw  s1,20(sp)                                             
4000b0e8:   01012903            lw  s2,16(sp)                                             
4000b0ec:   00c12983            lw  s3,12(sp)                                             
4000b0f0:   00812a03            lw  s4,8(sp)                                              
4000b0f4:   02010113            addi    sp,sp,32                                          
4000b0f8:   00008067            ret                                                       
    struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb);                                 
4000b0fc:   0404aa03            lw  s4,64(s1)                                             
                   d_namelen, dead_f, get_seconds());                                     
4000b100:   00000513            li  a0,0                                                  
4000b104:   6b4110ef            jal ra,4001c7b8 <time>                                    
4000b108:   00050793            mv  a5,a0                                                 
    ret = jffs2_do_unlink(c, dir_f, (const char *)d_name,                                 
4000b10c:   04840713            addi    a4,s0,72                                          
4000b110:   00098693            mv  a3,s3                                                 
4000b114:   00090613            mv  a2,s2                                                 
4000b118:   04848593            addi    a1,s1,72                                          
4000b11c:   000a0513            mv  a0,s4                                                 
4000b120:   889fe0ef            jal ra,400099a8 <jffs2_do_unlink>                         
    if (dead_f->inocache)                                                                 
4000b124:   05c42783            lw  a5,92(s0)                                             
4000b128:   fa078ae3            beqz    a5,4000b0dc <jffs2_rmdir+0x4c>                    <== NEVER TAKEN
        d_inode->i_nlink = dead_f->inocache->pino_nlink;                                  
4000b12c:   0147a783            lw  a5,20(a5)                                             
}                                                                                         
4000b130:   01c12083            lw  ra,28(sp)                                             
4000b134:   01412483            lw  s1,20(sp)                                             
        d_inode->i_nlink = dead_f->inocache->pino_nlink;                                  
4000b138:   00f41623            sh  a5,12(s0)                                             
}                                                                                         
4000b13c:   01812403            lw  s0,24(sp)                                             
4000b140:   01012903            lw  s2,16(sp)                                             
4000b144:   00c12983            lw  s3,12(sp)                                             
4000b148:   00812a03            lw  s4,8(sp)                                              
4000b14c:   02010113            addi    sp,sp,32                                          
4000b150:   00008067            ret                                                       
                                                                                          

4000cf34 <jffs2_rotate_lists>: static int count_list(struct list_head *l) { uint32_t count = 0; struct list_head *tmp; list_for_each(tmp, l) {
4000cf34:   06052603            lw  a2,96(a0)                                             
void jffs2_rotate_lists(struct jffs2_sb_info *c)                                          
{                                                                                         
    uint32_t x;                                                                           
    uint32_t rotateby;                                                                    
                                                                                          
    x = count_list(&c->clean_list);                                                       
4000cf38:   06050693            addi    a3,a0,96                                          
    list_for_each(tmp, l) {                                                               
4000cf3c:   00c68e63            beq a3,a2,4000cf58 <jffs2_rotate_lists+0x24>              
4000cf40:   00060793            mv  a5,a2                                                 <== NOT EXECUTED
    uint32_t count = 0;                                                                   
4000cf44:   00000713            li  a4,0                                                  <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf48:   0007a783            lw  a5,0(a5)                                              <== NOT EXECUTED
        count++;                                                                          
4000cf4c:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf50:   fef69ce3            bne a3,a5,4000cf48 <jffs2_rotate_lists+0x14>              <== NOT EXECUTED
    if (x) {                                                                              
4000cf54:   1e071463            bnez    a4,4000d13c <jffs2_rotate_lists+0x208>            <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf58:   06852603            lw  a2,104(a0)                                            
        rotateby = pseudo_random % x;                                                     
        rotate_list((&c->clean_list), rotateby);                                          
    }                                                                                     
                                                                                          
    x = count_list(&c->very_dirty_list);                                                  
4000cf5c:   06850693            addi    a3,a0,104                                         
    list_for_each(tmp, l) {                                                               
4000cf60:   00c68e63            beq a3,a2,4000cf7c <jffs2_rotate_lists+0x48>              
4000cf64:   00060793            mv  a5,a2                                                 <== NOT EXECUTED
    uint32_t count = 0;                                                                   
4000cf68:   00000713            li  a4,0                                                  <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf6c:   0007a783            lw  a5,0(a5)                                              <== NOT EXECUTED
        count++;                                                                          
4000cf70:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf74:   fef69ce3            bne a3,a5,4000cf6c <jffs2_rotate_lists+0x38>              <== NOT EXECUTED
    if (x) {                                                                              
4000cf78:   18071063            bnez    a4,4000d0f8 <jffs2_rotate_lists+0x1c4>            <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf7c:   07052603            lw  a2,112(a0)                                            
        rotateby = pseudo_random % x;                                                     
        rotate_list((&c->very_dirty_list), rotateby);                                     
    }                                                                                     
                                                                                          
    x = count_list(&c->dirty_list);                                                       
4000cf80:   07050693            addi    a3,a0,112                                         
    list_for_each(tmp, l) {                                                               
4000cf84:   00c68e63            beq a3,a2,4000cfa0 <jffs2_rotate_lists+0x6c>              
4000cf88:   00060793            mv  a5,a2                                                 <== NOT EXECUTED
    uint32_t count = 0;                                                                   
4000cf8c:   00000713            li  a4,0                                                  <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf90:   0007a783            lw  a5,0(a5)                                              <== NOT EXECUTED
        count++;                                                                          
4000cf94:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cf98:   fef69ce3            bne a3,a5,4000cf90 <jffs2_rotate_lists+0x5c>              <== NOT EXECUTED
    if (x) {                                                                              
4000cf9c:   10071c63            bnez    a4,4000d0b4 <jffs2_rotate_lists+0x180>            <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cfa0:   07852603            lw  a2,120(a0)                                            
        rotateby = pseudo_random % x;                                                     
        rotate_list((&c->dirty_list), rotateby);                                          
    }                                                                                     
                                                                                          
    x = count_list(&c->erasable_list);                                                    
4000cfa4:   07850693            addi    a3,a0,120                                         
    list_for_each(tmp, l) {                                                               
4000cfa8:   00c68e63            beq a3,a2,4000cfc4 <jffs2_rotate_lists+0x90>              
4000cfac:   00060793            mv  a5,a2                                                 <== NOT EXECUTED
    uint32_t count = 0;                                                                   
4000cfb0:   00000713            li  a4,0                                                  <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cfb4:   0007a783            lw  a5,0(a5)                                              <== NOT EXECUTED
        count++;                                                                          
4000cfb8:   00170713            addi    a4,a4,1                                           <== NOT EXECUTED
    list_for_each(tmp, l) {                                                               
4000cfbc:   fef69ce3            bne a3,a5,4000cfb4 <jffs2_rotate_lists+0x80>              <== NOT EXECUTED
    if (x) {                                                                              
4000cfc0:   0a071863            bnez    a4,4000d070 <jffs2_rotate_lists+0x13c>            <== NOT EXECUTED
        rotateby = pseudo_random % x;                                                     
        rotate_list((&c->erasable_list), rotateby);                                       
    }                                                                                     
                                                                                          
    if (c->nr_erasing_blocks) {                                                           
4000cfc4:   04052783            lw  a5,64(a0)                                             
4000cfc8:   04079e63            bnez    a5,4000d024 <jffs2_rotate_lists+0xf0>             <== ALWAYS TAKEN
        rotateby = pseudo_random % c->nr_erasing_blocks;                                  
        rotate_list((&c->erase_pending_list), rotateby);                                  
    }                                                                                     
                                                                                          
    if (c->nr_free_blocks) {                                                              
4000cfcc:   03c52783            lw  a5,60(a0)                                             
4000cfd0:   00079463            bnez    a5,4000cfd8 <jffs2_rotate_lists+0xa4>             <== NEVER TAKEN
        rotateby = pseudo_random % c->nr_free_blocks;                                     
        rotate_list((&c->free_list), rotateby);                                           
    }                                                                                     
}                                                                                         
4000cfd4:   00008067            ret                                                       
        rotateby = pseudo_random % c->nr_free_blocks;                                     
4000cfd8:   8bc1a683            lw  a3,-1860(gp) # 40042f94 <pseudo_random>               <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000cfdc:   0ac52583            lw  a1,172(a0)                                            <== NOT EXECUTED
    struct list_head *n = head->next;                                                     
4000cfe0:   0a852703            lw  a4,168(a0)                                            <== NOT EXECUTED
        rotateby = pseudo_random % c->nr_free_blocks;                                     
4000cfe4:   02f6f6b3            remu    a3,a3,a5                                          <== NOT EXECUTED
        rotate_list((&c->free_list), rotateby);                                           
4000cfe8:   0a850613            addi    a2,a0,168                                         <== NOT EXECUTED
4000cfec:   00e5a023            sw  a4,0(a1) # 4000 <bsp_section_bss_size+0x1568>         <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000cff0:   00b72223            sw  a1,4(a4)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000cff4:   fff68793            addi    a5,a3,-1                                          <== NOT EXECUTED
4000cff8:   00068a63            beqz    a3,4000d00c <jffs2_rotate_lists+0xd8>             <== NOT EXECUTED
4000cffc:   fff00693            li  a3,-1                                                 <== NOT EXECUTED
4000d000:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
        n = n->next;                                                                      
4000d004:   00072703            lw  a4,0(a4)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d008:   fed79ce3            bne a5,a3,4000d000 <jffs2_rotate_lists+0xcc>              <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000d00c:   00072783            lw  a5,0(a4)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000d010:   0ae52623            sw  a4,172(a0)                                            <== NOT EXECUTED
    newent->next = next;                                                                  
4000d014:   0af52423            sw  a5,168(a0)                                            <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000d018:   00c72023            sw  a2,0(a4)                                              <== NOT EXECUTED
    next->prev = newent;                                                                  
4000d01c:   00c7a223            sw  a2,4(a5)                                              <== NOT EXECUTED
}                                                                                         
4000d020:   00008067            ret                                                       <== NOT EXECUTED
        rotateby = pseudo_random % c->nr_erasing_blocks;                                  
4000d024:   8bc1a683            lw  a3,-1860(gp) # 40042f94 <pseudo_random>               
    ent->prev->next = ent->next;                                                          
4000d028:   09c52583            lw  a1,156(a0)                                            
    struct list_head *n = head->next;                                                     
4000d02c:   09852703            lw  a4,152(a0)                                            
        rotateby = pseudo_random % c->nr_erasing_blocks;                                  
4000d030:   02f6f6b3            remu    a3,a3,a5                                          
        rotate_list((&c->erase_pending_list), rotateby);                                  
4000d034:   09850613            addi    a2,a0,152                                         
4000d038:   00e5a023            sw  a4,0(a1)                                              
    ent->next->prev = ent->prev;                                                          
4000d03c:   00b72223            sw  a1,4(a4)                                              
    while(count--) {                                                                      
4000d040:   fff68793            addi    a5,a3,-1                                          
4000d044:   00068a63            beqz    a3,4000d058 <jffs2_rotate_lists+0x124>            <== ALWAYS TAKEN
4000d048:   fff00693            li  a3,-1                                                 <== NOT EXECUTED
4000d04c:   fff78793            addi    a5,a5,-1                                          <== NOT EXECUTED
        n = n->next;                                                                      
4000d050:   00072703            lw  a4,0(a4)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d054:   fed79ce3            bne a5,a3,4000d04c <jffs2_rotate_lists+0x118>             <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000d058:   00072783            lw  a5,0(a4)                                              
    newent->prev = afterthisent;                                                          
4000d05c:   08e52e23            sw  a4,156(a0)                                            
    newent->next = next;                                                                  
4000d060:   08f52c23            sw  a5,152(a0)                                            
    afterthisent->next = newent;                                                          
4000d064:   00c72023            sw  a2,0(a4)                                              
    next->prev = newent;                                                                  
4000d068:   00c7a223            sw  a2,4(a5)                                              
}                                                                                         
4000d06c:   f61ff06f            j   4000cfcc <jffs2_rotate_lists+0x98>                    
        rotateby = pseudo_random % x;                                                     
4000d070:   8bc1a683            lw  a3,-1860(gp) # 40042f94 <pseudo_random>               <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000d074:   07c52583            lw  a1,124(a0)                                            <== NOT EXECUTED
4000d078:   02e6f733            remu    a4,a3,a4                                          <== NOT EXECUTED
4000d07c:   00c5a023            sw  a2,0(a1)                                              <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000d080:   00b62223            sw  a1,4(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d084:   fff70693            addi    a3,a4,-1                                          <== NOT EXECUTED
4000d088:   00070a63            beqz    a4,4000d09c <jffs2_rotate_lists+0x168>            <== NOT EXECUTED
4000d08c:   fff00713            li  a4,-1                                                 <== NOT EXECUTED
4000d090:   fff68693            addi    a3,a3,-1                                          <== NOT EXECUTED
        n = n->next;                                                                      
4000d094:   00062603            lw  a2,0(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d098:   fee69ce3            bne a3,a4,4000d090 <jffs2_rotate_lists+0x15c>             <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000d09c:   00062703            lw  a4,0(a2)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000d0a0:   06c52e23            sw  a2,124(a0)                                            <== NOT EXECUTED
    newent->next = next;                                                                  
4000d0a4:   06e52c23            sw  a4,120(a0)                                            <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000d0a8:   00f62023            sw  a5,0(a2)                                              <== NOT EXECUTED
    next->prev = newent;                                                                  
4000d0ac:   00f72223            sw  a5,4(a4)                                              <== NOT EXECUTED
}                                                                                         
4000d0b0:   f15ff06f            j   4000cfc4 <jffs2_rotate_lists+0x90>                    <== NOT EXECUTED
        rotateby = pseudo_random % x;                                                     
4000d0b4:   8bc1a683            lw  a3,-1860(gp) # 40042f94 <pseudo_random>               <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000d0b8:   07452583            lw  a1,116(a0)                                            <== NOT EXECUTED
4000d0bc:   02e6f733            remu    a4,a3,a4                                          <== NOT EXECUTED
4000d0c0:   00c5a023            sw  a2,0(a1)                                              <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000d0c4:   00b62223            sw  a1,4(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d0c8:   fff70693            addi    a3,a4,-1                                          <== NOT EXECUTED
4000d0cc:   00070a63            beqz    a4,4000d0e0 <jffs2_rotate_lists+0x1ac>            <== NOT EXECUTED
4000d0d0:   fff00713            li  a4,-1                                                 <== NOT EXECUTED
4000d0d4:   fff68693            addi    a3,a3,-1                                          <== NOT EXECUTED
        n = n->next;                                                                      
4000d0d8:   00062603            lw  a2,0(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d0dc:   fee69ce3            bne a3,a4,4000d0d4 <jffs2_rotate_lists+0x1a0>             <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000d0e0:   00062703            lw  a4,0(a2)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000d0e4:   06c52a23            sw  a2,116(a0)                                            <== NOT EXECUTED
    newent->next = next;                                                                  
4000d0e8:   06e52823            sw  a4,112(a0)                                            <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000d0ec:   00f62023            sw  a5,0(a2)                                              <== NOT EXECUTED
    next->prev = newent;                                                                  
4000d0f0:   00f72223            sw  a5,4(a4)                                              <== NOT EXECUTED
}                                                                                         
4000d0f4:   eadff06f            j   4000cfa0 <jffs2_rotate_lists+0x6c>                    <== NOT EXECUTED
        rotateby = pseudo_random % x;                                                     
4000d0f8:   8bc1a683            lw  a3,-1860(gp) # 40042f94 <pseudo_random>               <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000d0fc:   06c52583            lw  a1,108(a0)                                            <== NOT EXECUTED
4000d100:   02e6f733            remu    a4,a3,a4                                          <== NOT EXECUTED
4000d104:   00c5a023            sw  a2,0(a1)                                              <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000d108:   00b62223            sw  a1,4(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d10c:   fff70693            addi    a3,a4,-1                                          <== NOT EXECUTED
4000d110:   00070a63            beqz    a4,4000d124 <jffs2_rotate_lists+0x1f0>            <== NOT EXECUTED
4000d114:   fff00713            li  a4,-1                                                 <== NOT EXECUTED
4000d118:   fff68693            addi    a3,a3,-1                                          <== NOT EXECUTED
        n = n->next;                                                                      
4000d11c:   00062603            lw  a2,0(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d120:   fee69ce3            bne a3,a4,4000d118 <jffs2_rotate_lists+0x1e4>             <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000d124:   00062703            lw  a4,0(a2)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000d128:   06c52623            sw  a2,108(a0)                                            <== NOT EXECUTED
    newent->next = next;                                                                  
4000d12c:   06e52423            sw  a4,104(a0)                                            <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000d130:   00f62023            sw  a5,0(a2)                                              <== NOT EXECUTED
    next->prev = newent;                                                                  
4000d134:   00f72223            sw  a5,4(a4)                                              <== NOT EXECUTED
}                                                                                         
4000d138:   e45ff06f            j   4000cf7c <jffs2_rotate_lists+0x48>                    <== NOT EXECUTED
        rotateby = pseudo_random % x;                                                     
4000d13c:   8bc1a683            lw  a3,-1860(gp) # 40042f94 <pseudo_random>               <== NOT EXECUTED
    ent->prev->next = ent->next;                                                          
4000d140:   06452583            lw  a1,100(a0)                                            <== NOT EXECUTED
4000d144:   02e6f733            remu    a4,a3,a4                                          <== NOT EXECUTED
4000d148:   00c5a023            sw  a2,0(a1)                                              <== NOT EXECUTED
    ent->next->prev = ent->prev;                                                          
4000d14c:   00b62223            sw  a1,4(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d150:   fff70693            addi    a3,a4,-1                                          <== NOT EXECUTED
4000d154:   00070a63            beqz    a4,4000d168 <jffs2_rotate_lists+0x234>            <== NOT EXECUTED
4000d158:   fff00713            li  a4,-1                                                 <== NOT EXECUTED
4000d15c:   fff68693            addi    a3,a3,-1                                          <== NOT EXECUTED
        n = n->next;                                                                      
4000d160:   00062603            lw  a2,0(a2)                                              <== NOT EXECUTED
    while(count--) {                                                                      
4000d164:   fee69ce3            bne a3,a4,4000d15c <jffs2_rotate_lists+0x228>             <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000d168:   00062703            lw  a4,0(a2)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000d16c:   06c52223            sw  a2,100(a0)                                            <== NOT EXECUTED
    newent->next = next;                                                                  
4000d170:   06e52023            sw  a4,96(a0)                                             <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000d174:   00f62023            sw  a5,0(a2)                                              <== NOT EXECUTED
    next->prev = newent;                                                                  
4000d178:   00f72223            sw  a5,4(a4)                                              <== NOT EXECUTED
}                                                                                         
4000d17c:   dddff06f            j   4000cf58 <jffs2_rotate_lists+0x24>                    <== NOT EXECUTED
                                                                                          

4000bd08 <jffs2_scan_classify_jeb>: return 0; } int jffs2_scan_classify_jeb(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb) { if ((jeb->used_size + jeb->unchecked_size) == PAD(c->cleanmarker_size) && !jeb->dirty_size
4000bd08:   01452703            lw  a4,20(a0)                                             <== NOT EXECUTED
4000bd0c:   0145a783            lw  a5,20(a1)                                             <== NOT EXECUTED
4000bd10:   0105a683            lw  a3,16(a1)                                             <== NOT EXECUTED
4000bd14:   00370713            addi    a4,a4,3                                           <== NOT EXECUTED
4000bd18:   ffc77713            andi    a4,a4,-4                                          <== NOT EXECUTED
4000bd1c:   00d786b3            add a3,a5,a3                                              <== NOT EXECUTED
4000bd20:   02e68663            beq a3,a4,4000bd4c <jffs2_scan_classify_jeb+0x44>         <== NOT EXECUTED
        && (!jeb->first_node || !ref_next(jeb->first_node)) )                             
        return BLK_STATE_CLEANMARKER;                                                     
                                                                                          
    /* move blocks with max 4 byte dirty space to cleanlist */                            
    else if (!ISDIRTY(c->sector_size - (jeb->used_size + jeb->unchecked_size))) {         
4000bd24:   03452703            lw  a4,52(a0)                                             <== NOT EXECUTED
4000bd28:   0c400613            li  a2,196                                                <== NOT EXECUTED
4000bd2c:   40d70733            sub a4,a4,a3                                              <== NOT EXECUTED
4000bd30:   04e67463            bgeu    a2,a4,4000bd78 <jffs2_scan_classify_jeb+0x70>     <== NOT EXECUTED
        c->dirty_size -= jeb->dirty_size;                                                 
        c->wasted_size += jeb->dirty_size;                                                
        jeb->wasted_size += jeb->dirty_size;                                              
        jeb->dirty_size = 0;                                                              
        return BLK_STATE_CLEAN;                                                           
    } else if (jeb->used_size || jeb->unchecked_size)                                     
4000bd34:   00d7e533            or  a0,a5,a3                                              <== NOT EXECUTED
        return BLK_STATE_PARTDIRTY;                                                       
    else                                                                                  
        return BLK_STATE_ALLDIRTY;                                                        
4000bd38:   00a03533            snez    a0,a0                                             <== NOT EXECUTED
4000bd3c:   40a00533            neg a0,a0                                                 <== NOT EXECUTED
4000bd40:   ffe57513            andi    a0,a0,-2                                          <== NOT EXECUTED
4000bd44:   00450513            addi    a0,a0,4                                           <== NOT EXECUTED
4000bd48:   00008067            ret                                                       <== NOT EXECUTED
    if ((jeb->used_size + jeb->unchecked_size) == PAD(c->cleanmarker_size) && !jeb->dirty_size
4000bd4c:   0185a703            lw  a4,24(a1)                                             <== NOT EXECUTED
4000bd50:   fc071ae3            bnez    a4,4000bd24 <jffs2_scan_classify_jeb+0x1c>        <== NOT EXECUTED
        && (!jeb->first_node || !ref_next(jeb->first_node)) )                             
4000bd54:   0285a703            lw  a4,40(a1)                                             <== NOT EXECUTED
4000bd58:   00070c63            beqz    a4,4000bd70 <jffs2_scan_classify_jeb+0x68>        <== NOT EXECUTED
    if (ref->flash_offset == REF_LINK_NODE) {                                             
4000bd5c:   00c72603            lw  a2,12(a4)                                             <== NOT EXECUTED
4000bd60:   fff00813            li  a6,-1                                                 <== NOT EXECUTED
4000bd64:   05060463            beq a2,a6,4000bdac <jffs2_scan_classify_jeb+0xa4>         <== NOT EXECUTED
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
4000bd68:   ffe00713            li  a4,-2                                                 <== NOT EXECUTED
4000bd6c:   fae61ce3            bne a2,a4,4000bd24 <jffs2_scan_classify_jeb+0x1c>         <== NOT EXECUTED
        return BLK_STATE_CLEANMARKER;                                                     
4000bd70:   00300513            li  a0,3                                                  <== NOT EXECUTED
}                                                                                         
4000bd74:   00008067            ret                                                       <== NOT EXECUTED
        c->dirty_size -= jeb->dirty_size;                                                 
4000bd78:   0185a703            lw  a4,24(a1)                                             <== NOT EXECUTED
4000bd7c:   02052603            lw  a2,32(a0)                                             <== NOT EXECUTED
        c->wasted_size += jeb->dirty_size;                                                
4000bd80:   02452683            lw  a3,36(a0)                                             <== NOT EXECUTED
        jeb->wasted_size += jeb->dirty_size;                                              
4000bd84:   01c5a783            lw  a5,28(a1)                                             <== NOT EXECUTED
        c->dirty_size -= jeb->dirty_size;                                                 
4000bd88:   40e60633            sub a2,a2,a4                                              <== NOT EXECUTED
        c->wasted_size += jeb->dirty_size;                                                
4000bd8c:   00e686b3            add a3,a3,a4                                              <== NOT EXECUTED
        c->dirty_size -= jeb->dirty_size;                                                 
4000bd90:   02c52023            sw  a2,32(a0)                                             <== NOT EXECUTED
        c->wasted_size += jeb->dirty_size;                                                
4000bd94:   02d52223            sw  a3,36(a0)                                             <== NOT EXECUTED
        jeb->wasted_size += jeb->dirty_size;                                              
4000bd98:   00e787b3            add a5,a5,a4                                              <== NOT EXECUTED
4000bd9c:   00f5ae23            sw  a5,28(a1)                                             <== NOT EXECUTED
        jeb->dirty_size = 0;                                                              
4000bda0:   0005ac23            sw  zero,24(a1)                                           <== NOT EXECUTED
        return BLK_STATE_CLEAN;                                                           
4000bda4:   00100513            li  a0,1                                                  <== NOT EXECUTED
4000bda8:   00008067            ret                                                       <== NOT EXECUTED
        ref = ref->next_in_ino;                                                           
4000bdac:   00872703            lw  a4,8(a4)                                              <== NOT EXECUTED
        if (!ref)                                                                         
4000bdb0:   fc0700e3            beqz    a4,4000bd70 <jffs2_scan_classify_jeb+0x68>        <== NOT EXECUTED
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
4000bdb4:   00472603            lw  a2,4(a4)                                              <== NOT EXECUTED
4000bdb8:   fb1ff06f            j   4000bd68 <jffs2_scan_classify_jeb+0x60>               <== NOT EXECUTED
                                                                                          

40005748 <jffs2_scan_dirty_space>: if (!size)
40005748:   06060063            beqz    a2,400057a8 <jffs2_scan_dirty_space+0x60>         <== NOT EXECUTED
    if (unlikely(size > jeb->free_size)) {                                                
4000574c:   0205a803            lw  a6,32(a1)                                             <== NOT EXECUTED
{                                                                                         
40005750:   ff010113            addi    sp,sp,-16                                         <== NOT EXECUTED
40005754:   00112623            sw  ra,12(sp)                                             <== NOT EXECUTED
40005758:   00060793            mv  a5,a2                                                 <== NOT EXECUTED
    if (unlikely(size > jeb->free_size)) {                                                
4000575c:   08c86863            bltu    a6,a2,400057ec <jffs2_scan_dirty_space+0xa4>      <== NOT EXECUTED
    if (jeb->last_node && ref_obsolete(jeb->last_node)) {                                 
40005760:   02c5a703            lw  a4,44(a1)                                             <== NOT EXECUTED
40005764:   00070a63            beqz    a4,40005778 <jffs2_scan_dirty_space+0x30>         <== NOT EXECUTED
40005768:   00472703            lw  a4,4(a4)                                              <== NOT EXECUTED
4000576c:   00100693            li  a3,1                                                  <== NOT EXECUTED
40005770:   00377713            andi    a4,a4,3                                           <== NOT EXECUTED
40005774:   02d70e63            beq a4,a3,400057b0 <jffs2_scan_dirty_space+0x68>          <== NOT EXECUTED
        uint32_t ofs = jeb->offset + c->sector_size - jeb->free_size;                     
40005778:   00c5a603            lw  a2,12(a1)                                             <== NOT EXECUTED
4000577c:   03452883            lw  a7,52(a0)                                             <== NOT EXECUTED
        jffs2_link_node_ref(c, jeb, ofs, size, NULL);                                     
40005780:   00000713            li  a4,0                                                  <== NOT EXECUTED
40005784:   00078693            mv  a3,a5                                                 <== NOT EXECUTED
        uint32_t ofs = jeb->offset + c->sector_size - jeb->free_size;                     
40005788:   01160633            add a2,a2,a7                                              <== NOT EXECUTED
4000578c:   41060633            sub a2,a2,a6                                              <== NOT EXECUTED
        jffs2_link_node_ref(c, jeb, ofs, size, NULL);                                     
40005790:   00166613            ori a2,a2,1                                               <== NOT EXECUTED
40005794:   dd5ff0ef            jal ra,40005568 <jffs2_link_node_ref>                     <== NOT EXECUTED
}                                                                                         
40005798:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
4000579c:   00000513            li  a0,0                                                  <== NOT EXECUTED
400057a0:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
400057a4:   00008067            ret                                                       <== NOT EXECUTED
400057a8:   00000513            li  a0,0                                                  <== NOT EXECUTED
400057ac:   00008067            ret                                                       <== NOT EXECUTED
        c->dirty_size += size;                                                            
400057b0:   02052603            lw  a2,32(a0)                                             <== NOT EXECUTED
        c->free_size -= size;                                                             
400057b4:   02852683            lw  a3,40(a0)                                             <== NOT EXECUTED
        jeb->dirty_size += size;                                                          
400057b8:   0185a703            lw  a4,24(a1)                                             <== NOT EXECUTED
}                                                                                         
400057bc:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
        c->dirty_size += size;                                                            
400057c0:   00f60633            add a2,a2,a5                                              <== NOT EXECUTED
        c->free_size -= size;                                                             
400057c4:   40f686b3            sub a3,a3,a5                                              <== NOT EXECUTED
        c->dirty_size += size;                                                            
400057c8:   02c52023            sw  a2,32(a0)                                             <== NOT EXECUTED
        c->free_size -= size;                                                             
400057cc:   02d52423            sw  a3,40(a0)                                             <== NOT EXECUTED
        jeb->dirty_size += size;                                                          
400057d0:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
        jeb->free_size -= size;                                                           
400057d4:   40f80633            sub a2,a6,a5                                              <== NOT EXECUTED
        jeb->dirty_size += size;                                                          
400057d8:   00e5ac23            sw  a4,24(a1)                                             <== NOT EXECUTED
        jeb->free_size -= size;                                                           
400057dc:   02c5a023            sw  a2,32(a1)                                             <== NOT EXECUTED
}                                                                                         
400057e0:   00000513            li  a0,0                                                  <== NOT EXECUTED
400057e4:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
400057e8:   00008067            ret                                                       <== NOT EXECUTED
        pr_crit("Dirty space 0x%x larger then free_size 0x%x (wasted 0x%x)\n",            
400057ec:   01c5a683            lw  a3,28(a1)                                             <== NOT EXECUTED
400057f0:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
400057f4:   00080613            mv  a2,a6                                                 <== NOT EXECUTED
400057f8:   00078593            mv  a1,a5                                                 <== NOT EXECUTED
400057fc:   e9450513            addi    a0,a0,-364 # 4001de94 <__func__.4+0x130>          <== NOT EXECUTED
40005800:   a18ff0ef            jal ra,40004a18 <jffs2_printk>                            <== NOT EXECUTED
        BUG();                                                                            
40005804:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40005808:   4001e637            lui a2,0x4001e                                            <== NOT EXECUTED
4000580c:   4001e537            lui a0,0x4001e                                            <== NOT EXECUTED
40005810:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40005814:   f2c60613            addi    a2,a2,-212 # 4001df2c <__func__.1>                <== NOT EXECUTED
40005818:   2a000593            li  a1,672                                                <== NOT EXECUTED
4000581c:   db850513            addi    a0,a0,-584 # 4001ddb8 <__func__.4+0x54>           <== NOT EXECUTED
40005820:   281070ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
                                                                                          

4000bdbc <jffs2_scan_make_ino_cache>: return jffs2_scan_classify_jeb(c, jeb); } struct jffs2_inode_cache *jffs2_scan_make_ino_cache(struct jffs2_sb_info *c, uint32_t ino) {
4000bdbc:   ff010113            addi    sp,sp,-16                                         <== NOT EXECUTED
4000bdc0:   00812423            sw  s0,8(sp)                                              <== NOT EXECUTED
4000bdc4:   00912223            sw  s1,4(sp)                                              <== NOT EXECUTED
4000bdc8:   01212023            sw  s2,0(sp)                                              <== NOT EXECUTED
4000bdcc:   00112623            sw  ra,12(sp)                                             <== NOT EXECUTED
4000bdd0:   00050913            mv  s2,a0                                                 <== NOT EXECUTED
4000bdd4:   00058493            mv  s1,a1                                                 <== NOT EXECUTED
    struct jffs2_inode_cache *ic;                                                         
                                                                                          
    ic = jffs2_get_ino_cache(c, ino);                                                     
4000bdd8:   c60f90ef            jal ra,40005238 <jffs2_get_ino_cache>                     <== NOT EXECUTED
4000bddc:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (ic)                                                                               
4000bde0:   02050063            beqz    a0,4000be00 <jffs2_scan_make_ino_cache+0x44>      <== NOT EXECUTED
    ic->nodes = (void *)ic;                                                               
    jffs2_add_ino_cache(c, ic);                                                           
    if (ino == 1)                                                                         
        ic->pino_nlink = 1;                                                               
    return ic;                                                                            
}                                                                                         
4000bde4:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
4000bde8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000bdec:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
4000bdf0:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
4000bdf4:   00012903            lw  s2,0(sp)                                              <== NOT EXECUTED
4000bdf8:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
4000bdfc:   00008067            ret                                                       <== NOT EXECUTED
    if (ino > c->highest_ino)                                                             
4000be00:   00492783            lw  a5,4(s2)                                              <== NOT EXECUTED
4000be04:   0097f463            bgeu    a5,s1,4000be0c <jffs2_scan_make_ino_cache+0x50>   <== NOT EXECUTED
        c->highest_ino = ino;                                                             
4000be08:   00992223            sw  s1,4(s2)                                              <== NOT EXECUTED
    ic = jffs2_alloc_inode_cache();                                                       
4000be0c:   b95f80ef            jal ra,400049a0 <jffs2_alloc_inode_cache>                 <== NOT EXECUTED
4000be10:   00050413            mv  s0,a0                                                 <== NOT EXECUTED
    if (!ic) {                                                                            
4000be14:   04050663            beqz    a0,4000be60 <jffs2_scan_make_ino_cache+0xa4>      <== NOT EXECUTED
    memset(ic, 0, sizeof(*ic));                                                           
4000be18:   01800613            li  a2,24                                                 <== NOT EXECUTED
4000be1c:   00000593            li  a1,0                                                  <== NOT EXECUTED
4000be20:   2f8100ef            jal ra,4001c118 <memset>                                  <== NOT EXECUTED
    jffs2_add_ino_cache(c, ic);                                                           
4000be24:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
    ic->ino = ino;                                                                        
4000be28:   00942623            sw  s1,12(s0)                                             <== NOT EXECUTED
    ic->nodes = (void *)ic;                                                               
4000be2c:   00842223            sw  s0,4(s0)                                              <== NOT EXECUTED
    jffs2_add_ino_cache(c, ic);                                                           
4000be30:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
4000be34:   c4cf90ef            jal ra,40005280 <jffs2_add_ino_cache>                     <== NOT EXECUTED
    if (ino == 1)                                                                         
4000be38:   00100793            li  a5,1                                                  <== NOT EXECUTED
4000be3c:   faf494e3            bne s1,a5,4000bde4 <jffs2_scan_make_ino_cache+0x28>       <== NOT EXECUTED
        ic->pino_nlink = 1;                                                               
4000be40:   00942a23            sw  s1,20(s0)                                             <== NOT EXECUTED
}                                                                                         
4000be44:   00c12083            lw  ra,12(sp)                                             <== NOT EXECUTED
4000be48:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
4000be4c:   00812403            lw  s0,8(sp)                                              <== NOT EXECUTED
4000be50:   00412483            lw  s1,4(sp)                                              <== NOT EXECUTED
4000be54:   00012903            lw  s2,0(sp)                                              <== NOT EXECUTED
4000be58:   01010113            addi    sp,sp,16                                          <== NOT EXECUTED
4000be5c:   00008067            ret                                                       <== NOT EXECUTED
        pr_notice("%s(): allocation of inode cache failed\n", __func__);                  
4000be60:   400205b7            lui a1,0x40020                                            <== NOT EXECUTED
4000be64:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000be68:   29858593            addi    a1,a1,664 # 40020298 <__func__.0>                 <== NOT EXECUTED
4000be6c:   bf050513            addi    a0,a0,-1040 # 4001fbf0 <__func__.0+0x28>          <== NOT EXECUTED
4000be70:   d7dff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
        return NULL;                                                                      
4000be74:   f71ff06f            j   4000bde4 <jffs2_scan_make_ino_cache+0x28>             <== NOT EXECUTED
                                                                                          

4000be78 <jffs2_scan_medium>: {
4000be78:   f9010113            addi    sp,sp,-112                                        
4000be7c:   05a12023            sw  s10,64(sp)                                            
4000be80:   00050d13            mv  s10,a0                                                
        flashbuf = mtd_kmalloc_up_to(c->mtd, &try_size);                                  
4000be84:   00001537            lui a0,0x1                                                
{                                                                                         
4000be88:   06112623            sw  ra,108(sp)                                            
4000be8c:   06812423            sw  s0,104(sp)                                            
4000be90:   06912223            sw  s1,100(sp)                                            
4000be94:   07212023            sw  s2,96(sp)                                             
4000be98:   05312e23            sw  s3,92(sp)                                             
4000be9c:   05412c23            sw  s4,88(sp)                                             
4000bea0:   05512a23            sw  s5,84(sp)                                             
4000bea4:   05612823            sw  s6,80(sp)                                             
4000bea8:   05712623            sw  s7,76(sp)                                             
4000beac:   05812423            sw  s8,72(sp)                                             
4000beb0:   05912223            sw  s9,68(sp)                                             
4000beb4:   03b12e23            sw  s11,60(sp)                                            
        flashbuf = mtd_kmalloc_up_to(c->mtd, &try_size);                                  
4000beb8:   3c5010ef            jal ra,4000da7c <malloc>                                  
        if (!flashbuf)                                                                    
4000bebc:   6a0508e3            beqz    a0,4000cd6c <jffs2_scan_medium+0xef4>             <== NEVER TAKEN
    for (i=0; i<c->nr_blocks; i++) {                                                      
4000bec0:   050d2b83            lw  s7,80(s10) # 1050 <_ISR_Stack_size+0x50>              
4000bec4:   00050d93            mv  s11,a0                                                
4000bec8:   240b8ce3            beqz    s7,4000c920 <jffs2_scan_medium+0xaa8>             <== NEVER TAKEN
4000becc:   40020ab7            lui s5,0x40020                                            
4000bed0:   00000913            li  s2,0                                                  
4000bed4:   00000993            li  s3,0                                                  
    uint32_t empty_blocks = 0, bad_blocks = 0;                                            
4000bed8:   00012623            sw  zero,12(sp)                                           
4000bedc:   00000b93            li  s7,0                                                  
4000bee0:   280a8a93            addi    s5,s5,640 # 40020280 <__func__.0+0x6b8>           
        struct jffs2_eraseblock *jeb = &c->blocks[i];                                     
4000bee4:   054d2e83            lw  t4,84(s10)                                            
        buf_len = EMPTY_SCAN_SIZE(c->sector_size);                                        
4000bee8:   034d2403            lw  s0,52(s10)                                            
    if (sector_size < DEFAULT_EMPTY_SCAN_SIZE)                                            
4000beec:   0ff00793            li  a5,255                                                
        struct jffs2_eraseblock *jeb = &c->blocks[i];                                     
4000bef0:   012e8c33            add s8,t4,s2                                              
    ofs = jeb->offset;                                                                    
4000bef4:   00cc2483            lw  s1,12(s8)                                             
    if (sector_size < DEFAULT_EMPTY_SCAN_SIZE)                                            
4000bef8:   0087f463            bgeu    a5,s0,4000bf00 <jffs2_scan_medium+0x88>           
        return DEFAULT_EMPTY_SCAN_SIZE;                                                   
4000befc:   10000413            li  s0,256                                                
    ret = jffs2_flash_read(c, ofs, len, &retlen, buf);                                    
4000bf00:   000d8713            mv  a4,s11                                                
4000bf04:   02410693            addi    a3,sp,36                                          
4000bf08:   00040613            mv  a2,s0                                                 
4000bf0c:   00048593            mv  a1,s1                                                 
4000bf10:   000d0513            mv  a0,s10                                                
4000bf14:   a65ff0ef            jal ra,4000b978 <jffs2_flash_read>                        
4000bf18:   00050713            mv  a4,a0                                                 
    if (ret) {                                                                            
4000bf1c:   14051e63            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NEVER TAKEN
    if (retlen < len) {                                                                   
4000bf20:   02412783            lw  a5,36(sp)                                             
4000bf24:   0287eae3            bltu    a5,s0,4000c758 <jffs2_scan_medium+0x8e0>          
    max_ofs = EMPTY_SCAN_SIZE(c->sector_size);                                            
4000bf28:   034d2603            lw  a2,52(s10)                                            
    if (sector_size < DEFAULT_EMPTY_SCAN_SIZE)                                            
4000bf2c:   0ff00793            li  a5,255                                                
        return DEFAULT_EMPTY_SCAN_SIZE;                                                   
4000bf30:   10000693            li  a3,256                                                
    if (sector_size < DEFAULT_EMPTY_SCAN_SIZE)                                            
4000bf34:   00c7e663            bltu    a5,a2,4000bf40 <jffs2_scan_medium+0xc8>           
    while(ofs < max_ofs && *(uint32_t *)(&buf[ofs]) == 0xFFFFFFFF)                        
4000bf38:   28060663            beqz    a2,4000c1c4 <jffs2_scan_medium+0x34c>             <== NOT EXECUTED
4000bf3c:   00060693            mv  a3,a2                                                 <== NOT EXECUTED
    ofs = 0;                                                                              
4000bf40:   00000c93            li  s9,0                                                  
    while(ofs < max_ofs && *(uint32_t *)(&buf[ofs]) == 0xFFFFFFFF)                        
4000bf44:   fff00713            li  a4,-1                                                 
4000bf48:   00c0006f            j   4000bf54 <jffs2_scan_medium+0xdc>                     
        ofs += 4;                                                                         
4000bf4c:   004c8c93            addi    s9,s9,4                                           
    while(ofs < max_ofs && *(uint32_t *)(&buf[ofs]) == 0xFFFFFFFF)                        
4000bf50:   26dcf863            bgeu    s9,a3,4000c1c0 <jffs2_scan_medium+0x348>          
4000bf54:   019d87b3            add a5,s11,s9                                             
4000bf58:   0007a783            lw  a5,0(a5)                                              
4000bf5c:   fee788e3            beq a5,a4,4000bf4c <jffs2_scan_medium+0xd4>               
    if (ofs) {                                                                            
4000bf60:   480c9263            bnez    s9,4000c3e4 <jffs2_scan_medium+0x56c>             <== NOT EXECUTED
    ofs += jeb->offset;                                                                   
4000bf64:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
    prevofs = jeb->offset - 1;                                                            
4000bf68:   fff48a13            addi    s4,s1,-1                                          <== NOT EXECUTED
    noise = 10;                                                                           
4000bf6c:   00a00b13            li  s6,10                                                 <== NOT EXECUTED
    ofs += jeb->offset;                                                                   
4000bf70:   01978cb3            add s9,a5,s9                                              <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000bf74:   00c787b3            add a5,a5,a2                                              <== NOT EXECUTED
4000bf78:   0cfcf063            bgeu    s9,a5,4000c038 <jffs2_scan_medium+0x1c0>          <== NOT EXECUTED
        err = jffs2_prealloc_raw_node_refs(c, jeb, 2);                                    
4000bf7c:   00200613            li  a2,2                                                  <== NOT EXECUTED
4000bf80:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000bf84:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000bf88:   925f80ef            jal ra,400048ac <jffs2_prealloc_raw_node_refs>            <== NOT EXECUTED
4000bf8c:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
        if (err)                                                                          
4000bf90:   0e051463            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
        if (ofs & 3) {                                                                    
4000bf94:   003cf793            andi    a5,s9,3                                           <== NOT EXECUTED
4000bf98:   42079063            bnez    a5,4000c3b8 <jffs2_scan_medium+0x540>             <== NOT EXECUTED
        if (ofs == prevofs) {                                                             
4000bf9c:   494c8063            beq s9,s4,4000c41c <jffs2_scan_medium+0x5a4>              <== NOT EXECUTED
        if (jeb->offset + c->sector_size < ofs + sizeof(*node)) {                         
4000bfa0:   00cc2603            lw  a2,12(s8)                                             <== NOT EXECUTED
4000bfa4:   034d2783            lw  a5,52(s10)                                            <== NOT EXECUTED
4000bfa8:   00cc8f93            addi    t6,s9,12                                          <== NOT EXECUTED
4000bfac:   00f60633            add a2,a2,a5                                              <== NOT EXECUTED
4000bfb0:   7bf66863            bltu    a2,t6,4000c760 <jffs2_scan_medium+0x8e8>          <== NOT EXECUTED
        node = (struct jffs2_unknown_node *)&buf[ofs-buf_ofs];                            
4000bfb4:   409c87b3            sub a5,s9,s1                                              <== NOT EXECUTED
        if (buf_ofs + buf_len < ofs + sizeof(*node)) {                                    
4000bfb8:   00848733            add a4,s1,s0                                              <== NOT EXECUTED
        node = (struct jffs2_unknown_node *)&buf[ofs-buf_ofs];                            
4000bfbc:   00fd8a33            add s4,s11,a5                                             <== NOT EXECUTED
        if (buf_ofs + buf_len < ofs + sizeof(*node)) {                                    
4000bfc0:   2ff76e63            bltu    a4,t6,4000c2bc <jffs2_scan_medium+0x444>          <== NOT EXECUTED
        if (*(uint32_t *)(&buf[ofs-buf_ofs]) == 0xffffffff) {                             
4000bfc4:   000a2683            lw  a3,0(s4)                                              <== NOT EXECUTED
4000bfc8:   fff00713            li  a4,-1                                                 <== NOT EXECUTED
4000bfcc:   34e68263            beq a3,a4,4000c310 <jffs2_scan_medium+0x498>              <== NOT EXECUTED
        if (ofs == jeb->offset && je16_to_cpu(node->magic) == KSAMTIB_CIGAM_2SFFJ) {      
4000bfd0:   001a4703            lbu a4,1(s4)                                              <== NOT EXECUTED
4000bfd4:   000a4603            lbu a2,0(s4)                                              <== NOT EXECUTED
4000bfd8:   00cc2683            lw  a3,12(s8)                                             <== NOT EXECUTED
4000bfdc:   00871713            slli    a4,a4,0x8                                         <== NOT EXECUTED
4000bfe0:   00c76733            or  a4,a4,a2                                              <== NOT EXECUTED
4000bfe4:   0b968863            beq a3,s9,4000c094 <jffs2_scan_medium+0x21c>              <== NOT EXECUTED
        if (je16_to_cpu(node->magic) == JFFS2_DIRTY_BITMASK) {                            
4000bfe8:   02070063            beqz    a4,4000c008 <jffs2_scan_medium+0x190>             <== NOT EXECUTED
        if (je16_to_cpu(node->magic) == JFFS2_OLD_MAGIC_BITMASK) {                        
4000bfec:   000027b7            lui a5,0x2                                                <== NOT EXECUTED
4000bff0:   98478793            addi    a5,a5,-1660 # 1984 <_ISR_Stack_size+0x984>        <== NOT EXECUTED
4000bff4:   50f70063            beq a4,a5,4000c4f4 <jffs2_scan_medium+0x67c>              <== NOT EXECUTED
        if (je16_to_cpu(node->magic) != JFFS2_MAGIC_BITMASK) {                            
4000bff8:   000027b7            lui a5,0x2                                                <== NOT EXECUTED
4000bffc:   98578613            addi    a2,a5,-1659 # 1985 <_ISR_Stack_size+0x985>        <== NOT EXECUTED
4000c000:   50c70a63            beq a4,a2,4000c514 <jffs2_scan_medium+0x69c>              <== NOT EXECUTED
            noisy_printk(&noise, "%s(): Magic bitmask 0x%04x not found at 0x%08x: 0x%04x instead\n",
4000c004:   4c0b1263            bnez    s6,4000c4c8 <jffs2_scan_medium+0x650>             <== NOT EXECUTED
            if ((err = jffs2_scan_dirty_space(c, jeb, 4)))                                
4000c008:   00400613            li  a2,4                                                  <== NOT EXECUTED
4000c00c:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c010:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c014:   f34f90ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c018:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c01c:   04051e63            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c020:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000c024:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
            continue;                                                                     
4000c028:   000c8a13            mv  s4,s9                                                 <== NOT EXECUTED
            ofs += 4;                                                                     
4000c02c:   004c8c93            addi    s9,s9,4                                           <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c030:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
4000c034:   f4ece4e3            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
    if (jeb->wasted_size) {                                                               
4000c038:   01cc2783            lw  a5,28(s8)                                             <== NOT EXECUTED
4000c03c:   02078663            beqz    a5,4000c068 <jffs2_scan_medium+0x1f0>             <== NOT EXECUTED
        jeb->dirty_size += jeb->wasted_size;                                              
4000c040:   018c2603            lw  a2,24(s8)                                             <== NOT EXECUTED
        c->dirty_size += jeb->wasted_size;                                                
4000c044:   020d2683            lw  a3,32(s10)                                            <== NOT EXECUTED
        c->wasted_size -= jeb->wasted_size;                                               
4000c048:   024d2703            lw  a4,36(s10)                                            <== NOT EXECUTED
        jeb->dirty_size += jeb->wasted_size;                                              
4000c04c:   00f60633            add a2,a2,a5                                              <== NOT EXECUTED
4000c050:   00cc2c23            sw  a2,24(s8)                                             <== NOT EXECUTED
        c->dirty_size += jeb->wasted_size;                                                
4000c054:   00f686b3            add a3,a3,a5                                              <== NOT EXECUTED
        c->wasted_size -= jeb->wasted_size;                                               
4000c058:   40f707b3            sub a5,a4,a5                                              <== NOT EXECUTED
        c->dirty_size += jeb->wasted_size;                                                
4000c05c:   02dd2023            sw  a3,32(s10)                                            <== NOT EXECUTED
        c->wasted_size -= jeb->wasted_size;                                               
4000c060:   02fd2223            sw  a5,36(s10)                                            <== NOT EXECUTED
        jeb->wasted_size = 0;                                                             
4000c064:   000c2e23            sw  zero,28(s8)                                           <== NOT EXECUTED
    return jffs2_scan_classify_jeb(c, jeb);                                               
4000c068:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c06c:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c070:   c99ff0ef            jal ra,4000bd08 <jffs2_scan_classify_jeb>                 <== NOT EXECUTED
4000c074:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
        if (ret < 0)                                                                      
4000c078:   0e074c63            bltz    a4,4000c170 <jffs2_scan_medium+0x2f8>             <== NOT EXECUTED
        switch(ret) {                                                                     
4000c07c:   00500793            li  a5,5                                                  <== NOT EXECUTED
4000c080:   2ce7e6e3            bltu    a5,a4,4000cb4c <jffs2_scan_medium+0xcd4>          <== NOT EXECUTED
4000c084:   00271513            slli    a0,a4,0x2                                         <== NOT EXECUTED
4000c088:   01550733            add a4,a0,s5                                              <== NOT EXECUTED
4000c08c:   00072783            lw  a5,0(a4)                                              <== NOT EXECUTED
4000c090:   00078067            jr  a5                                                    <== NOT EXECUTED
        if (ofs == jeb->offset && je16_to_cpu(node->magic) == KSAMTIB_CIGAM_2SFFJ) {      
4000c094:   000086b7            lui a3,0x8                                                <== NOT EXECUTED
4000c098:   51968693            addi    a3,a3,1305 # 8519 <bsp_section_rodata_size+0x3445><== NOT EXECUTED
4000c09c:   f4d716e3            bne a4,a3,4000bfe8 <jffs2_scan_medium+0x170>              <== NOT EXECUTED
            pr_warn("Magic bitmask is backwards at offset 0x%08x. Wrong endian filesystem?\n",
4000c0a0:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c0a4:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c0a8:   cbc50513            addi    a0,a0,-836 # 4001fcbc <__func__.0+0xf4>           <== NOT EXECUTED
4000c0ac:   b41ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
            if ((err = jffs2_scan_dirty_space(c, jeb, 4)))                                
4000c0b0:   00400613            li  a2,4                                                  <== NOT EXECUTED
4000c0b4:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c0b8:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c0bc:   e8cf90ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c0c0:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c0c4:   fa051ae3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c0c8:   00cc2703            lw  a4,12(s8)                                             <== NOT EXECUTED
4000c0cc:   034d2783            lw  a5,52(s10)                                            <== NOT EXECUTED
            continue;                                                                     
4000c0d0:   000c8a13            mv  s4,s9                                                 <== NOT EXECUTED
            ofs += 4;                                                                     
4000c0d4:   004c8c93            addi    s9,s9,4                                           <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c0d8:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
4000c0dc:   eaece0e3            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000c0e0:   f59ff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000c0e4:   098d2703            lw  a4,152(s10)                                           <== NOT EXECUTED
            c->nr_erasing_blocks++;                                                       
4000c0e8:   040d2783            lw  a5,64(s10)                                            <== NOT EXECUTED
            list_add(&jeb->list, &c->erase_pending_list);                                 
4000c0ec:   098d0693            addi    a3,s10,152                                        <== NOT EXECUTED
    newent->next = next;                                                                  
4000c0f0:   00ec2023            sw  a4,0(s8)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000c0f4:   00dc2223            sw  a3,4(s8)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000c0f8:   098d2c23            sw  s8,152(s10)                                           <== NOT EXECUTED
    next->prev = newent;                                                                  
4000c0fc:   01872223            sw  s8,4(a4)                                              <== NOT EXECUTED
            c->nr_erasing_blocks++;                                                       
4000c100:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
4000c104:   04fd2023            sw  a5,64(s10)                                            <== NOT EXECUTED
    for (i=0; i<c->nr_blocks; i++) {                                                      
4000c108:   050d2783            lw  a5,80(s10)                                            
4000c10c:   00198993            addi    s3,s3,1                                           
4000c110:   03490913            addi    s2,s2,52                                          
4000c114:   dcf9e8e3            bltu    s3,a5,4000bee4 <jffs2_scan_medium+0x6c>           
    if (c->nextblock && (c->nextblock->dirty_size)) {                                     
4000c118:   058d2703            lw  a4,88(s10)                                            
4000c11c:   00070663            beqz    a4,4000c128 <jffs2_scan_medium+0x2b0>             <== ALWAYS TAKEN
4000c120:   01872683            lw  a3,24(a4)                                             <== NOT EXECUTED
4000c124:   66069063            bnez    a3,4000c784 <jffs2_scan_medium+0x90c>             <== NOT EXECUTED
    if (c->nr_erasing_blocks) {                                                           
4000c128:   040d2683            lw  a3,64(s10)                                            
    ret = 0;                                                                              
4000c12c:   00000713            li  a4,0                                                  
    if (c->nr_erasing_blocks) {                                                           
4000c130:   04068063            beqz    a3,4000c170 <jffs2_scan_medium+0x2f8>             <== NEVER TAKEN
        if ( !c->used_size && ((c->nr_free_blocks+empty_blocks+bad_blocks)!= c->nr_blocks || bad_blocks == c->nr_blocks) ) {
4000c134:   01cd2703            lw  a4,28(s10)                                            
4000c138:   00071e63            bnez    a4,4000c154 <jffs2_scan_medium+0x2dc>             <== NEVER TAKEN
4000c13c:   00c12703            lw  a4,12(sp)                                             
4000c140:   03cd2683            lw  a3,60(s10)                                            
4000c144:   00eb8733            add a4,s7,a4                                              
4000c148:   00d70733            add a4,a4,a3                                              
4000c14c:   5ef71463            bne a4,a5,4000c734 <jffs2_scan_medium+0x8bc>              
4000c150:   5efb8263            beq s7,a5,4000c734 <jffs2_scan_medium+0x8bc>              
    rtems_jffs2_flash_control *fc = sb->s_flash_control;                                  
4000c154:   0e4d2503            lw  a0,228(s10)                                           
    ret = 0;                                                                              
4000c158:   00000713            li  a4,0                                                  
    if (fc->trigger_garbage_collection != NULL) {                                         
4000c15c:   02052783            lw  a5,32(a0)                                             
4000c160:   00078863            beqz    a5,4000c170 <jffs2_scan_medium+0x2f8>             <== ALWAYS TAKEN
4000c164:   00e12623            sw  a4,12(sp)                                             <== NOT EXECUTED
        (*fc->trigger_garbage_collection)(fc);                                            
4000c168:   000780e7            jalr    a5                                                <== NOT EXECUTED
4000c16c:   00c12703            lw  a4,12(sp)                                             <== NOT EXECUTED
        kfree(flashbuf);                                                                  
4000c170:   000d8513            mv  a0,s11                                                
4000c174:   00e12623            sw  a4,12(sp)                                             
4000c178:   55c010ef            jal ra,4000d6d4 <free>                                    
    return ret;                                                                           
4000c17c:   00c12703            lw  a4,12(sp)                                             
}                                                                                         
4000c180:   06c12083            lw  ra,108(sp)                                            
4000c184:   06812403            lw  s0,104(sp)                                            
4000c188:   06412483            lw  s1,100(sp)                                            
4000c18c:   06012903            lw  s2,96(sp)                                             
4000c190:   05c12983            lw  s3,92(sp)                                             
4000c194:   05812a03            lw  s4,88(sp)                                             
4000c198:   05412a83            lw  s5,84(sp)                                             
4000c19c:   05012b03            lw  s6,80(sp)                                             
4000c1a0:   04c12b83            lw  s7,76(sp)                                             
4000c1a4:   04812c03            lw  s8,72(sp)                                             
4000c1a8:   04412c83            lw  s9,68(sp)                                             
4000c1ac:   04012d03            lw  s10,64(sp)                                            
4000c1b0:   03c12d83            lw  s11,60(sp)                                            
4000c1b4:   00070513            mv  a0,a4                                                 
4000c1b8:   07010113            addi    sp,sp,112                                         
4000c1bc:   00008067            ret                                                       
    if (ofs == max_ofs) {                                                                 
4000c1c0:   22dc9263            bne s9,a3,4000c3e4 <jffs2_scan_medium+0x56c>              
        if (c->cleanmarker_size == 0)                                                     
4000c1c4:   014d2783            lw  a5,20(s10)                                            
4000c1c8:   08079263            bnez    a5,4000c24c <jffs2_scan_medium+0x3d4>             <== ALWAYS TAKEN
            if (!jeb->dirty_size) {                                                       
4000c1cc:   018c2783            lw  a5,24(s8)                                             <== NOT EXECUTED
4000c1d0:   f0079ae3            bnez    a5,4000c0e4 <jffs2_scan_medium+0x26c>             <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000c1d4:   0a8d2703            lw  a4,168(s10)                                           <== NOT EXECUTED
                c->nr_free_blocks++;                                                      
4000c1d8:   03cd2783            lw  a5,60(s10)                                            <== NOT EXECUTED
                list_add(&jeb->list, &c->free_list);                                      
4000c1dc:   0a8d0693            addi    a3,s10,168                                        <== NOT EXECUTED
    newent->next = next;                                                                  
4000c1e0:   00ec2023            sw  a4,0(s8)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000c1e4:   00dc2223            sw  a3,4(s8)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000c1e8:   0b8d2423            sw  s8,168(s10)                                           <== NOT EXECUTED
    next->prev = newent;                                                                  
4000c1ec:   01872223            sw  s8,4(a4)                                              <== NOT EXECUTED
                c->nr_free_blocks++;                                                      
4000c1f0:   00178793            addi    a5,a5,1                                           <== NOT EXECUTED
4000c1f4:   02fd2e23            sw  a5,60(s10)                                            <== NOT EXECUTED
4000c1f8:   f11ff06f            j   4000c108 <jffs2_scan_medium+0x290>                    <== NOT EXECUTED
            if (jeb->free_size > min_free(c) &&                                           
4000c1fc:   020c2783            lw  a5,32(s8)                                             <== NOT EXECUTED
4000c200:   08800713            li  a4,136                                                <== NOT EXECUTED
4000c204:   24f77c63            bgeu    a4,a5,4000c45c <jffs2_scan_medium+0x5e4>          <== NOT EXECUTED
                    (!c->nextblock || c->nextblock->free_size < jeb->free_size)) {        
4000c208:   058d2583            lw  a1,88(s10)                                            <== NOT EXECUTED
            if (jeb->free_size > min_free(c) &&                                           
4000c20c:   00058e63            beqz    a1,4000c228 <jffs2_scan_medium+0x3b0>             <== NOT EXECUTED
                    (!c->nextblock || c->nextblock->free_size < jeb->free_size)) {        
4000c210:   0205a703            lw  a4,32(a1)                                             <== NOT EXECUTED
4000c214:   24f77463            bgeu    a4,a5,4000c45c <jffs2_scan_medium+0x5e4>          <== NOT EXECUTED
                    ret = file_dirty(c, c->nextblock);                                    
4000c218:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c21c:   a11ff0ef            jal ra,4000bc2c <file_dirty>                              <== NOT EXECUTED
4000c220:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
                    if (ret)                                                              
4000c224:   f40516e3            bnez    a0,4000c170 <jffs2_scan_medium+0x2f8>             <== NOT EXECUTED
                c->nextblock = jeb;                                                       
4000c228:   058d2c23            sw  s8,88(s10)                                            <== NOT EXECUTED
4000c22c:   eddff06f            j   4000c108 <jffs2_scan_medium+0x290>                    <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000c230:   060d2783            lw  a5,96(s10)                                            <== NOT EXECUTED
            list_add(&jeb->list, &c->clean_list);                                         
4000c234:   060d0713            addi    a4,s10,96                                         <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000c238:   00ec2223            sw  a4,4(s8)                                              <== NOT EXECUTED
    newent->next = next;                                                                  
4000c23c:   00fc2023            sw  a5,0(s8)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000c240:   078d2023            sw  s8,96(s10)                                            <== NOT EXECUTED
    next->prev = newent;                                                                  
4000c244:   0187a223            sw  s8,4(a5)                                              <== NOT EXECUTED
} /* list_add() */                                                                        
4000c248:   ec1ff06f            j   4000c108 <jffs2_scan_medium+0x290>                    <== NOT EXECUTED
    struct list_head *next = afterthisent->next;                                          
4000c24c:   098d2703            lw  a4,152(s10)                                           
            list_add(&jeb->list, &c->erase_pending_list);                                 
4000c250:   098d0693            addi    a3,s10,152                                        
            c->nr_erasing_blocks++;                                                       
4000c254:   040d2783            lw  a5,64(s10)                                            
    newent->next = next;                                                                  
4000c258:   00ec2023            sw  a4,0(s8)                                              
    newent->prev = afterthisent;                                                          
4000c25c:   00dc2223            sw  a3,4(s8)                                              
    afterthisent->next = newent;                                                          
4000c260:   098d2c23            sw  s8,152(s10)                                           
    next->prev = newent;                                                                  
4000c264:   01872223            sw  s8,4(a4)                                              
            empty_blocks++;                                                               
4000c268:   00c12703            lw  a4,12(sp)                                             
            c->nr_erasing_blocks++;                                                       
4000c26c:   00178793            addi    a5,a5,1                                           
4000c270:   04fd2023            sw  a5,64(s10)                                            
            empty_blocks++;                                                               
4000c274:   00170713            addi    a4,a4,1                                           
4000c278:   00e12623            sw  a4,12(sp)                                             
            break;                                                                        
4000c27c:   e8dff06f            j   4000c108 <jffs2_scan_medium+0x290>                    
    struct list_head *next = afterthisent->next;                                          
4000c280:   0b0d2603            lw  a2,176(s10)                                           <== NOT EXECUTED
            c->bad_size += c->sector_size;                                                
4000c284:   034d2683            lw  a3,52(s10)                                            <== NOT EXECUTED
4000c288:   030d2703            lw  a4,48(s10)                                            <== NOT EXECUTED
            c->free_size -= c->sector_size;                                               
4000c28c:   028d2783            lw  a5,40(s10)                                            <== NOT EXECUTED
            list_add(&jeb->list, &c->bad_list);                                           
4000c290:   0b0d0593            addi    a1,s10,176                                        <== NOT EXECUTED
    newent->next = next;                                                                  
4000c294:   00cc2023            sw  a2,0(s8)                                              <== NOT EXECUTED
    newent->prev = afterthisent;                                                          
4000c298:   00bc2223            sw  a1,4(s8)                                              <== NOT EXECUTED
    afterthisent->next = newent;                                                          
4000c29c:   0b8d2823            sw  s8,176(s10)                                           <== NOT EXECUTED
    next->prev = newent;                                                                  
4000c2a0:   01862223            sw  s8,4(a2)                                              <== NOT EXECUTED
            c->bad_size += c->sector_size;                                                
4000c2a4:   00d70733            add a4,a4,a3                                              <== NOT EXECUTED
            c->free_size -= c->sector_size;                                               
4000c2a8:   40d787b3            sub a5,a5,a3                                              <== NOT EXECUTED
            c->bad_size += c->sector_size;                                                
4000c2ac:   02ed2823            sw  a4,48(s10)                                            <== NOT EXECUTED
            c->free_size -= c->sector_size;                                               
4000c2b0:   02fd2423            sw  a5,40(s10)                                            <== NOT EXECUTED
            bad_blocks++;                                                                 
4000c2b4:   001b8b93            addi    s7,s7,1                                           <== NOT EXECUTED
            break;                                                                        
4000c2b8:   e51ff06f            j   4000c108 <jffs2_scan_medium+0x290>                    <== NOT EXECUTED
            buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);      
4000c2bc:   41960433            sub s0,a2,s9                                              <== NOT EXECUTED
4000c2c0:   000017b7            lui a5,0x1                                                <== NOT EXECUTED
4000c2c4:   0087f463            bgeu    a5,s0,4000c2cc <jffs2_scan_medium+0x454>          <== NOT EXECUTED
4000c2c8:   00001437            lui s0,0x1                                                <== NOT EXECUTED
    ret = jffs2_flash_read(c, ofs, len, &retlen, buf);                                    
4000c2cc:   000d8713            mv  a4,s11                                                <== NOT EXECUTED
4000c2d0:   02010693            addi    a3,sp,32                                          <== NOT EXECUTED
4000c2d4:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
4000c2d8:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c2dc:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c2e0:   01f12823            sw  t6,16(sp)                                             <== NOT EXECUTED
4000c2e4:   e94ff0ef            jal ra,4000b978 <jffs2_flash_read>                        <== NOT EXECUTED
4000c2e8:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (ret) {                                                                            
4000c2ec:   d80516e3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    if (retlen < len) {                                                                   
4000c2f0:   02012783            lw  a5,32(sp)                                             <== NOT EXECUTED
4000c2f4:   01012f83            lw  t6,16(sp)                                             <== NOT EXECUTED
4000c2f8:   4687e063            bltu    a5,s0,4000c758 <jffs2_scan_medium+0x8e0>          <== NOT EXECUTED
            if (err)                                                                      
4000c2fc:   000d8a13            mv  s4,s11                                                <== NOT EXECUTED
        if (*(uint32_t *)(&buf[ofs-buf_ofs]) == 0xffffffff) {                             
4000c300:   000a2683            lw  a3,0(s4)                                              <== NOT EXECUTED
4000c304:   fff00713            li  a4,-1                                                 <== NOT EXECUTED
4000c308:   000c8493            mv  s1,s9                                                 <== NOT EXECUTED
4000c30c:   cce692e3            bne a3,a4,4000bfd0 <jffs2_scan_medium+0x158>              <== NOT EXECUTED
            scan_end = min_t(uint32_t, EMPTY_SCAN_SIZE(c->sector_size)/8, buf_len);       
4000c310:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
    if (sector_size < DEFAULT_EMPTY_SCAN_SIZE)                                            
4000c314:   0ff00693            li  a3,255                                                <== NOT EXECUTED
            ofs += 4;                                                                     
4000c318:   004c8813            addi    a6,s9,4                                           <== NOT EXECUTED
    if (sector_size < DEFAULT_EMPTY_SCAN_SIZE)                                            
4000c31c:   02000793            li  a5,32                                                 <== NOT EXECUTED
4000c320:   00e6e463            bltu    a3,a4,4000c328 <jffs2_scan_medium+0x4b0>          <== NOT EXECUTED
            scan_end = min_t(uint32_t, EMPTY_SCAN_SIZE(c->sector_size)/8, buf_len);       
4000c324:   00375793            srli    a5,a4,0x3                                         <== NOT EXECUTED
4000c328:   00040713            mv  a4,s0                                                 <== NOT EXECUTED
4000c32c:   0087f463            bgeu    a5,s0,4000c334 <jffs2_scan_medium+0x4bc>          <== NOT EXECUTED
4000c330:   00078713            mv  a4,a5                                                 <== NOT EXECUTED
                if (unlikely(*(uint32_t *)(&buf[inbuf_ofs]) != 0xffffffff)) {             
4000c334:   fff00893            li  a7,-1                                                 <== NOT EXECUTED
            buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);      
4000c338:   00001a37            lui s4,0x1                                                <== NOT EXECUTED
4000c33c:   0140006f            j   4000c350 <jffs2_scan_medium+0x4d8>                    <== NOT EXECUTED
                if (unlikely(*(uint32_t *)(&buf[inbuf_ofs]) != 0xffffffff)) {             
4000c340:   00fd87b3            add a5,s11,a5                                             <== NOT EXECUTED
4000c344:   0007a783            lw  a5,0(a5) # 1000 <_ISR_Stack_size>                     <== NOT EXECUTED
4000c348:   13179663            bne a5,a7,4000c474 <jffs2_scan_medium+0x5fc>              <== NOT EXECUTED
                ofs += 4;                                                                 
4000c34c:   00480813            addi    a6,a6,4                                           <== NOT EXECUTED
            while (inbuf_ofs < scan_end) {                                                
4000c350:   409807b3            sub a5,a6,s1                                              <== NOT EXECUTED
4000c354:   fee7e6e3            bltu    a5,a4,4000c340 <jffs2_scan_medium+0x4c8>          <== NOT EXECUTED
            if (buf_ofs == jeb->offset && jeb->used_size == PAD(c->cleanmarker_size) &&   
4000c358:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
4000c35c:   2cf48063            beq s1,a5,4000c61c <jffs2_scan_medium+0x7a4>              <== NOT EXECUTED
            buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);      
4000c360:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000c364:   00e787b3            add a5,a5,a4                                              <== NOT EXECUTED
4000c368:   41078433            sub s0,a5,a6                                              <== NOT EXECUTED
4000c36c:   008a7463            bgeu    s4,s0,4000c374 <jffs2_scan_medium+0x4fc>          <== NOT EXECUTED
4000c370:   00001437            lui s0,0x1                                                <== NOT EXECUTED
            if (!buf_len) {                                                               
4000c374:   cd0782e3            beq a5,a6,4000c038 <jffs2_scan_medium+0x1c0>              <== NOT EXECUTED
    ret = jffs2_flash_read(c, ofs, len, &retlen, buf);                                    
4000c378:   000d8713            mv  a4,s11                                                <== NOT EXECUTED
4000c37c:   02010693            addi    a3,sp,32                                          <== NOT EXECUTED
4000c380:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
4000c384:   00080593            mv  a1,a6                                                 <== NOT EXECUTED
4000c388:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c38c:   01012823            sw  a6,16(sp)                                             <== NOT EXECUTED
4000c390:   de8ff0ef            jal ra,4000b978 <jffs2_flash_read>                        <== NOT EXECUTED
4000c394:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (ret) {                                                                            
4000c398:   ce0510e3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    if (retlen < len) {                                                                   
4000c39c:   02012783            lw  a5,32(sp)                                             <== NOT EXECUTED
4000c3a0:   01012803            lw  a6,16(sp)                                             <== NOT EXECUTED
4000c3a4:   fff00893            li  a7,-1                                                 <== NOT EXECUTED
4000c3a8:   3a87e863            bltu    a5,s0,4000c758 <jffs2_scan_medium+0x8e0>          <== NOT EXECUTED
            if (err)                                                                      
4000c3ac:   00040713            mv  a4,s0                                                 <== NOT EXECUTED
4000c3b0:   00080493            mv  s1,a6                                                 <== NOT EXECUTED
4000c3b4:   f9dff06f            j   4000c350 <jffs2_scan_medium+0x4d8>                    <== NOT EXECUTED
            pr_warn("Eep. ofs 0x%08x not word-aligned!\n", ofs);                          
4000c3b8:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c3bc:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c3c0:   c2450513            addi    a0,a0,-988 # 4001fc24 <__func__.0+0x5c>           <== NOT EXECUTED
4000c3c4:   829ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c3c8:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000c3cc:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
            ofs = PAD(ofs);                                                               
4000c3d0:   003c8313            addi    t1,s9,3                                           <== NOT EXECUTED
4000c3d4:   ffc37c93            andi    s9,t1,-4                                          <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c3d8:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
4000c3dc:   baece0e3            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000c3e0:   c59ff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
        if ((err = jffs2_prealloc_raw_node_refs(c, jeb, 1)))                              
4000c3e4:   00100613            li  a2,1                                                  <== NOT EXECUTED
4000c3e8:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c3ec:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c3f0:   cbcf80ef            jal ra,400048ac <jffs2_prealloc_raw_node_refs>            <== NOT EXECUTED
4000c3f4:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c3f8:   c80510e3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
        if ((err = jffs2_scan_dirty_space(c, jeb, ofs)))                                  
4000c3fc:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000c400:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c404:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c408:   b40f90ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c40c:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c410:   c60514e3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c414:   034d2603            lw  a2,52(s10)                                            <== NOT EXECUTED
4000c418:   b4dff06f            j   4000bf64 <jffs2_scan_medium+0xec>                     <== NOT EXECUTED
            pr_warn("ofs 0x%08x has already been seen. Skipping\n",                       
4000c41c:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c420:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c424:   c5450513            addi    a0,a0,-940 # 4001fc54 <__func__.0+0x8c>           <== NOT EXECUTED
4000c428:   fc4ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
            if ((err = jffs2_scan_dirty_space(c, jeb, 4)))                                
4000c42c:   00400613            li  a2,4                                                  <== NOT EXECUTED
4000c430:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c434:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c438:   b10f90ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c43c:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c440:   c2051ce3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c444:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000c448:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
            ofs += 4;                                                                     
4000c44c:   004c8c93            addi    s9,s9,4                                           <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c450:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
4000c454:   b2ece4e3            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000c458:   be1ff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
                ret = file_dirty(c, jeb);                                                 
4000c45c:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c460:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c464:   fc8ff0ef            jal ra,4000bc2c <file_dirty>                              <== NOT EXECUTED
4000c468:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
                if (ret)                                                                  
4000c46c:   c8050ee3            beqz    a0,4000c108 <jffs2_scan_medium+0x290>             <== NOT EXECUTED
4000c470:   d01ff06f            j   4000c170 <jffs2_scan_medium+0x2f8>                    <== NOT EXECUTED
                    pr_warn("Empty flash at 0x%08x ends at 0x%08x\n",                     
4000c474:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c478:   00080613            mv  a2,a6                                                 <== NOT EXECUTED
4000c47c:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c480:   c8c50513            addi    a0,a0,-884 # 4001fc8c <__func__.0+0xc4>           <== NOT EXECUTED
4000c484:   01012823            sw  a6,16(sp)                                             <== NOT EXECUTED
4000c488:   f64ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
                    if ((err = jffs2_scan_dirty_space(c, jeb, ofs-empty_start)))          
4000c48c:   01012803            lw  a6,16(sp)                                             <== NOT EXECUTED
4000c490:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c494:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c498:   41980633            sub a2,a6,s9                                              <== NOT EXECUTED
4000c49c:   aacf90ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c4a0:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c4a4:   bc051ae3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c4a8:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000c4ac:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
4000c4b0:   01012803            lw  a6,16(sp)                                             <== NOT EXECUTED
4000c4b4:   000c8a13            mv  s4,s9                                                 <== NOT EXECUTED
4000c4b8:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
4000c4bc:   00080c93            mv  s9,a6                                                 <== NOT EXECUTED
4000c4c0:   aaeceee3            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000c4c4:   b75ff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
            noisy_printk(&noise, "%s(): Magic bitmask 0x%04x not found at 0x%08x: 0x%04x instead\n",
4000c4c8:   400205b7            lui a1,0x40020                                            <== NOT EXECUTED
4000c4cc:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c4d0:   fffb0b13            addi    s6,s6,-1                                          <== NOT EXECUTED
4000c4d4:   000c8693            mv  a3,s9                                                 <== NOT EXECUTED
4000c4d8:   2e458593            addi    a1,a1,740 # 400202e4 <__func__.3>                 <== NOT EXECUTED
4000c4dc:   d8850513            addi    a0,a0,-632 # 4001fd88 <__func__.0+0x1c0>          <== NOT EXECUTED
4000c4e0:   f0cff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
4000c4e4:   b20b12e3            bnez    s6,4000c008 <jffs2_scan_medium+0x190>             <== NOT EXECUTED
            noisy_printk(&noise, "%s(): Node at 0x%08x {0x%04x, 0x%04x, 0x%08x) has invalid CRC 0x%08x (calculated 0x%08x)\n",
4000c4e8:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c4ec:   dd450513            addi    a0,a0,-556 # 4001fdd4 <__func__.0+0x20c>          <== NOT EXECUTED
4000c4f0:   01c0006f            j   4000c50c <jffs2_scan_medium+0x694>                    <== NOT EXECUTED
            pr_warn("Old JFFS2 bitmask found at 0x%08x\n", ofs);                          
4000c4f4:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c4f8:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c4fc:   d1050513            addi    a0,a0,-752 # 4001fd10 <__func__.0+0x148>          <== NOT EXECUTED
4000c500:   eecff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
            pr_warn("You cannot use older JFFS2 filesystems with newer kernels\n");       
4000c504:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c508:   d4050513            addi    a0,a0,-704 # 4001fd40 <__func__.0+0x178>          <== NOT EXECUTED
            noisy_printk(&noise, "%s(): Node at 0x%08x {0x%04x, 0x%04x, 0x%08x) has invalid CRC 0x%08x (calculated 0x%08x)\n",
4000c50c:   ee0ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
4000c510:   af9ff06f            j   4000c008 <jffs2_scan_medium+0x190>                    <== NOT EXECUTED
4000c514:   01f12823            sw  t6,16(sp)                                             <== NOT EXECUTED
        crcnode.nodetype = cpu_to_je16( je16_to_cpu(node->nodetype) | JFFS2_NODE_ACCURATE);
4000c518:   003a4703            lbu a4,3(s4) # 1003 <_ISR_Stack_size+0x3>                 <== NOT EXECUTED
4000c51c:   002a4603            lbu a2,2(s4)                                              <== NOT EXECUTED
        crcnode.totlen = node->totlen;                                                    
4000c520:   005a4803            lbu a6,5(s4)                                              <== NOT EXECUTED
4000c524:   006a4683            lbu a3,6(s4)                                              <== NOT EXECUTED
        crcnode.magic = node->magic;                                                      
4000c528:   000a4383            lbu t2,0(s4)                                              <== NOT EXECUTED
4000c52c:   001a4283            lbu t0,1(s4)                                              <== NOT EXECUTED
        crcnode.totlen = node->totlen;                                                    
4000c530:   004a4883            lbu a7,4(s4)                                              <== NOT EXECUTED
4000c534:   007a4083            lbu ra,7(s4)                                              <== NOT EXECUTED
        crcnode.nodetype = cpu_to_je16( je16_to_cpu(node->nodetype) | JFFS2_NODE_ACCURATE);
4000c538:   00871713            slli    a4,a4,0x8                                         <== NOT EXECUTED
4000c53c:   000027b7            lui a5,0x2                                                <== NOT EXECUTED
4000c540:   00c76733            or  a4,a4,a2                                              <== NOT EXECUTED
4000c544:   00f76733            or  a4,a4,a5                                              <== NOT EXECUTED
        hdr_crc = crc32(0, &crcnode, sizeof(crcnode)-4);                                  
4000c548:   00800613            li  a2,8                                                  <== NOT EXECUTED
4000c54c:   02410593            addi    a1,sp,36                                          <== NOT EXECUTED
4000c550:   00000513            li  a0,0                                                  <== NOT EXECUTED
        crcnode.nodetype = cpu_to_je16( je16_to_cpu(node->nodetype) | JFFS2_NODE_ACCURATE);
4000c554:   02e11323            sh  a4,38(sp)                                             <== NOT EXECUTED
        crcnode.totlen = node->totlen;                                                    
4000c558:   030104a3            sb  a6,41(sp)                                             <== NOT EXECUTED
4000c55c:   02d10523            sb  a3,42(sp)                                             <== NOT EXECUTED
        crcnode.magic = node->magic;                                                      
4000c560:   02710223            sb  t2,36(sp)                                             <== NOT EXECUTED
4000c564:   025102a3            sb  t0,37(sp)                                             <== NOT EXECUTED
        crcnode.totlen = node->totlen;                                                    
4000c568:   03110423            sb  a7,40(sp)                                             <== NOT EXECUTED
4000c56c:   021105a3            sb  ra,43(sp)                                             <== NOT EXECUTED
        hdr_crc = crc32(0, &crcnode, sizeof(crcnode)-4);                                  
4000c570:   f21fd0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
        if (hdr_crc != je32_to_cpu(node->hdr_crc)) {                                      
4000c574:   009a4683            lbu a3,9(s4)                                              <== NOT EXECUTED
4000c578:   008a4583            lbu a1,8(s4)                                              <== NOT EXECUTED
4000c57c:   00aa4703            lbu a4,10(s4)                                             <== NOT EXECUTED
4000c580:   00ba4603            lbu a2,11(s4)                                             <== NOT EXECUTED
4000c584:   00869693            slli    a3,a3,0x8                                         <== NOT EXECUTED
4000c588:   00b6e6b3            or  a3,a3,a1                                              <== NOT EXECUTED
4000c58c:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
4000c590:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000c594:   01861693            slli    a3,a2,0x18                                        <== NOT EXECUTED
4000c598:   00e6e833            or  a6,a3,a4                                              <== NOT EXECUTED
4000c59c:   01012f83            lw  t6,16(sp)                                             <== NOT EXECUTED
4000c5a0:   000027b7            lui a5,0x2                                                <== NOT EXECUTED
4000c5a4:   0b050863            beq a0,a6,4000c654 <jffs2_scan_medium+0x7dc>              <== NOT EXECUTED
            noisy_printk(&noise, "%s(): Node at 0x%08x {0x%04x, 0x%04x, 0x%08x) has invalid CRC 0x%08x (calculated 0x%08x)\n",
4000c5a8:   a60b00e3            beqz    s6,4000c008 <jffs2_scan_medium+0x190>             <== NOT EXECUTED
4000c5ac:   005a4603            lbu a2,5(s4)                                              <== NOT EXECUTED
4000c5b0:   006a4883            lbu a7,6(s4)                                              <== NOT EXECUTED
4000c5b4:   004a4383            lbu t2,4(s4)                                              <== NOT EXECUTED
4000c5b8:   001a4583            lbu a1,1(s4)                                              <== NOT EXECUTED
4000c5bc:   007a4283            lbu t0,7(s4)                                              <== NOT EXECUTED
4000c5c0:   003a4f83            lbu t6,3(s4)                                              <== NOT EXECUTED
4000c5c4:   000a4683            lbu a3,0(s4)                                              <== NOT EXECUTED
4000c5c8:   00861793            slli    a5,a2,0x8                                         <== NOT EXECUTED
4000c5cc:   002a4703            lbu a4,2(s4)                                              <== NOT EXECUTED
4000c5d0:   01089613            slli    a2,a7,0x10                                        <== NOT EXECUTED
4000c5d4:   00859593            slli    a1,a1,0x8                                         <== NOT EXECUTED
4000c5d8:   0077e7b3            or  a5,a5,t2                                              <== NOT EXECUTED
4000c5dc:   00f667b3            or  a5,a2,a5                                              <== NOT EXECUTED
4000c5e0:   01829293            slli    t0,t0,0x18                                        <== NOT EXECUTED
4000c5e4:   008f9f93            slli    t6,t6,0x8                                         <== NOT EXECUTED
4000c5e8:   00050893            mv  a7,a0                                                 <== NOT EXECUTED
4000c5ec:   00d5e6b3            or  a3,a1,a3                                              <== NOT EXECUTED
4000c5f0:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c5f4:   400205b7            lui a1,0x40020                                            <== NOT EXECUTED
4000c5f8:   fffb0b13            addi    s6,s6,-1                                          <== NOT EXECUTED
4000c5fc:   00f2e7b3            or  a5,t0,a5                                              <== NOT EXECUTED
4000c600:   00efe733            or  a4,t6,a4                                              <== NOT EXECUTED
4000c604:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000c608:   2e458593            addi    a1,a1,740 # 400202e4 <__func__.3>                 <== NOT EXECUTED
4000c60c:   e1c50513            addi    a0,a0,-484 # 4001fe1c <__func__.0+0x254>          <== NOT EXECUTED
4000c610:   ddcff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
4000c614:   9e0b1ae3            bnez    s6,4000c008 <jffs2_scan_medium+0x190>             <== NOT EXECUTED
4000c618:   ed1ff06f            j   4000c4e8 <jffs2_scan_medium+0x670>                    <== NOT EXECUTED
            if (buf_ofs == jeb->offset && jeb->used_size == PAD(c->cleanmarker_size) &&   
4000c61c:   014d2683            lw  a3,20(s10)                                            <== NOT EXECUTED
4000c620:   014c2603            lw  a2,20(s8)                                             <== NOT EXECUTED
4000c624:   00368713            addi    a4,a3,3                                           <== NOT EXECUTED
4000c628:   ffc77713            andi    a4,a4,-4                                          <== NOT EXECUTED
4000c62c:   d2e61ae3            bne a2,a4,4000c360 <jffs2_scan_medium+0x4e8>              <== NOT EXECUTED
4000c630:   d20688e3            beqz    a3,4000c360 <jffs2_scan_medium+0x4e8>             <== NOT EXECUTED
                c->cleanmarker_size && !jeb->dirty_size && !ref_next(jeb->first_node)) {  
4000c634:   018c2703            lw  a4,24(s8)                                             <== NOT EXECUTED
4000c638:   d20714e3            bnez    a4,4000c360 <jffs2_scan_medium+0x4e8>             <== NOT EXECUTED
4000c63c:   028c2683            lw  a3,40(s8)                                             <== NOT EXECUTED
    if (ref->flash_offset == REF_LINK_NODE) {                                             
4000c640:   00c6a703            lw  a4,12(a3)                                             <== NOT EXECUTED
4000c644:   3f170063            beq a4,a7,4000ca24 <jffs2_scan_medium+0xbac>              <== NOT EXECUTED
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
4000c648:   ffe00693            li  a3,-2                                                 <== NOT EXECUTED
4000c64c:   d0d71ae3            bne a4,a3,4000c360 <jffs2_scan_medium+0x4e8>              <== NOT EXECUTED
4000c650:   b85ff06f            j   4000c1d4 <jffs2_scan_medium+0x35c>                    <== NOT EXECUTED
        if (ofs + je32_to_cpu(node->totlen) > jeb->offset + c->sector_size) {             
4000c654:   005a4583            lbu a1,5(s4)                                              <== NOT EXECUTED
4000c658:   004a4803            lbu a6,4(s4)                                              <== NOT EXECUTED
4000c65c:   006a4683            lbu a3,6(s4)                                              <== NOT EXECUTED
4000c660:   007a4603            lbu a2,7(s4)                                              <== NOT EXECUTED
4000c664:   00859593            slli    a1,a1,0x8                                         <== NOT EXECUTED
4000c668:   00cc2503            lw  a0,12(s8)                                             <== NOT EXECUTED
4000c66c:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000c670:   0105e5b3            or  a1,a1,a6                                              <== NOT EXECUTED
4000c674:   01069693            slli    a3,a3,0x10                                        <== NOT EXECUTED
4000c678:   00b6e6b3            or  a3,a3,a1                                              <== NOT EXECUTED
4000c67c:   01861613            slli    a2,a2,0x18                                        <== NOT EXECUTED
4000c680:   00d66633            or  a2,a2,a3                                              <== NOT EXECUTED
4000c684:   019606b3            add a3,a2,s9                                              <== NOT EXECUTED
4000c688:   00e50733            add a4,a0,a4                                              <== NOT EXECUTED
4000c68c:   26d76c63            bltu    a4,a3,4000c904 <jffs2_scan_medium+0xa8c>          <== NOT EXECUTED
        if (!(je16_to_cpu(node->nodetype) & JFFS2_NODE_ACCURATE)) {                       
4000c690:   003a4583            lbu a1,3(s4)                                              <== NOT EXECUTED
4000c694:   002a4803            lbu a6,2(s4)                                              <== NOT EXECUTED
4000c698:   00859593            slli    a1,a1,0x8                                         <== NOT EXECUTED
4000c69c:   0105e5b3            or  a1,a1,a6                                              <== NOT EXECUTED
4000c6a0:   00f5f7b3            and a5,a1,a5                                              <== NOT EXECUTED
4000c6a4:   02078463            beqz    a5,4000c6cc <jffs2_scan_medium+0x854>             <== NOT EXECUTED
        switch(je16_to_cpu(node->nodetype)) {                                             
4000c6a8:   0000e7b7            lui a5,0xe                                                <== NOT EXECUTED
4000c6ac:   00178813            addi    a6,a5,1 # e001 <bsp_section_rodata_size+0x8f2d>   <== NOT EXECUTED
4000c6b0:   2d058863            beq a1,a6,4000c980 <jffs2_scan_medium+0xb08>              <== NOT EXECUTED
4000c6b4:   0eb86e63            bltu    a6,a1,4000c7b0 <jffs2_scan_medium+0x938>          <== NOT EXECUTED
4000c6b8:   000027b7            lui a5,0x2                                                <== NOT EXECUTED
4000c6bc:   00378693            addi    a3,a5,3 # 2003 <bsp_section_rtemsstack_size+0x3>  <== NOT EXECUTED
4000c6c0:   26d58663            beq a1,a3,4000c92c <jffs2_scan_medium+0xab4>              <== NOT EXECUTED
4000c6c4:   00478693            addi    a3,a5,4                                           <== NOT EXECUTED
4000c6c8:   54d59663            bne a1,a3,4000cc14 <jffs2_scan_medium+0xd9c>              <== NOT EXECUTED
                if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)))))
4000c6cc:   00360613            addi    a2,a2,3                                           <== NOT EXECUTED
4000c6d0:   ffc67613            andi    a2,a2,-4                                          <== NOT EXECUTED
4000c6d4:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c6d8:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c6dc:   86cf90ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c6e0:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c6e4:   98051ae3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
                ofs += PAD(je32_to_cpu(node->totlen));                                    
4000c6e8:   005a4703            lbu a4,5(s4)                                              <== NOT EXECUTED
4000c6ec:   004a4583            lbu a1,4(s4)                                              <== NOT EXECUTED
4000c6f0:   006a4603            lbu a2,6(s4)                                              <== NOT EXECUTED
4000c6f4:   00871793            slli    a5,a4,0x8                                         <== NOT EXECUTED
4000c6f8:   00b7e7b3            or  a5,a5,a1                                              <== NOT EXECUTED
4000c6fc:   007a4683            lbu a3,7(s4)                                              <== NOT EXECUTED
4000c700:   01061613            slli    a2,a2,0x10                                        <== NOT EXECUTED
4000c704:   00f66633            or  a2,a2,a5                                              <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c708:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000c70c:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
                ofs += PAD(je32_to_cpu(node->totlen));                                    
4000c710:   01869693            slli    a3,a3,0x18                                        <== NOT EXECUTED
                ofs += PAD(je32_to_cpu(node->totlen));                                    
4000c714:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000c718:   00368693            addi    a3,a3,3                                           <== NOT EXECUTED
4000c71c:   ffc6f693            andi    a3,a3,-4                                          <== NOT EXECUTED
                break;                                                                    
4000c720:   000c8a13            mv  s4,s9                                                 <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c724:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
                ofs += PAD(je32_to_cpu(node->totlen));                                    
4000c728:   01968cb3            add s9,a3,s9                                              <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c72c:   84ece8e3            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000c730:   909ff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
            pr_notice("Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes\n");
4000c734:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c738:   1ec50513            addi    a0,a0,492 # 400201ec <__func__.0+0x624>           <== NOT EXECUTED
4000c73c:   cb0ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
            pr_notice("empty_blocks %d, bad_blocks %d, c->nr_blocks %d\n",                
4000c740:   050d2683            lw  a3,80(s10)                                            <== NOT EXECUTED
4000c744:   00c12583            lw  a1,12(sp)                                             <== NOT EXECUTED
4000c748:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c74c:   000b8613            mv  a2,s7                                                 <== NOT EXECUTED
4000c750:   24450513            addi    a0,a0,580 # 40020244 <__func__.0+0x67c>           <== NOT EXECUTED
4000c754:   c98ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
            ret = -EIO;                                                                   
4000c758:   ffb00713            li  a4,-5                                                 <== NOT EXECUTED
            goto out;                                                                     
4000c75c:   a15ff06f            j   4000c170 <jffs2_scan_medium+0x2f8>                    <== NOT EXECUTED
            if ((err = jffs2_scan_dirty_space(c, jeb, (jeb->offset + c->sector_size)-ofs)))
4000c760:   41960633            sub a2,a2,s9                                              <== NOT EXECUTED
4000c764:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c768:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c76c:   fddf80ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c770:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c774:   900512e3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    if (jeb->wasted_size) {                                                               
4000c778:   01cc2783            lw  a5,28(s8)                                             <== NOT EXECUTED
4000c77c:   8c0792e3            bnez    a5,4000c040 <jffs2_scan_medium+0x1c8>             <== NOT EXECUTED
4000c780:   8e9ff06f            j   4000c068 <jffs2_scan_medium+0x1f0>                    <== NOT EXECUTED
        c->nextblock->wasted_size += c->nextblock->dirty_size;                            
4000c784:   01c72503            lw  a0,28(a4)                                             <== NOT EXECUTED
        c->wasted_size += c->nextblock->dirty_size;                                       
4000c788:   024d2583            lw  a1,36(s10)                                            <== NOT EXECUTED
        c->dirty_size -= c->nextblock->dirty_size;                                        
4000c78c:   020d2603            lw  a2,32(s10)                                            <== NOT EXECUTED
        c->nextblock->wasted_size += c->nextblock->dirty_size;                            
4000c790:   00d50533            add a0,a0,a3                                              <== NOT EXECUTED
4000c794:   00a72e23            sw  a0,28(a4)                                             <== NOT EXECUTED
        c->wasted_size += c->nextblock->dirty_size;                                       
4000c798:   00d585b3            add a1,a1,a3                                              <== NOT EXECUTED
        c->dirty_size -= c->nextblock->dirty_size;                                        
4000c79c:   40d606b3            sub a3,a2,a3                                              <== NOT EXECUTED
        c->wasted_size += c->nextblock->dirty_size;                                       
4000c7a0:   02bd2223            sw  a1,36(s10)                                            <== NOT EXECUTED
        c->dirty_size -= c->nextblock->dirty_size;                                        
4000c7a4:   02dd2023            sw  a3,32(s10)                                            <== NOT EXECUTED
        c->nextblock->dirty_size = 0;                                                     
4000c7a8:   00072c23            sw  zero,24(a4)                                           <== NOT EXECUTED
4000c7ac:   97dff06f            j   4000c128 <jffs2_scan_medium+0x2b0>                    <== NOT EXECUTED
        switch(je16_to_cpu(node->nodetype)) {                                             
4000c7b0:   0000e7b7            lui a5,0xe                                                <== NOT EXECUTED
4000c7b4:   00278693            addi    a3,a5,2 # e002 <bsp_section_rodata_size+0x8f2e>   <== NOT EXECUTED
4000c7b8:   50d59263            bne a1,a3,4000ccbc <jffs2_scan_medium+0xe44>              <== NOT EXECUTED
            if (buf_ofs + buf_len < ofs + sizeof(struct jffs2_raw_inode)) {               
4000c7bc:   008486b3            add a3,s1,s0                                              <== NOT EXECUTED
4000c7c0:   044c8613            addi    a2,s9,68                                          <== NOT EXECUTED
4000c7c4:   04c6f263            bgeu    a3,a2,4000c808 <jffs2_scan_medium+0x990>          <== NOT EXECUTED
                buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);  
4000c7c8:   41970433            sub s0,a4,s9                                              <== NOT EXECUTED
4000c7cc:   000017b7            lui a5,0x1                                                <== NOT EXECUTED
4000c7d0:   0087f463            bgeu    a5,s0,4000c7d8 <jffs2_scan_medium+0x960>          <== NOT EXECUTED
4000c7d4:   00001437            lui s0,0x1                                                <== NOT EXECUTED
    ret = jffs2_flash_read(c, ofs, len, &retlen, buf);                                    
4000c7d8:   000d8713            mv  a4,s11                                                <== NOT EXECUTED
4000c7dc:   02010693            addi    a3,sp,32                                          <== NOT EXECUTED
4000c7e0:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
4000c7e4:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c7e8:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c7ec:   98cff0ef            jal ra,4000b978 <jffs2_flash_read>                        <== NOT EXECUTED
4000c7f0:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (ret) {                                                                            
4000c7f4:   880512e3            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    if (retlen < len) {                                                                   
4000c7f8:   02012783            lw  a5,32(sp)                                             <== NOT EXECUTED
4000c7fc:   f487eee3            bltu    a5,s0,4000c758 <jffs2_scan_medium+0x8e0>          <== NOT EXECUTED
                if (err)                                                                  
4000c800:   000c8493            mv  s1,s9                                                 <== NOT EXECUTED
4000c804:   000d8a13            mv  s4,s11                                                <== NOT EXECUTED
                                                                                          
static int jffs2_scan_inode_node(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb,   
                 struct jffs2_raw_inode *ri, uint32_t ofs, struct jffs2_summary *s)       
{                                                                                         
    struct jffs2_inode_cache *ic;                                                         
    uint32_t crc, ino = je32_to_cpu(ri->ino);                                             
4000c808:   00da4783            lbu a5,13(s4)                                             <== NOT EXECUTED
4000c80c:   00ca4603            lbu a2,12(s4)                                             <== NOT EXECUTED
4000c810:   00ea4703            lbu a4,14(s4)                                             <== NOT EXECUTED
4000c814:   00fa4683            lbu a3,15(s4)                                             <== NOT EXECUTED
4000c818:   00879793            slli    a5,a5,0x8                                         <== NOT EXECUTED
4000c81c:   00c7e7b3            or  a5,a5,a2                                              <== NOT EXECUTED
4000c820:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
4000c824:   00f76733            or  a4,a4,a5                                              <== NOT EXECUTED
4000c828:   01869793            slli    a5,a3,0x18                                        <== NOT EXECUTED
4000c82c:   00e7e7b3            or  a5,a5,a4                                              <== NOT EXECUTED
       but we have to go _back_ to the flash in order to finish the CRC checking, etc.    
       Which means that the _full_ amount of time to get to proper write mode with GC     
       operational may actually be _longer_ than before. Sucks to be me. */               
                                                                                          
    /* Check the node CRC in any case. */                                                 
    crc = crc32(0, ri, sizeof(*ri)-8);                                                    
4000c830:   03c00613            li  a2,60                                                 <== NOT EXECUTED
4000c834:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
4000c838:   00000513            li  a0,0                                                  <== NOT EXECUTED
    uint32_t crc, ino = je32_to_cpu(ri->ino);                                             
4000c83c:   00f12823            sw  a5,16(sp)                                             <== NOT EXECUTED
    crc = crc32(0, ri, sizeof(*ri)-8);                                                    
4000c840:   c51fd0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
    if (crc != je32_to_cpu(ri->node_crc)) {                                               
4000c844:   041a4703            lbu a4,65(s4)                                             <== NOT EXECUTED
4000c848:   040a4583            lbu a1,64(s4)                                             <== NOT EXECUTED
4000c84c:   042a4603            lbu a2,66(s4)                                             <== NOT EXECUTED
4000c850:   043a4683            lbu a3,67(s4)                                             <== NOT EXECUTED
4000c854:   00871713            slli    a4,a4,0x8                                         <== NOT EXECUTED
4000c858:   00b76733            or  a4,a4,a1                                              <== NOT EXECUTED
4000c85c:   01061613            slli    a2,a2,0x10                                        <== NOT EXECUTED
4000c860:   00e66633            or  a2,a2,a4                                              <== NOT EXECUTED
4000c864:   01869693            slli    a3,a3,0x18                                        <== NOT EXECUTED
4000c868:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000c86c:   01012783            lw  a5,16(sp)                                             <== NOT EXECUTED
    crc = crc32(0, ri, sizeof(*ri)-8);                                                    
4000c870:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (crc != je32_to_cpu(ri->node_crc)) {                                               
4000c874:   30d50463            beq a0,a3,4000cb7c <jffs2_scan_medium+0xd04>              <== NOT EXECUTED
        pr_notice("%s(): CRC failed on node at 0x%08x: Read 0x%08x, calculated 0x%08x\n", 
4000c878:   400205b7            lui a1,0x40020                                            <== NOT EXECUTED
4000c87c:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c880:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000c884:   2cc58593            addi    a1,a1,716 # 400202cc <__func__.2>                 <== NOT EXECUTED
4000c888:   f2450513            addi    a0,a0,-220 # 4001ff24 <__func__.0+0x35c>          <== NOT EXECUTED
4000c88c:   b60ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
        jffs2_dbg(1, "Name for which CRC failed is (now) '%s', ino #%d\n",                
              fd->name, je32_to_cpu(rd->ino));                                            
        jffs2_free_full_dirent(fd);                                                       
        /* FIXME: Why do we believe totlen? */                                            
        /* We believe totlen because the CRC on the node _header_ was OK, just the name failed. */
        if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rd->totlen)))))         
4000c890:   005a4683            lbu a3,5(s4)                                              <== NOT EXECUTED
4000c894:   004a4583            lbu a1,4(s4)                                              <== NOT EXECUTED
4000c898:   006a4703            lbu a4,6(s4)                                              <== NOT EXECUTED
4000c89c:   007a4603            lbu a2,7(s4)                                              <== NOT EXECUTED
4000c8a0:   00869693            slli    a3,a3,0x8                                         <== NOT EXECUTED
4000c8a4:   00b6e6b3            or  a3,a3,a1                                              <== NOT EXECUTED
4000c8a8:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
4000c8ac:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000c8b0:   01861613            slli    a2,a2,0x18                                        <== NOT EXECUTED
4000c8b4:   00e66633            or  a2,a2,a4                                              <== NOT EXECUTED
4000c8b8:   00360613            addi    a2,a2,3                                           <== NOT EXECUTED
4000c8bc:   ffc67613            andi    a2,a2,-4                                          <== NOT EXECUTED
4000c8c0:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c8c4:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c8c8:   e81f80ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c8cc:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c8d0:   fa051463            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
                ofs += PAD(je32_to_cpu(node->totlen));                                    
4000c8d4:   005a4703            lbu a4,5(s4)                                              <== NOT EXECUTED
4000c8d8:   004a4583            lbu a1,4(s4)                                              <== NOT EXECUTED
4000c8dc:   006a4603            lbu a2,6(s4)                                              <== NOT EXECUTED
4000c8e0:   007a4683            lbu a3,7(s4)                                              <== NOT EXECUTED
4000c8e4:   00871793            slli    a5,a4,0x8                                         <== NOT EXECUTED
4000c8e8:   00b7e7b3            or  a5,a5,a1                                              <== NOT EXECUTED
4000c8ec:   01061613            slli    a2,a2,0x10                                        <== NOT EXECUTED
4000c8f0:   00f66633            or  a2,a2,a5                                              <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c8f4:   00cc2703            lw  a4,12(s8)                                             <== NOT EXECUTED
4000c8f8:   034d2783            lw  a5,52(s10)                                            <== NOT EXECUTED
                ofs += PAD(je32_to_cpu(node->totlen));                                    
4000c8fc:   01869693            slli    a3,a3,0x18                                        <== NOT EXECUTED
4000c900:   e15ff06f            j   4000c714 <jffs2_scan_medium+0x89c>                    <== NOT EXECUTED
            pr_warn("Node at 0x%08x with length 0x%08x would run over the end of the erase block\n",
4000c904:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c908:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c90c:   e8050513            addi    a0,a0,-384 # 4001fe80 <__func__.0+0x2b8>          <== NOT EXECUTED
4000c910:   adcff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
            pr_warn("Perhaps the file system was created with the wrong erase size?\n");  
4000c914:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c918:   ed850513            addi    a0,a0,-296 # 4001fed8 <__func__.0+0x310>          <== NOT EXECUTED
4000c91c:   bf1ff06f            j   4000c50c <jffs2_scan_medium+0x694>                    <== NOT EXECUTED
    for (i=0; i<c->nr_blocks; i++) {                                                      
4000c920:   00000793            li  a5,0                                                  <== NOT EXECUTED
    uint32_t empty_blocks = 0, bad_blocks = 0;                                            
4000c924:   00012623            sw  zero,12(sp)                                           <== NOT EXECUTED
4000c928:   ff0ff06f            j   4000c118 <jffs2_scan_medium+0x2a0>                    <== NOT EXECUTED
            if (je32_to_cpu(node->totlen) != c->cleanmarker_size) {                       
4000c92c:   014d2683            lw  a3,20(s10)                                            <== NOT EXECUTED
4000c930:   01f12823            sw  t6,16(sp)                                             <== NOT EXECUTED
4000c934:   32d60063            beq a2,a3,4000cc54 <jffs2_scan_medium+0xddc>              <== NOT EXECUTED
                pr_notice("CLEANMARKER node found at 0x%08x has totlen 0x%x != normal 0x%x\n",
4000c938:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000c93c:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c940:   06450513            addi    a0,a0,100 # 40020064 <__func__.0+0x49c>           <== NOT EXECUTED
4000c944:   aa8ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
                if ((err = jffs2_scan_dirty_space(c, jeb, PAD(sizeof(struct jffs2_unknown_node)))))
4000c948:   00c00613            li  a2,12                                                 <== NOT EXECUTED
4000c94c:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000c950:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c954:   df5f80ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000c958:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000c95c:   f0051e63            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000c960:   00cc2703            lw  a4,12(s8)                                             <== NOT EXECUTED
4000c964:   034d2783            lw  a5,52(s10)                                            <== NOT EXECUTED
4000c968:   01012f83            lw  t6,16(sp)                                             <== NOT EXECUTED
4000c96c:   000c8a13            mv  s4,s9                                                 <== NOT EXECUTED
4000c970:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
4000c974:   000f8c93            mv  s9,t6                                                 <== NOT EXECUTED
4000c978:   e0ece263            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000c97c:   ebcff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
            if (buf_ofs + buf_len < ofs + je32_to_cpu(node->totlen)) {                    
4000c980:   00848633            add a2,s1,s0                                              <== NOT EXECUTED
4000c984:   04d67263            bgeu    a2,a3,4000c9c8 <jffs2_scan_medium+0xb50>          <== NOT EXECUTED
                buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);  
4000c988:   41970433            sub s0,a4,s9                                              <== NOT EXECUTED
4000c98c:   000017b7            lui a5,0x1                                                <== NOT EXECUTED
4000c990:   0087f463            bgeu    a5,s0,4000c998 <jffs2_scan_medium+0xb20>          <== NOT EXECUTED
4000c994:   00001437            lui s0,0x1                                                <== NOT EXECUTED
    ret = jffs2_flash_read(c, ofs, len, &retlen, buf);                                    
4000c998:   000d8713            mv  a4,s11                                                <== NOT EXECUTED
4000c99c:   02010693            addi    a3,sp,32                                          <== NOT EXECUTED
4000c9a0:   00040613            mv  a2,s0                                                 <== NOT EXECUTED
4000c9a4:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000c9a8:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000c9ac:   fcdfe0ef            jal ra,4000b978 <jffs2_flash_read>                        <== NOT EXECUTED
4000c9b0:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (ret) {                                                                            
4000c9b4:   ec051263            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    if (retlen < len) {                                                                   
4000c9b8:   02012783            lw  a5,32(sp)                                             <== NOT EXECUTED
4000c9bc:   d887eee3            bltu    a5,s0,4000c758 <jffs2_scan_medium+0x8e0>          <== NOT EXECUTED
                if (err)                                                                  
4000c9c0:   000c8493            mv  s1,s9                                                 <== NOT EXECUTED
4000c9c4:   000d8a13            mv  s4,s11                                                <== NOT EXECUTED
    crc = crc32(0, rd, sizeof(*rd)-8);                                                    
4000c9c8:   02000613            li  a2,32                                                 <== NOT EXECUTED
4000c9cc:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
4000c9d0:   00000513            li  a0,0                                                  <== NOT EXECUTED
4000c9d4:   abdfd0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
    if (crc != je32_to_cpu(rd->node_crc)) {                                               
4000c9d8:   021a4703            lbu a4,33(s4)                                             <== NOT EXECUTED
4000c9dc:   020a4583            lbu a1,32(s4)                                             <== NOT EXECUTED
4000c9e0:   022a4603            lbu a2,34(s4)                                             <== NOT EXECUTED
4000c9e4:   023a4683            lbu a3,35(s4)                                             <== NOT EXECUTED
4000c9e8:   00871713            slli    a4,a4,0x8                                         <== NOT EXECUTED
4000c9ec:   00b76733            or  a4,a4,a1                                              <== NOT EXECUTED
4000c9f0:   01061613            slli    a2,a2,0x10                                        <== NOT EXECUTED
4000c9f4:   00e66633            or  a2,a2,a4                                              <== NOT EXECUTED
4000c9f8:   01869693            slli    a3,a3,0x18                                        <== NOT EXECUTED
4000c9fc:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
    crc = crc32(0, rd, sizeof(*rd)-8);                                                    
4000ca00:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (crc != je32_to_cpu(rd->node_crc)) {                                               
4000ca04:   02d50863            beq a0,a3,4000ca34 <jffs2_scan_medium+0xbbc>              <== NOT EXECUTED
        pr_notice("%s(): Node CRC failed on node at 0x%08x: Read 0x%08x, calculated 0x%08x\n",
4000ca08:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000ca0c:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000ca10:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000ca14:   2b478593            addi    a1,a5,692 # 400202b4 <__func__.1>                 <== NOT EXECUTED
4000ca18:   f7450513            addi    a0,a0,-140 # 4001ff74 <__func__.0+0x3ac>          <== NOT EXECUTED
4000ca1c:   9d0ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
        if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rd->totlen)))))         
4000ca20:   e71ff06f            j   4000c890 <jffs2_scan_medium+0xa18>                    <== NOT EXECUTED
        ref = ref->next_in_ino;                                                           
4000ca24:   0086a703            lw  a4,8(a3)                                              <== NOT EXECUTED
        if (!ref)                                                                         
4000ca28:   fa070663            beqz    a4,4000c1d4 <jffs2_scan_medium+0x35c>             <== NOT EXECUTED
    if (ref->flash_offset == REF_EMPTY_NODE)                                              
4000ca2c:   00472703            lw  a4,4(a4)                                              <== NOT EXECUTED
4000ca30:   c19ff06f            j   4000c648 <jffs2_scan_medium+0x7d0>                    <== NOT EXECUTED
    pseudo_random += je32_to_cpu(rd->version);                                            
4000ca34:   011a4503            lbu a0,17(s4)                                             <== NOT EXECUTED
4000ca38:   010a4583            lbu a1,16(s4)                                             <== NOT EXECUTED
4000ca3c:   012a4683            lbu a3,18(s4)                                             <== NOT EXECUTED
4000ca40:   013a4703            lbu a4,19(s4)                                             <== NOT EXECUTED
4000ca44:   8bc18613            addi    a2,gp,-1860 # 40042f94 <pseudo_random>            <== NOT EXECUTED
4000ca48:   00851513            slli    a0,a0,0x8                                         <== NOT EXECUTED
4000ca4c:   00062803            lw  a6,0(a2)                                              <== NOT EXECUTED
4000ca50:   00b56533            or  a0,a0,a1                                              <== NOT EXECUTED
4000ca54:   01069693            slli    a3,a3,0x10                                        <== NOT EXECUTED
    checkedlen = strnlen(rd->name, rd->nsize);                                            
4000ca58:   01ca4583            lbu a1,28(s4)                                             <== NOT EXECUTED
    pseudo_random += je32_to_cpu(rd->version);                                            
4000ca5c:   00a6e6b3            or  a3,a3,a0                                              <== NOT EXECUTED
4000ca60:   01871713            slli    a4,a4,0x18                                        <== NOT EXECUTED
4000ca64:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000ca68:   01070733            add a4,a4,a6                                              <== NOT EXECUTED
    checkedlen = strnlen(rd->name, rd->nsize);                                            
4000ca6c:   028a0513            addi    a0,s4,40                                          <== NOT EXECUTED
4000ca70:   00b12a23            sw  a1,20(sp)                                             <== NOT EXECUTED
4000ca74:   00a12823            sw  a0,16(sp)                                             <== NOT EXECUTED
    pseudo_random += je32_to_cpu(rd->version);                                            
4000ca78:   00e62023            sw  a4,0(a2)                                              <== NOT EXECUTED
    checkedlen = strnlen(rd->name, rd->nsize);                                            
4000ca7c:   5050f0ef            jal ra,4001c780 <strnlen>                                 <== NOT EXECUTED
    if (checkedlen < rd->nsize) {                                                         
4000ca80:   01412583            lw  a1,20(sp)                                             <== NOT EXECUTED
    checkedlen = strnlen(rd->name, rd->nsize);                                            
4000ca84:   00050813            mv  a6,a0                                                 <== NOT EXECUTED
    if (checkedlen < rd->nsize) {                                                         
4000ca88:   46b56e63            bltu    a0,a1,4000cf04 <jffs2_scan_medium+0x108c>         <== NOT EXECUTED
    fd = jffs2_alloc_full_dirent(checkedlen+1);                                           
4000ca8c:   00180513            addi    a0,a6,1                                           <== NOT EXECUTED
4000ca90:   01012a23            sw  a6,20(sp)                                             <== NOT EXECUTED
4000ca94:   dddf70ef            jal ra,40004870 <jffs2_alloc_full_dirent>                 <== NOT EXECUTED
    if (!fd) {                                                                            
4000ca98:   2a050063            beqz    a0,4000cd38 <jffs2_scan_medium+0xec0>             <== NOT EXECUTED
    memcpy(&fd->name, rd->name, checkedlen);                                              
4000ca9c:   01412803            lw  a6,20(sp)                                             <== NOT EXECUTED
4000caa0:   01012583            lw  a1,16(sp)                                             <== NOT EXECUTED
4000caa4:   01550f93            addi    t6,a0,21                                          <== NOT EXECUTED
4000caa8:   00080613            mv  a2,a6                                                 <== NOT EXECUTED
4000caac:   00a12c23            sw  a0,24(sp)                                             <== NOT EXECUTED
4000cab0:   000f8513            mv  a0,t6                                                 <== NOT EXECUTED
4000cab4:   53c0f0ef            jal ra,4001bff0 <memcpy>                                  <== NOT EXECUTED
    fd->name[checkedlen] = 0;                                                             
4000cab8:   01412803            lw  a6,20(sp)                                             <== NOT EXECUTED
4000cabc:   01812883            lw  a7,24(sp)                                             <== NOT EXECUTED
    crc = crc32(0, fd->name, rd->nsize);                                                  
4000cac0:   00050593            mv  a1,a0                                                 <== NOT EXECUTED
4000cac4:   00a12823            sw  a0,16(sp)                                             <== NOT EXECUTED
    fd->name[checkedlen] = 0;                                                             
4000cac8:   01088733            add a4,a7,a6                                              <== NOT EXECUTED
4000cacc:   00070aa3            sb  zero,21(a4)                                           <== NOT EXECUTED
    crc = crc32(0, fd->name, rd->nsize);                                                  
4000cad0:   01ca4603            lbu a2,28(s4)                                             <== NOT EXECUTED
4000cad4:   00000513            li  a0,0                                                  <== NOT EXECUTED
    fd->name[checkedlen] = 0;                                                             
4000cad8:   01012c23            sw  a6,24(sp)                                             <== NOT EXECUTED
4000cadc:   01112a23            sw  a7,20(sp)                                             <== NOT EXECUTED
    crc = crc32(0, fd->name, rd->nsize);                                                  
4000cae0:   9b1fd0ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
    if (crc != je32_to_cpu(rd->name_crc)) {                                               
4000cae4:   025a4703            lbu a4,37(s4)                                             <== NOT EXECUTED
4000cae8:   024a4583            lbu a1,36(s4)                                             <== NOT EXECUTED
4000caec:   026a4603            lbu a2,38(s4)                                             <== NOT EXECUTED
4000caf0:   027a4683            lbu a3,39(s4)                                             <== NOT EXECUTED
4000caf4:   00871713            slli    a4,a4,0x8                                         <== NOT EXECUTED
4000caf8:   00b76733            or  a4,a4,a1                                              <== NOT EXECUTED
4000cafc:   01061613            slli    a2,a2,0x10                                        <== NOT EXECUTED
4000cb00:   00e66633            or  a2,a2,a4                                              <== NOT EXECUTED
4000cb04:   01869693            slli    a3,a3,0x18                                        <== NOT EXECUTED
4000cb08:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000cb0c:   01012f83            lw  t6,16(sp)                                             <== NOT EXECUTED
4000cb10:   01412883            lw  a7,20(sp)                                             <== NOT EXECUTED
4000cb14:   01812803            lw  a6,24(sp)                                             <== NOT EXECUTED
    crc = crc32(0, fd->name, rd->nsize);                                                  
4000cb18:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (crc != je32_to_cpu(rd->name_crc)) {                                               
4000cb1c:   24d50c63            beq a0,a3,4000cd74 <jffs2_scan_medium+0xefc>              <== NOT EXECUTED
        pr_notice("%s(): Name CRC failed on node at 0x%08x: Read 0x%08x, calculated 0x%08x\n",
4000cb20:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000cb24:   2b478593            addi    a1,a5,692 # 400202b4 <__func__.1>                 <== NOT EXECUTED
4000cb28:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000cb2c:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000cb30:   01078513            addi    a0,a5,16 # 40020010 <__func__.0+0x448>            <== NOT EXECUTED
4000cb34:   01112823            sw  a7,16(sp)                                             <== NOT EXECUTED
4000cb38:   8b4ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
        jffs2_free_full_dirent(fd);                                                       
4000cb3c:   01012883            lw  a7,16(sp)                                             <== NOT EXECUTED
4000cb40:   00088513            mv  a0,a7                                                 <== NOT EXECUTED
4000cb44:   d35f70ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
4000cb48:   d49ff06f            j   4000c890 <jffs2_scan_medium+0xa18>                    <== NOT EXECUTED
            pr_warn("%s(): unknown block state\n", __func__);                             
4000cb4c:   40020437            lui s0,0x40020                                            <== NOT EXECUTED
4000cb50:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000cb54:   2fc40593            addi    a1,s0,764 # 400202fc <__func__.4>                 <== NOT EXECUTED
4000cb58:   19850513            addi    a0,a0,408 # 40020198 <__func__.0+0x5d0>           <== NOT EXECUTED
4000cb5c:   890ff0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
            BUG();                                                                        
4000cb60:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
4000cb64:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000cb68:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
4000cb6c:   2fc40613            addi    a2,s0,764                                         <== NOT EXECUTED
4000cb70:   0f100593            li  a1,241                                                <== NOT EXECUTED
4000cb74:   1c050513            addi    a0,a0,448 # 400201c0 <__func__.0+0x5f8>           <== NOT EXECUTED
4000cb78:   728000ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
    ic = jffs2_get_ino_cache(c, ino);                                                     
4000cb7c:   00078593            mv  a1,a5                                                 <== NOT EXECUTED
4000cb80:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cb84:   00f12823            sw  a5,16(sp)                                             <== NOT EXECUTED
4000cb88:   eb0f80ef            jal ra,40005238 <jffs2_get_ino_cache>                     <== NOT EXECUTED
    if (!ic) {                                                                            
4000cb8c:   01012783            lw  a5,16(sp)                                             <== NOT EXECUTED
    ic = jffs2_get_ino_cache(c, ino);                                                     
4000cb90:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
    if (!ic) {                                                                            
4000cb94:   18050863            beqz    a0,4000cd24 <jffs2_scan_medium+0xeac>             <== NOT EXECUTED
    jffs2_link_node_ref(c, jeb, ofs | REF_UNCHECKED, PAD(je32_to_cpu(ri->totlen)), ic);   
4000cb98:   005a4583            lbu a1,5(s4)                                              <== NOT EXECUTED
4000cb9c:   004a4503            lbu a0,4(s4)                                              <== NOT EXECUTED
4000cba0:   006a4603            lbu a2,6(s4)                                              <== NOT EXECUTED
4000cba4:   007a4683            lbu a3,7(s4)                                              <== NOT EXECUTED
4000cba8:   00859593            slli    a1,a1,0x8                                         <== NOT EXECUTED
4000cbac:   00a5e5b3            or  a1,a1,a0                                              <== NOT EXECUTED
4000cbb0:   01061613            slli    a2,a2,0x10                                        <== NOT EXECUTED
4000cbb4:   00b66633            or  a2,a2,a1                                              <== NOT EXECUTED
4000cbb8:   01869693            slli    a3,a3,0x18                                        <== NOT EXECUTED
4000cbbc:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000cbc0:   00368693            addi    a3,a3,3                                           <== NOT EXECUTED
4000cbc4:   ffc6f693            andi    a3,a3,-4                                          <== NOT EXECUTED
4000cbc8:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000cbcc:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000cbd0:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cbd4:   995f80ef            jal ra,40005568 <jffs2_link_node_ref>                     <== NOT EXECUTED
    pseudo_random += je32_to_cpu(ri->version);                                            
4000cbd8:   011a4603            lbu a2,17(s4)                                             <== NOT EXECUTED
4000cbdc:   010a4803            lbu a6,16(s4)                                             <== NOT EXECUTED
4000cbe0:   012a4683            lbu a3,18(s4)                                             <== NOT EXECUTED
4000cbe4:   013a4703            lbu a4,19(s4)                                             <== NOT EXECUTED
4000cbe8:   8bc18593            addi    a1,gp,-1860 # 40042f94 <pseudo_random>            <== NOT EXECUTED
4000cbec:   00861613            slli    a2,a2,0x8                                         <== NOT EXECUTED
4000cbf0:   0005a503            lw  a0,0(a1)                                              <== NOT EXECUTED
4000cbf4:   01066633            or  a2,a2,a6                                              <== NOT EXECUTED
4000cbf8:   01069693            slli    a3,a3,0x10                                        <== NOT EXECUTED
4000cbfc:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000cc00:   01871713            slli    a4,a4,0x18                                        <== NOT EXECUTED
4000cc04:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000cc08:   00a70733            add a4,a4,a0                                              <== NOT EXECUTED
4000cc0c:   00e5a023            sw  a4,0(a1)                                              <== NOT EXECUTED
            if (err) return err;                                                          
4000cc10:   cc5ff06f            j   4000c8d4 <jffs2_scan_medium+0xa5c>                    <== NOT EXECUTED
            switch (je16_to_cpu(node->nodetype) & JFFS2_COMPAT_MASK) {                    
4000cc14:   ffffc6b7            lui a3,0xffffc                                            <== NOT EXECUTED
4000cc18:   00d5f6b3            and a3,a1,a3                                              <== NOT EXECUTED
4000cc1c:   00008537            lui a0,0x8                                                <== NOT EXECUTED
4000cc20:   0aa68a63            beq a3,a0,4000ccd4 <jffs2_scan_medium+0xe5c>              <== NOT EXECUTED
4000cc24:   08d56863            bltu    a0,a3,4000ccb4 <jffs2_scan_medium+0xe3c>          <== NOT EXECUTED
4000cc28:   aa0682e3            beqz    a3,4000c6cc <jffs2_scan_medium+0x854>             <== NOT EXECUTED
4000cc2c:   000045b7            lui a1,0x4                                                <== NOT EXECUTED
4000cc30:   06b69c63            bne a3,a1,4000cca8 <jffs2_scan_medium+0xe30>              <== NOT EXECUTED
                jffs2_link_node_ref(c, jeb, ofs | REF_PRISTINE, PAD(je32_to_cpu(node->totlen)), NULL);
4000cc34:   00360693            addi    a3,a2,3                                           <== NOT EXECUTED
4000cc38:   00000713            li  a4,0                                                  <== NOT EXECUTED
4000cc3c:   002ce613            ori a2,s9,2                                               <== NOT EXECUTED
4000cc40:   ffc6f693            andi    a3,a3,-4                                          <== NOT EXECUTED
4000cc44:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000cc48:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cc4c:   91df80ef            jal ra,40005568 <jffs2_link_node_ref>                     <== NOT EXECUTED
4000cc50:   c85ff06f            j   4000c8d4 <jffs2_scan_medium+0xa5c>                    <== NOT EXECUTED
            } else if (jeb->first_node) {                                                 
4000cc54:   028c2783            lw  a5,40(s8)                                             <== NOT EXECUTED
4000cc58:   0e078463            beqz    a5,4000cd40 <jffs2_scan_medium+0xec8>             <== NOT EXECUTED
                pr_notice("CLEANMARKER node found at 0x%08x, not first node in block (0x%08x)\n",
4000cc5c:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000cc60:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000cc64:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000cc68:   0b050513            addi    a0,a0,176 # 400200b0 <__func__.0+0x4e8>           <== NOT EXECUTED
4000cc6c:   f81fe0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
                if ((err = jffs2_scan_dirty_space(c, jeb, PAD(sizeof(struct jffs2_unknown_node)))))
4000cc70:   00c00613            li  a2,12                                                 <== NOT EXECUTED
4000cc74:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000cc78:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cc7c:   acdf80ef            jal ra,40005748 <jffs2_scan_dirty_space>                  <== NOT EXECUTED
4000cc80:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
4000cc84:   be051a63            bnez    a0,4000c078 <jffs2_scan_medium+0x200>             <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000cc88:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000cc8c:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
4000cc90:   01012f83            lw  t6,16(sp)                                             <== NOT EXECUTED
4000cc94:   000c8a13            mv  s4,s9                                                 <== NOT EXECUTED
4000cc98:   00f70733            add a4,a4,a5                                              <== NOT EXECUTED
4000cc9c:   000f8c93            mv  s9,t6                                                 <== NOT EXECUTED
4000cca0:   acecee63            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000cca4:   b94ff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
4000cca8:   000c8a13            mv  s4,s9                                                 <== NOT EXECUTED
4000ccac:   acece863            bltu    s9,a4,4000bf7c <jffs2_scan_medium+0x104>          <== NOT EXECUTED
4000ccb0:   b88ff06f            j   4000c038 <jffs2_scan_medium+0x1c0>                    <== NOT EXECUTED
4000ccb4:   0000c7b7            lui a5,0xc                                                <== NOT EXECUTED
4000ccb8:   fef698e3            bne a3,a5,4000cca8 <jffs2_scan_medium+0xe30>              <== NOT EXECUTED
                pr_notice("Incompatible feature node (0x%04x) found at offset 0x%08x\n",  
4000ccbc:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000ccc0:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000ccc4:   15050513            addi    a0,a0,336 # 40020150 <__func__.0+0x588>           <== NOT EXECUTED
4000ccc8:   f25fe0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
                return -EINVAL;                                                           
4000cccc:   fea00713            li  a4,-22                                                <== NOT EXECUTED
4000ccd0:   ca0ff06f            j   4000c170 <jffs2_scan_medium+0x2f8>                    <== NOT EXECUTED
                pr_notice("Read-only compatible feature node (0x%04x) found at offset 0x%08x\n",
4000ccd4:   40020537            lui a0,0x40020                                            <== NOT EXECUTED
4000ccd8:   000c8613            mv  a2,s9                                                 <== NOT EXECUTED
4000ccdc:   10050513            addi    a0,a0,256 # 40020100 <__func__.0+0x538>           <== NOT EXECUTED
4000cce0:   f0dfe0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
                c->flags |= JFFS2_SB_FLAG_RO;                                             
4000cce4:   00cd2703            lw  a4,12(s10)                                            <== NOT EXECUTED
                if (!(jffs2_is_readonly(c)))                                              
4000cce8:   0ecd4683            lbu a3,236(s10)                                           <== NOT EXECUTED
                c->flags |= JFFS2_SB_FLAG_RO;                                             
4000ccec:   00176713            ori a4,a4,1                                               <== NOT EXECUTED
4000ccf0:   00ed2623            sw  a4,12(s10)                                            <== NOT EXECUTED
                if (!(jffs2_is_readonly(c)))                                              
4000ccf4:   06068863            beqz    a3,4000cd64 <jffs2_scan_medium+0xeec>             <== NOT EXECUTED
                if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)))))
4000ccf8:   005a4683            lbu a3,5(s4)                                              <== NOT EXECUTED
4000ccfc:   004a4583            lbu a1,4(s4)                                              <== NOT EXECUTED
4000cd00:   006a4703            lbu a4,6(s4)                                              <== NOT EXECUTED
4000cd04:   007a4603            lbu a2,7(s4)                                              <== NOT EXECUTED
4000cd08:   00869693            slli    a3,a3,0x8                                         <== NOT EXECUTED
4000cd0c:   00b6e6b3            or  a3,a3,a1                                              <== NOT EXECUTED
4000cd10:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
4000cd14:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000cd18:   01861613            slli    a2,a2,0x18                                        <== NOT EXECUTED
4000cd1c:   00e66633            or  a2,a2,a4                                              <== NOT EXECUTED
4000cd20:   9adff06f            j   4000c6cc <jffs2_scan_medium+0x854>                    <== NOT EXECUTED
        ic = jffs2_scan_make_ino_cache(c, ino);                                           
4000cd24:   00078593            mv  a1,a5                                                 <== NOT EXECUTED
4000cd28:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cd2c:   890ff0ef            jal ra,4000bdbc <jffs2_scan_make_ino_cache>               <== NOT EXECUTED
4000cd30:   00050713            mv  a4,a0                                                 <== NOT EXECUTED
        if (!ic)                                                                          
4000cd34:   e60512e3            bnez    a0,4000cb98 <jffs2_scan_medium+0xd20>             <== NOT EXECUTED
            return -ENOMEM;                                                               
4000cd38:   ff400713            li  a4,-12                                                <== NOT EXECUTED
4000cd3c:   c34ff06f            j   4000c170 <jffs2_scan_medium+0x2f8>                    <== NOT EXECUTED
                jffs2_link_node_ref(c, jeb, ofs | REF_NORMAL, c->cleanmarker_size, NULL); 
4000cd40:   00000713            li  a4,0                                                  <== NOT EXECUTED
4000cd44:   003ce613            ori a2,s9,3                                               <== NOT EXECUTED
4000cd48:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000cd4c:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cd50:   819f80ef            jal ra,40005568 <jffs2_link_node_ref>                     <== NOT EXECUTED
                ofs += PAD(c->cleanmarker_size);                                          
4000cd54:   014d2683            lw  a3,20(s10)                                            <== NOT EXECUTED
    while(ofs < jeb->offset + c->sector_size) {                                           
4000cd58:   034d2703            lw  a4,52(s10)                                            <== NOT EXECUTED
4000cd5c:   00cc2783            lw  a5,12(s8)                                             <== NOT EXECUTED
4000cd60:   9b9ff06f            j   4000c718 <jffs2_scan_medium+0x8a0>                    <== NOT EXECUTED
                    return -EROFS;                                                        
4000cd64:   fe200713            li  a4,-30                                                <== NOT EXECUTED
        if (ret < 0)                                                                      
4000cd68:   c08ff06f            j   4000c170 <jffs2_scan_medium+0x2f8>                    <== NOT EXECUTED
            return -ENOMEM;                                                               
4000cd6c:   ff400713            li  a4,-12                                                <== NOT EXECUTED
4000cd70:   c10ff06f            j   4000c180 <jffs2_scan_medium+0x308>                    <== NOT EXECUTED
            return err;                                                                   
        return 0;                                                                         
    }                                                                                     
    ic = jffs2_scan_make_ino_cache(c, je32_to_cpu(rd->pino));                             
4000cd74:   01012c23            sw  a6,24(sp)                                             <== NOT EXECUTED
4000cd78:   01f12a23            sw  t6,20(sp)                                             <== NOT EXECUTED
4000cd7c:   01112823            sw  a7,16(sp)                                             <== NOT EXECUTED
4000cd80:   00da4683            lbu a3,13(s4)                                             <== NOT EXECUTED
4000cd84:   00ca4603            lbu a2,12(s4)                                             <== NOT EXECUTED
4000cd88:   00ea4703            lbu a4,14(s4)                                             <== NOT EXECUTED
4000cd8c:   00fa4583            lbu a1,15(s4)                                             <== NOT EXECUTED
4000cd90:   00869693            slli    a3,a3,0x8                                         <== NOT EXECUTED
4000cd94:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000cd98:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
4000cd9c:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000cda0:   01859593            slli    a1,a1,0x18                                        <== NOT EXECUTED
4000cda4:   00e5e5b3            or  a1,a1,a4                                              <== NOT EXECUTED
4000cda8:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cdac:   810ff0ef            jal ra,4000bdbc <jffs2_scan_make_ino_cache>               <== NOT EXECUTED
    if (!ic) {                                                                            
4000cdb0:   01012883            lw  a7,16(sp)                                             <== NOT EXECUTED
4000cdb4:   01412f83            lw  t6,20(sp)                                             <== NOT EXECUTED
4000cdb8:   01812803            lw  a6,24(sp)                                             <== NOT EXECUTED
    ic = jffs2_scan_make_ino_cache(c, je32_to_cpu(rd->pino));                             
4000cdbc:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
    if (!ic) {                                                                            
4000cdc0:   16050263            beqz    a0,4000cf24 <jffs2_scan_medium+0x10ac>            <== NOT EXECUTED
        jffs2_free_full_dirent(fd);                                                       
        return -ENOMEM;                                                                   
    }                                                                                     
                                                                                          
    fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd),                    
4000cdc4:   01012e23            sw  a6,28(sp)                                             <== NOT EXECUTED
4000cdc8:   01112a23            sw  a7,20(sp)                                             <== NOT EXECUTED
4000cdcc:   01f12c23            sw  t6,24(sp)                                             <== NOT EXECUTED
4000cdd0:   015a4503            lbu a0,21(s4)                                             <== NOT EXECUTED
4000cdd4:   014a4383            lbu t2,20(s4)                                             <== NOT EXECUTED
                      PAD(je32_to_cpu(rd->totlen)), ic);                                  
4000cdd8:   005a4603            lbu a2,5(s4)                                              <== NOT EXECUTED
    fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd),                    
4000cddc:   016a4583            lbu a1,22(s4)                                             <== NOT EXECUTED
4000cde0:   017a4683            lbu a3,23(s4)                                             <== NOT EXECUTED
                      PAD(je32_to_cpu(rd->totlen)), ic);                                  
4000cde4:   004a4283            lbu t0,4(s4)                                              <== NOT EXECUTED
4000cde8:   006a4703            lbu a4,6(s4)                                              <== NOT EXECUTED
4000cdec:   007a4083            lbu ra,7(s4)                                              <== NOT EXECUTED
    fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd),                    
4000cdf0:   00851513            slli    a0,a0,0x8                                         <== NOT EXECUTED
4000cdf4:   00756533            or  a0,a0,t2                                              <== NOT EXECUTED
4000cdf8:   01059593            slli    a1,a1,0x10                                        <== NOT EXECUTED
                      PAD(je32_to_cpu(rd->totlen)), ic);                                  
4000cdfc:   00861393            slli    t2,a2,0x8                                         <== NOT EXECUTED
    fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd),                    
4000ce00:   00a5e5b3            or  a1,a1,a0                                              <== NOT EXECUTED
4000ce04:   01869693            slli    a3,a3,0x18                                        <== NOT EXECUTED
                      PAD(je32_to_cpu(rd->totlen)), ic);                                  
4000ce08:   0053e2b3            or  t0,t2,t0                                              <== NOT EXECUTED
4000ce0c:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
    fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd),                    
4000ce10:   00b6e633            or  a2,a3,a1                                              <== NOT EXECUTED
                      PAD(je32_to_cpu(rd->totlen)), ic);                                  
4000ce14:   00576733            or  a4,a4,t0                                              <== NOT EXECUTED
4000ce18:   01809693            slli    a3,ra,0x18                                        <== NOT EXECUTED
4000ce1c:   00e6e6b3            or  a3,a3,a4                                              <== NOT EXECUTED
    fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd),                    
4000ce20:   00163613            seqz    a2,a2                                             <== NOT EXECUTED
4000ce24:   00260613            addi    a2,a2,2                                           <== NOT EXECUTED
                      PAD(je32_to_cpu(rd->totlen)), ic);                                  
4000ce28:   00368693            addi    a3,a3,3 # ffffc003 <RamEnd+0xbeffc003>            <== NOT EXECUTED
    fd->raw = jffs2_link_node_ref(c, jeb, ofs | dirent_node_state(rd),                    
4000ce2c:   00078713            mv  a4,a5                                                 <== NOT EXECUTED
4000ce30:   ffc6f693            andi    a3,a3,-4                                          <== NOT EXECUTED
4000ce34:   00cce633            or  a2,s9,a2                                              <== NOT EXECUTED
4000ce38:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
4000ce3c:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000ce40:   00f12823            sw  a5,16(sp)                                             <== NOT EXECUTED
4000ce44:   f24f80ef            jal ra,40005568 <jffs2_link_node_ref>                     <== NOT EXECUTED
4000ce48:   01412883            lw  a7,20(sp)                                             <== NOT EXECUTED
    while (len--) {                                                                       
4000ce4c:   01c12803            lw  a6,28(sp)                                             <== NOT EXECUTED
4000ce50:   01012783            lw  a5,16(sp)                                             <== NOT EXECUTED
4000ce54:   00a8a023            sw  a0,0(a7)                                              <== NOT EXECUTED
                                                                                          
    fd->next = NULL;                                                                      
4000ce58:   0008a223            sw  zero,4(a7)                                            <== NOT EXECUTED
    fd->version = je32_to_cpu(rd->version);                                               
4000ce5c:   011a4603            lbu a2,17(s4)                                             <== NOT EXECUTED
4000ce60:   010a4583            lbu a1,16(s4)                                             <== NOT EXECUTED
4000ce64:   012a4683            lbu a3,18(s4)                                             <== NOT EXECUTED
4000ce68:   013a4703            lbu a4,19(s4)                                             <== NOT EXECUTED
4000ce6c:   00861613            slli    a2,a2,0x8                                         <== NOT EXECUTED
4000ce70:   00b66633            or  a2,a2,a1                                              <== NOT EXECUTED
4000ce74:   01069693            slli    a3,a3,0x10                                        <== NOT EXECUTED
4000ce78:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000ce7c:   01871713            slli    a4,a4,0x18                                        <== NOT EXECUTED
4000ce80:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000ce84:   00e8a423            sw  a4,8(a7)                                              <== NOT EXECUTED
    fd->ino = je32_to_cpu(rd->ino);                                                       
4000ce88:   015a4603            lbu a2,21(s4)                                             <== NOT EXECUTED
4000ce8c:   014a4583            lbu a1,20(s4)                                             <== NOT EXECUTED
4000ce90:   016a4683            lbu a3,22(s4)                                             <== NOT EXECUTED
4000ce94:   017a4703            lbu a4,23(s4)                                             <== NOT EXECUTED
4000ce98:   00861613            slli    a2,a2,0x8                                         <== NOT EXECUTED
4000ce9c:   00b66633            or  a2,a2,a1                                              <== NOT EXECUTED
4000cea0:   01069693            slli    a3,a3,0x10                                        <== NOT EXECUTED
4000cea4:   00c6e6b3            or  a3,a3,a2                                              <== NOT EXECUTED
4000cea8:   01871713            slli    a4,a4,0x18                                        <== NOT EXECUTED
4000ceac:   00d76733            or  a4,a4,a3                                              <== NOT EXECUTED
4000ceb0:   00e8a623            sw  a4,12(a7)                                             <== NOT EXECUTED
4000ceb4:   02080863            beqz    a6,4000cee4 <jffs2_scan_medium+0x106c>            <== NOT EXECUTED
    uint32_t hash = 0;                                                                    
4000ceb8:   01812f83            lw  t6,24(sp)                                             <== NOT EXECUTED
4000cebc:   01580713            addi    a4,a6,21                                          <== NOT EXECUTED
4000cec0:   00e88733            add a4,a7,a4                                              <== NOT EXECUTED
4000cec4:   00000813            li  a6,0                                                  <== NOT EXECUTED
        hash ^= *(name++);                                                                
4000cec8:   000fc683            lbu a3,0(t6)                                              <== NOT EXECUTED
        hash = (hash << 4) | (hash >> 28);                                                
4000cecc:   00481613            slli    a2,a6,0x4                                         <== NOT EXECUTED
4000ced0:   01c85813            srli    a6,a6,0x1c                                        <== NOT EXECUTED
4000ced4:   00c86833            or  a6,a6,a2                                              <== NOT EXECUTED
        hash ^= *(name++);                                                                
4000ced8:   001f8f93            addi    t6,t6,1                                           <== NOT EXECUTED
4000cedc:   0106c833            xor a6,a3,a6                                              <== NOT EXECUTED
    while (len--) {                                                                       
4000cee0:   feef94e3            bne t6,a4,4000cec8 <jffs2_scan_medium+0x1050>             <== NOT EXECUTED
    fd->nhash = full_name_hash(NULL, fd->name, checkedlen);                               
4000cee4:   0108a823            sw  a6,16(a7)                                             <== NOT EXECUTED
    fd->type = rd->type;                                                                  
4000cee8:   01da4703            lbu a4,29(s4)                                             <== NOT EXECUTED
    jffs2_add_fd_to_list(c, fd, &ic->scan_dents);                                         
4000ceec:   00078613            mv  a2,a5                                                 <== NOT EXECUTED
4000cef0:   00088593            mv  a1,a7                                                 <== NOT EXECUTED
    fd->type = rd->type;                                                                  
4000cef4:   00e88a23            sb  a4,20(a7)                                             <== NOT EXECUTED
    jffs2_add_fd_to_list(c, fd, &ic->scan_dents);                                         
4000cef8:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
4000cefc:   bfdf70ef            jal ra,40004af8 <jffs2_add_fd_to_list>                    <== NOT EXECUTED
            if (err) return err;                                                          
4000cf00:   9d5ff06f            j   4000c8d4 <jffs2_scan_medium+0xa5c>                    <== NOT EXECUTED
        pr_err("Dirent at %08x has zeroes in name. Truncating to %d chars\n",             
4000cf04:   400207b7            lui a5,0x40020                                            <== NOT EXECUTED
4000cf08:   00050613            mv  a2,a0                                                 <== NOT EXECUTED
4000cf0c:   00a12a23            sw  a0,20(sp)                                             <== NOT EXECUTED
4000cf10:   000c8593            mv  a1,s9                                                 <== NOT EXECUTED
4000cf14:   fc878513            addi    a0,a5,-56 # 4001ffc8 <__func__.0+0x400>           <== NOT EXECUTED
4000cf18:   cd5fe0ef            jal ra,4000bbec <jffs2_printk>                            <== NOT EXECUTED
4000cf1c:   01412803            lw  a6,20(sp)                                             <== NOT EXECUTED
4000cf20:   b6dff06f            j   4000ca8c <jffs2_scan_medium+0xc14>                    <== NOT EXECUTED
        jffs2_free_full_dirent(fd);                                                       
4000cf24:   00088513            mv  a0,a7                                                 <== NOT EXECUTED
4000cf28:   951f70ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
        return -ENOMEM;                                                                   
4000cf2c:   ff400713            li  a4,-12                                                <== NOT EXECUTED
4000cf30:   a40ff06f            j   4000c170 <jffs2_scan_medium+0x2f8>                    <== NOT EXECUTED
                                                                                          

4000642c <jffs2_thread_should_wake>: int ret = 0; uint32_t dirty; int nr_very_dirty = 0; struct jffs2_eraseblock *jeb; if (!list_empty(&c->erase_complete_list) ||
4000642c:   0a052683            lw  a3,160(a0)                                            
40006430:   0a050713            addi    a4,a0,160                                         
{                                                                                         
40006434:   00050793            mv  a5,a0                                                 
    if (!list_empty(&c->erase_complete_list) ||                                           
40006438:   00e68663            beq a3,a4,40006444 <jffs2_thread_should_wake+0x18>        
        !list_empty(&c->erase_pending_list))                                              
        return 1;                                                                         
4000643c:   00100513            li  a0,1                                                  <== NOT EXECUTED
    jffs2_dbg(1, "%s(): nr_free_blocks %d, nr_erasing_blocks %d, dirty_size 0x%x, vdirty_blocks %d: %s\n",
          __func__, c->nr_free_blocks, c->nr_erasing_blocks,                              
          c->dirty_size, nr_very_dirty, ret ? "yes" : "no");                              
                                                                                          
    return ret;                                                                           
}                                                                                         
40006440:   00008067            ret                                                       
    if (!list_empty(&c->erase_complete_list) ||                                           
40006444:   09852683            lw  a3,152(a0)                                            
        !list_empty(&c->erase_pending_list))                                              
40006448:   09850713            addi    a4,a0,152                                         
        return 1;                                                                         
4000644c:   00100513            li  a0,1                                                  
    if (!list_empty(&c->erase_complete_list) ||                                           
40006450:   fee698e3            bne a3,a4,40006440 <jffs2_thread_should_wake+0x14>        
    if (c->unchecked_size) {                                                              
40006454:   0387a703            lw  a4,56(a5)                                             
40006458:   fe0714e3            bnez    a4,40006440 <jffs2_thread_should_wake+0x14>       <== NEVER TAKEN
    dirty = c->dirty_size + c->erasing_size - c->nr_erasing_blocks * c->sector_size;      
4000645c:   0407a683            lw  a3,64(a5)                                             
    if (c->nr_free_blocks + c->nr_erasing_blocks < c->resv_blocks_gctrigger &&            
40006460:   03c7a703            lw  a4,60(a5)                                             
40006464:   0467c603            lbu a2,70(a5)                                             
    int ret = 0;                                                                          
40006468:   00000513            li  a0,0                                                  
    if (c->nr_free_blocks + c->nr_erasing_blocks < c->resv_blocks_gctrigger &&            
4000646c:   00e68733            add a4,a3,a4                                              
40006470:   02c77263            bgeu    a4,a2,40006494 <jffs2_thread_should_wake+0x68>    
    dirty = c->dirty_size + c->erasing_size - c->nr_erasing_blocks * c->sector_size;      
40006474:   0347a503            lw  a0,52(a5)                                             <== NOT EXECUTED
40006478:   0207a703            lw  a4,32(a5)                                             <== NOT EXECUTED
4000647c:   02c7a603            lw  a2,44(a5)                                             <== NOT EXECUTED
40006480:   02a686b3            mul a3,a3,a0                                              <== NOT EXECUTED
    if (c->nr_free_blocks + c->nr_erasing_blocks < c->resv_blocks_gctrigger &&            
40006484:   04c7a503            lw  a0,76(a5)                                             <== NOT EXECUTED
    dirty = c->dirty_size + c->erasing_size - c->nr_erasing_blocks * c->sector_size;      
40006488:   00c70733            add a4,a4,a2                                              <== NOT EXECUTED
4000648c:   40d706b3            sub a3,a4,a3                                              <== NOT EXECUTED
    if (c->nr_free_blocks + c->nr_erasing_blocks < c->resv_blocks_gctrigger &&            
40006490:   00d53533            sltu    a0,a0,a3                                          <== NOT EXECUTED
    list_for_each_entry(jeb, &c->very_dirty_list, list) {                                 
40006494:   0687a703            lw  a4,104(a5)                                            
40006498:   06878693            addi    a3,a5,104                                         
4000649c:   fad702e3            beq a4,a3,40006440 <jffs2_thread_should_wake+0x14>        
        if (nr_very_dirty == c->vdirty_blocks_gctrigger) {                                
400064a0:   0497c603            lbu a2,73(a5)                                             
    int nr_very_dirty = 0;                                                                
400064a4:   00000793            li  a5,0                                                  
400064a8:   00c0006f            j   400064b4 <jffs2_thread_should_wake+0x88>              
    list_for_each_entry(jeb, &c->very_dirty_list, list) {                                 
400064ac:   00072703            lw  a4,0(a4)                                              
400064b0:   00d70a63            beq a4,a3,400064c4 <jffs2_thread_should_wake+0x98>        
        nr_very_dirty++;                                                                  
400064b4:   00178793            addi    a5,a5,1                                           
        if (nr_very_dirty == c->vdirty_blocks_gctrigger) {                                
400064b8:   fef61ae3            bne a2,a5,400064ac <jffs2_thread_should_wake+0x80>        
        return 1;                                                                         
400064bc:   00100513            li  a0,1                                                  <== NOT EXECUTED
400064c0:   f81ff06f            j   40006440 <jffs2_thread_should_wake+0x14>              <== NOT EXECUTED
400064c4:   00008067            ret                                                       
                                                                                          

40004bf8 <jffs2_truncate_fragtree>: struct jffs2_node_frag *prev = NULL; struct jffs2_node_frag *frag = NULL; dbg_fragtree2("root %p, offset %d\n", fragtree, offset); next = fragtree->rb_node;
40004bf8:   0005a783            lw  a5,0(a1)                                              
{                                                                                         
40004bfc:   fe010113            addi    sp,sp,-32                                         
40004c00:   00812c23            sw  s0,24(sp)                                             
40004c04:   01212823            sw  s2,16(sp)                                             
40004c08:   01312623            sw  s3,12(sp)                                             
40004c0c:   01412423            sw  s4,8(sp)                                              
40004c10:   00112e23            sw  ra,28(sp)                                             
40004c14:   00912a23            sw  s1,20(sp)                                             
40004c18:   00058993            mv  s3,a1                                                 
40004c1c:   00060913            mv  s2,a2                                                 
                                                                                          
    while(next) {                                                                         
40004c20:   00050a13            mv  s4,a0                                                 
40004c24:   00000413            li  s0,0                                                  
40004c28:   08078863            beqz    a5,40004cb8 <jffs2_truncate_fragtree+0xc0>        
        frag = rb_entry(next, struct jffs2_node_frag, rb);                                
                                                                                          
        if (frag->ofs + frag->size <= offset) {                                           
40004c2c:   0187a703            lw  a4,24(a5)                                             
40004c30:   0147a683            lw  a3,20(a5)                                             
40004c34:   00d706b3            add a3,a4,a3                                              
40004c38:   0ad96463            bltu    s2,a3,40004ce0 <jffs2_truncate_fragtree+0xe8>     
            /* Remember the closest smaller match on the way down */                      
            if (!prev || frag->ofs > prev->ofs)                                           
40004c3c:   00040663            beqz    s0,40004c48 <jffs2_truncate_fragtree+0x50>        
40004c40:   01842683            lw  a3,24(s0)                                             
40004c44:   00e6f463            bgeu    a3,a4,40004c4c <jffs2_truncate_fragtree+0x54>     
40004c48:   00078413            mv  s0,a5                                                 
                prev = frag;                                                              
            next = frag->rb.rb_right;                                                     
40004c4c:   0047a783            lw  a5,4(a5)                                              
    while(next) {                                                                         
40004c50:   fc079ee3            bnez    a5,40004c2c <jffs2_truncate_fragtree+0x34>        
    if (frag && frag->ofs != size) {                                                      
40004c54:   06040263            beqz    s0,40004cb8 <jffs2_truncate_fragtree+0xc0>        <== NEVER TAKEN
40004c58:   01842703            lw  a4,24(s0)                                             
40004c5c:   05270a63            beq a4,s2,40004cb0 <jffs2_truncate_fragtree+0xb8>         
        if (frag->ofs+frag->size > size) {                                                
40004c60:   01442783            lw  a5,20(s0)                                             
40004c64:   00f707b3            add a5,a4,a5                                              
40004c68:   10f96463            bltu    s2,a5,40004d70 <jffs2_truncate_fragtree+0x178>    
  return _RBTree_Successor( node );                                                       
40004c6c:   00040513            mv  a0,s0                                                 
40004c70:   1b10f0ef            jal ra,40014620 <_RBTree_Successor>                       
40004c74:   00050413            mv  s0,a0                                                 
    while (frag && frag->ofs >= size) {                                                   
40004c78:   04050063            beqz    a0,40004cb8 <jffs2_truncate_fragtree+0xc0>        <== ALWAYS TAKEN
40004c7c:   01852703            lw  a4,24(a0)                                             <== NOT EXECUTED
40004c80:   0300006f            j   40004cb0 <jffs2_truncate_fragtree+0xb8>               <== NOT EXECUTED
40004c84:   19d0f0ef            jal ra,40014620 <_RBTree_Successor>                       
40004c88:   00050493            mv  s1,a0                                                 
  _RBTree_Extract( (RBTree_Control *) root, node );                                       
40004c8c:   00040593            mv  a1,s0                                                 
40004c90:   00098513            mv  a0,s3                                                 
40004c94:   34c0f0ef            jal ra,40013fe0 <_RBTree_Extract>                         
        jffs2_obsolete_node_frag(c, frag);                                                
40004c98:   00040593            mv  a1,s0                                                 
40004c9c:   000a0513            mv  a0,s4                                                 
40004ca0:   d0dff0ef            jal ra,400049ac <jffs2_obsolete_node_frag>                
    while (frag && frag->ofs >= size) {                                                   
40004ca4:   00048a63            beqz    s1,40004cb8 <jffs2_truncate_fragtree+0xc0>        
40004ca8:   0184a703            lw  a4,24(s1)                                             
40004cac:   00048413            mv  s0,s1                                                 
  return _RBTree_Successor( node );                                                       
40004cb0:   00040513            mv  a0,s0                                                 
40004cb4:   fd2778e3            bgeu    a4,s2,40004c84 <jffs2_truncate_fragtree+0x8c>     
    if (size == 0)                                                                        
40004cb8:   02091c63            bnez    s2,40004cf0 <jffs2_truncate_fragtree+0xf8>        
        return 0;                                                                         
40004cbc:   00000513            li  a0,0                                                  
}                                                                                         
40004cc0:   01c12083            lw  ra,28(sp)                                             
40004cc4:   01812403            lw  s0,24(sp)                                             
40004cc8:   01412483            lw  s1,20(sp)                                             
40004ccc:   01012903            lw  s2,16(sp)                                             
40004cd0:   00c12983            lw  s3,12(sp)                                             
40004cd4:   00812a03            lw  s4,8(sp)                                              
40004cd8:   02010113            addi    sp,sp,32                                          
40004cdc:   00008067            ret                                                       
        } else if (frag->ofs > offset) {                                                  
40004ce0:   06e97c63            bgeu    s2,a4,40004d58 <jffs2_truncate_fragtree+0x160>    
            next = frag->rb.rb_left;                                                      
40004ce4:   0007a783            lw  a5,0(a5)                                              
    while(next) {                                                                         
40004ce8:   f40792e3            bnez    a5,40004c2c <jffs2_truncate_fragtree+0x34>        <== ALWAYS TAKEN
40004cec:   f69ff06f            j   40004c54 <jffs2_truncate_fragtree+0x5c>               <== NOT EXECUTED
  return _RBTree_Maximum( (RBTree_Control *) root );                                      
40004cf0:   00098513            mv  a0,s3                                                 
40004cf4:   10d0f0ef            jal ra,40014600 <_RBTree_Maximum>                         
40004cf8:   00050713            mv  a4,a0                                                 
40004cfc:   fc0500e3            beqz    a0,40004cbc <jffs2_truncate_fragtree+0xc4>        <== NEVER TAKEN
    if (frag->ofs + frag->size < size)                                                    
40004d00:   01852683            lw  a3,24(a0)                                             
40004d04:   01452783            lw  a5,20(a0)                                             
40004d08:   00f68533            add a0,a3,a5                                              
40004d0c:   fb256ae3            bltu    a0,s2,40004cc0 <jffs2_truncate_fragtree+0xc8>     
    if (frag->node && (frag->ofs & (PAGE_SIZE - 1)) == 0) {                               
40004d10:   01072783            lw  a5,16(a4)                                             
40004d14:   00090513            mv  a0,s2                                                 
40004d18:   fa0784e3            beqz    a5,40004cc0 <jffs2_truncate_fragtree+0xc8>        <== NEVER TAKEN
40004d1c:   01469693            slli    a3,a3,0x14                                        
40004d20:   fa0690e3            bnez    a3,40004cc0 <jffs2_truncate_fragtree+0xc8>        
        frag->node->raw->flash_offset = ref_offset(frag->node->raw) | REF_PRISTINE;       
40004d24:   0007a703            lw  a4,0(a5)                                              
}                                                                                         
40004d28:   01c12083            lw  ra,28(sp)                                             
40004d2c:   01812403            lw  s0,24(sp)                                             
        frag->node->raw->flash_offset = ref_offset(frag->node->raw) | REF_PRISTINE;       
40004d30:   00472783            lw  a5,4(a4)                                              
}                                                                                         
40004d34:   01412483            lw  s1,20(sp)                                             
40004d38:   01012903            lw  s2,16(sp)                                             
        frag->node->raw->flash_offset = ref_offset(frag->node->raw) | REF_PRISTINE;       
40004d3c:   ffc7f793            andi    a5,a5,-4                                          
40004d40:   0027e793            ori a5,a5,2                                               
40004d44:   00f72223            sw  a5,4(a4)                                              
}                                                                                         
40004d48:   00c12983            lw  s3,12(sp)                                             
40004d4c:   00812a03            lw  s4,8(sp)                                              
40004d50:   02010113            addi    sp,sp,32                                          
40004d54:   00008067            ret                                                       
    if (frag && frag->ofs != size) {                                                      
40004d58:   00078413            mv  s0,a5                                                 
40004d5c:   f4e90ae3            beq s2,a4,40004cb0 <jffs2_truncate_fragtree+0xb8>         
            frag->size = size - frag->ofs;                                                
40004d60:   40e90733            sub a4,s2,a4                                              
40004d64:   00e7aa23            sw  a4,20(a5)                                             
40004d68:   00078413            mv  s0,a5                                                 
40004d6c:   f01ff06f            j   40004c6c <jffs2_truncate_fragtree+0x74>               
40004d70:   00040793            mv  a5,s0                                                 <== NOT EXECUTED
40004d74:   fedff06f            j   40004d60 <jffs2_truncate_fragtree+0x168>              <== NOT EXECUTED
                                                                                          

4000aa74 <jffs2_unlink>: /***********************************************************************/ int jffs2_unlink(struct _inode *dir_i, struct _inode *d_inode, const unsigned char *d_name, size_t d_namelen) {
4000aa74:   fe010113            addi    sp,sp,-32                                         <== NOT EXECUTED
4000aa78:   01412423            sw  s4,8(sp)                                              <== NOT EXECUTED
    struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb);                                 
4000aa7c:   04052a03            lw  s4,64(a0)                                             <== NOT EXECUTED
{                                                                                         
4000aa80:   00912a23            sw  s1,20(sp)                                             <== NOT EXECUTED
4000aa84:   00050493            mv  s1,a0                                                 <== NOT EXECUTED
    struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i);                             
    struct jffs2_inode_info *dead_f = JFFS2_INODE_INFO(d_inode);                          
    int ret;                                                                              
                                                                                          
    ret = jffs2_do_unlink(c, dir_f, (const char *)d_name,                                 
                   d_namelen, dead_f, get_seconds());                                     
4000aa88:   00000513            li  a0,0                                                  <== NOT EXECUTED
{                                                                                         
4000aa8c:   00112e23            sw  ra,28(sp)                                             <== NOT EXECUTED
4000aa90:   00812c23            sw  s0,24(sp)                                             <== NOT EXECUTED
4000aa94:   01212823            sw  s2,16(sp)                                             <== NOT EXECUTED
4000aa98:   00058413            mv  s0,a1                                                 <== NOT EXECUTED
4000aa9c:   01312623            sw  s3,12(sp)                                             <== NOT EXECUTED
4000aaa0:   00060913            mv  s2,a2                                                 <== NOT EXECUTED
4000aaa4:   00068993            mv  s3,a3                                                 <== NOT EXECUTED
                   d_namelen, dead_f, get_seconds());                                     
4000aaa8:   511110ef            jal ra,4001c7b8 <time>                                    <== NOT EXECUTED
4000aaac:   00050793            mv  a5,a0                                                 <== NOT EXECUTED
    ret = jffs2_do_unlink(c, dir_f, (const char *)d_name,                                 
4000aab0:   04840713            addi    a4,s0,72                                          <== NOT EXECUTED
4000aab4:   00098693            mv  a3,s3                                                 <== NOT EXECUTED
4000aab8:   00090613            mv  a2,s2                                                 <== NOT EXECUTED
4000aabc:   04848593            addi    a1,s1,72                                          <== NOT EXECUTED
4000aac0:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
4000aac4:   ee5fe0ef            jal ra,400099a8 <jffs2_do_unlink>                         <== NOT EXECUTED
    if (dead_f->inocache)                                                                 
4000aac8:   05c42783            lw  a5,92(s0)                                             <== NOT EXECUTED
4000aacc:   00078663            beqz    a5,4000aad8 <jffs2_unlink+0x64>                   <== NOT EXECUTED
        d_inode->i_nlink = dead_f->inocache->pino_nlink;                                  
4000aad0:   0147a783            lw  a5,20(a5)                                             <== NOT EXECUTED
4000aad4:   00f41623            sh  a5,12(s0)                                             <== NOT EXECUTED
    return ret;                                                                           
}                                                                                         
4000aad8:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
4000aadc:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
4000aae0:   01412483            lw  s1,20(sp)                                             <== NOT EXECUTED
4000aae4:   01012903            lw  s2,16(sp)                                             <== NOT EXECUTED
4000aae8:   00c12983            lw  s3,12(sp)                                             <== NOT EXECUTED
4000aaec:   00812a03            lw  s4,8(sp)                                              <== NOT EXECUTED
4000aaf0:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
4000aaf4:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

40008e0c <jffs2_write_dirent>: struct jffs2_full_dirent *jffs2_write_dirent(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_raw_dirent *rd, const unsigned char *name, uint32_t namelen, int alloc_mode) {
40008e0c:   f9010113            addi    sp,sp,-112                                        
40008e10:   07212023            sw  s2,96(sp)                                             
40008e14:   05412c23            sw  s4,88(sp)                                             
40008e18:   00050913            mv  s2,a0                                                 
40008e1c:   00058a13            mv  s4,a1                                                 
    D1(if(je32_to_cpu(rd->hdr_crc) != crc32(0, rd, sizeof(struct jffs2_unknown_node)-4)) {
        pr_crit("Eep. CRC not correct in jffs2_write_dirent()\n");                        
        BUG();                                                                            
       });                                                                                
                                                                                          
    if (strnlen(name, namelen) != namelen) {                                              
40008e20:   00068513            mv  a0,a3                                                 
40008e24:   00070593            mv  a1,a4                                                 
{                                                                                         
40008e28:   06812423            sw  s0,104(sp)                                            
40008e2c:   06912223            sw  s1,100(sp)                                            
40008e30:   05312e23            sw  s3,92(sp)                                             
40008e34:   05512a23            sw  s5,84(sp)                                             
40008e38:   06112623            sw  ra,108(sp)                                            
40008e3c:   05612823            sw  s6,80(sp)                                             
40008e40:   05712623            sw  s7,76(sp)                                             
40008e44:   05812423            sw  s8,72(sp)                                             
40008e48:   05912223            sw  s9,68(sp)                                             
40008e4c:   05a12023            sw  s10,64(sp)                                            
40008e50:   03b12e23            sw  s11,60(sp)                                            
40008e54:   00070493            mv  s1,a4                                                 
40008e58:   00068a93            mv  s5,a3                                                 
40008e5c:   00060413            mv  s0,a2                                                 
40008e60:   00078993            mv  s3,a5                                                 
    if (strnlen(name, namelen) != namelen) {                                              
40008e64:   11d130ef            jal ra,4001c780 <strnlen>                                 
40008e68:   0e950063            beq a0,s1,40008f48 <jffs2_write_dirent+0x13c>             
        /* This should never happen, but seems to have done on at least one               
           occasion: https://dev.laptop.org/ticket/4184 */                                
        pr_crit("Error in jffs2_write_dirent() -- name contains zero bytes!\n");          
40008e6c:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
40008e70:   0a050513            addi    a0,a0,160 # 4001f0a0 <__func__.9+0xe8>            <== NOT EXECUTED
40008e74:   989ff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
        pr_crit("Directory inode #%u, name at *0x%p \"%s\"->ino #%u, name_crc 0x%08x\n",  
40008e78:   02544503            lbu a0,37(s0)                                             <== NOT EXECUTED
40008e7c:   01544603            lbu a2,21(s0)                                             <== NOT EXECUTED
40008e80:   00d44683            lbu a3,13(s0)                                             <== NOT EXECUTED
40008e84:   02444f03            lbu t5,36(s0)                                             <== NOT EXECUTED
40008e88:   02644783            lbu a5,38(s0)                                             <== NOT EXECUTED
40008e8c:   01444e83            lbu t4,20(s0)                                             <== NOT EXECUTED
40008e90:   01644703            lbu a4,22(s0)                                             <== NOT EXECUTED
40008e94:   00c44e03            lbu t3,12(s0)                                             <== NOT EXECUTED
40008e98:   00e44583            lbu a1,14(s0)                                             <== NOT EXECUTED
40008e9c:   02744303            lbu t1,39(s0)                                             <== NOT EXECUTED
40008ea0:   01744883            lbu a7,23(s0)                                             <== NOT EXECUTED
40008ea4:   00f44803            lbu a6,15(s0)                                             <== NOT EXECUTED
40008ea8:   00851513            slli    a0,a0,0x8                                         <== NOT EXECUTED
40008eac:   00861613            slli    a2,a2,0x8                                         <== NOT EXECUTED
40008eb0:   00869693            slli    a3,a3,0x8                                         <== NOT EXECUTED
40008eb4:   01e56533            or  a0,a0,t5                                              <== NOT EXECUTED
40008eb8:   01d66633            or  a2,a2,t4                                              <== NOT EXECUTED
40008ebc:   01c6e6b3            or  a3,a3,t3                                              <== NOT EXECUTED
40008ec0:   01079793            slli    a5,a5,0x10                                        <== NOT EXECUTED
40008ec4:   01071713            slli    a4,a4,0x10                                        <== NOT EXECUTED
40008ec8:   01059593            slli    a1,a1,0x10                                        <== NOT EXECUTED
40008ecc:   00a7e7b3            or  a5,a5,a0                                              <== NOT EXECUTED
40008ed0:   01831313            slli    t1,t1,0x18                                        <== NOT EXECUTED
40008ed4:   00c76733            or  a4,a4,a2                                              <== NOT EXECUTED
40008ed8:   01889893            slli    a7,a7,0x18                                        <== NOT EXECUTED
40008edc:   00d5e5b3            or  a1,a1,a3                                              <== NOT EXECUTED
40008ee0:   01881813            slli    a6,a6,0x18                                        <== NOT EXECUTED
40008ee4:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
40008ee8:   00f367b3            or  a5,t1,a5                                              <== NOT EXECUTED
40008eec:   00e8e733            or  a4,a7,a4                                              <== NOT EXECUTED
40008ef0:   000a8693            mv  a3,s5                                                 <== NOT EXECUTED
40008ef4:   000a8613            mv  a2,s5                                                 <== NOT EXECUTED
40008ef8:   00b865b3            or  a1,a6,a1                                              <== NOT EXECUTED
40008efc:   0e850513            addi    a0,a0,232 # 4001f0e8 <__func__.9+0x130>           <== NOT EXECUTED
40008f00:   8fdff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
            je32_to_cpu(rd->pino), name, name, je32_to_cpu(rd->ino),                      
            je32_to_cpu(rd->name_crc));                                                   
        WARN_ON(1);                                                                       
        return ERR_PTR(-EIO);                                                             
40008f04:   ffb00d13            li  s10,-5                                                <== NOT EXECUTED
    if (retried) {                                                                        
        jffs2_dbg_acct_sanity_check(c,NULL);                                              
    }                                                                                     
                                                                                          
    return fd;                                                                            
}                                                                                         
40008f08:   06c12083            lw  ra,108(sp)                                            
40008f0c:   06812403            lw  s0,104(sp)                                            
40008f10:   06412483            lw  s1,100(sp)                                            
40008f14:   06012903            lw  s2,96(sp)                                             
40008f18:   05c12983            lw  s3,92(sp)                                             
40008f1c:   05812a03            lw  s4,88(sp)                                             
40008f20:   05412a83            lw  s5,84(sp)                                             
40008f24:   05012b03            lw  s6,80(sp)                                             
40008f28:   04c12b83            lw  s7,76(sp)                                             
40008f2c:   04812c03            lw  s8,72(sp)                                             
40008f30:   04412c83            lw  s9,68(sp)                                             
40008f34:   03c12d83            lw  s11,60(sp)                                            
40008f38:   000d0513            mv  a0,s10                                                
40008f3c:   04012d03            lw  s10,64(sp)                                            
40008f40:   07010113            addi    sp,sp,112                                         
40008f44:   00008067            ret                                                       
    vecs[0].iov_len = sizeof(*rd);                                                        
40008f48:   02800793            li  a5,40                                                 
    fd = jffs2_alloc_full_dirent(namelen+1);                                              
40008f4c:   00148513            addi    a0,s1,1                                           
    vecs[0].iov_base = rd;                                                                
40008f50:   02812023            sw  s0,32(sp)                                             
    vecs[0].iov_len = sizeof(*rd);                                                        
40008f54:   02f12223            sw  a5,36(sp)                                             
    vecs[1].iov_base = (unsigned char *)name;                                             
40008f58:   03512423            sw  s5,40(sp)                                             
    vecs[1].iov_len = namelen;                                                            
40008f5c:   02912623            sw  s1,44(sp)                                             
    fd = jffs2_alloc_full_dirent(namelen+1);                                              
40008f60:   911fb0ef            jal ra,40004870 <jffs2_alloc_full_dirent>                 
40008f64:   00050d13            mv  s10,a0                                                
    if (!fd)                                                                              
40008f68:   2a050063            beqz    a0,40009208 <jffs2_write_dirent+0x3fc>            <== NEVER TAKEN
    fd->version = je32_to_cpu(rd->version);                                               
40008f6c:   01144683            lbu a3,17(s0)                                             
40008f70:   01044603            lbu a2,16(s0)                                             
40008f74:   01244703            lbu a4,18(s0)                                             
40008f78:   01344783            lbu a5,19(s0)                                             
40008f7c:   00869693            slli    a3,a3,0x8                                         
40008f80:   00c6e6b3            or  a3,a3,a2                                              
40008f84:   01071713            slli    a4,a4,0x10                                        
40008f88:   00d76733            or  a4,a4,a3                                              
40008f8c:   01879793            slli    a5,a5,0x18                                        
40008f90:   00e7e7b3            or  a5,a5,a4                                              
40008f94:   00f52423            sw  a5,8(a0)                                              
    fd->ino = je32_to_cpu(rd->ino);                                                       
40008f98:   01544683            lbu a3,21(s0)                                             
40008f9c:   01444603            lbu a2,20(s0)                                             
40008fa0:   01644703            lbu a4,22(s0)                                             
40008fa4:   01744783            lbu a5,23(s0)                                             
40008fa8:   00869693            slli    a3,a3,0x8                                         
40008fac:   00c6e6b3            or  a3,a3,a2                                              
40008fb0:   01071713            slli    a4,a4,0x10                                        
40008fb4:   00d76733            or  a4,a4,a3                                              
40008fb8:   01879793            slli    a5,a5,0x18                                        
40008fbc:   00e7e7b3            or  a5,a5,a4                                              
40008fc0:   00f52623            sw  a5,12(a0)                                             
    while (len--) {                                                                       
40008fc4:   2c048e63            beqz    s1,400092a0 <jffs2_write_dirent+0x494>            <== NEVER TAKEN
40008fc8:   009a87b3            add a5,s5,s1                                              
40008fcc:   000a8893            mv  a7,s5                                                 
    uint32_t hash = 0;                                                                    
40008fd0:   00000813            li  a6,0                                                  
        hash ^= *(name++);                                                                
40008fd4:   0008c703            lbu a4,0(a7)                                              
        hash = (hash << 4) | (hash >> 28);                                                
40008fd8:   00481613            slli    a2,a6,0x4                                         
40008fdc:   01c85813            srli    a6,a6,0x1c                                        
40008fe0:   00c86833            or  a6,a6,a2                                              
        hash ^= *(name++);                                                                
40008fe4:   00188893            addi    a7,a7,1                                           
40008fe8:   01074833            xor a6,a4,a6                                              
    while (len--) {                                                                       
40008fec:   fef894e3            bne a7,a5,40008fd4 <jffs2_write_dirent+0x1c8>             
    fd->nhash = full_name_hash(NULL, name, namelen);                                      
40008ff0:   010d2823            sw  a6,16(s10)                                            
    fd->type = rd->type;                                                                  
40008ff4:   01d44783            lbu a5,29(s0)                                             
    memcpy(fd->name, name, namelen);                                                      
40008ff8:   000a8593            mv  a1,s5                                                 
40008ffc:   00048613            mv  a2,s1                                                 
    fd->type = rd->type;                                                                  
40009000:   00fd0a23            sb  a5,20(s10)                                            
    memcpy(fd->name, name, namelen);                                                      
40009004:   015d0513            addi    a0,s10,21                                         
40009008:   7e9120ef            jal ra,4001bff0 <memcpy>                                  
    fd->name[namelen]=0;                                                                  
4000900c:   009d07b3            add a5,s10,s1                                             
            jffs2_add_physical_node_ref(c, flash_ofs | REF_OBSOLETE, PAD(sizeof(*rd)+namelen), NULL);
40009010:   02b48a93            addi    s5,s1,43                                          
    fd->name[namelen]=0;                                                                  
40009014:   00078aa3            sb  zero,21(a5)                                           
                ret = jffs2_reserve_space_gc(c, sizeof(*rd) + namelen, &dummy,            
40009018:   01848793            addi    a5,s1,24                                          
    fd->name[namelen]=0;                                                                  
4000901c:   00200c13            li  s8,2                                                  
    int retried = 0;                                                                      
40009020:   00000893            li  a7,0                                                  
    if (ret || (retlen != sizeof(*rd) + namelen)) {                                       
40009024:   02848b93            addi    s7,s1,40                                          
        pr_notice("Write of %zd bytes at 0x%08x failed. returned %d, retlen %zd\n",       
40009028:   4001fcb7            lui s9,0x4001f                                            
            jffs2_add_physical_node_ref(c, flash_ofs | REF_OBSOLETE, PAD(sizeof(*rd)+namelen), NULL);
4000902c:   ffcafa93            andi    s5,s5,-4                                          
                ret = jffs2_reserve_space_gc(c, sizeof(*rd) + namelen, &dummy,            
40009030:   00f12423            sw  a5,8(sp)                                              
    flash_ofs = write_ofs(c);                                                             
40009034:   05892783            lw  a5,88(s2)                                             
    if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(rd->version) < f->highest_version)) {      
40009038:   00200713            li  a4,2                                                  
    flash_ofs = write_ofs(c);                                                             
4000903c:   03492803            lw  a6,52(s2)                                             
40009040:   00c7ab03            lw  s6,12(a5)                                             
40009044:   0207ad83            lw  s11,32(a5)                                            
    if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(rd->version) < f->highest_version)) {      
40009048:   0ae98e63            beq s3,a4,40009104 <jffs2_write_dirent+0x2f8>             
4000904c:   01144683            lbu a3,17(s0)                                             
40009050:   01044603            lbu a2,16(s0)                                             
40009054:   01244703            lbu a4,18(s0)                                             
40009058:   01344783            lbu a5,19(s0)                                             
4000905c:   00869693            slli    a3,a3,0x8                                         
40009060:   00c6e6b3            or  a3,a3,a2                                              
40009064:   01071713            slli    a4,a4,0x10                                        
40009068:   000a2603            lw  a2,0(s4)                                              
4000906c:   00d76733            or  a4,a4,a3                                              
40009070:   01879793            slli    a5,a5,0x18                                        
40009074:   00e7e7b3            or  a5,a5,a4                                              
40009078:   08c7f663            bgeu    a5,a2,40009104 <jffs2_write_dirent+0x2f8>         
        BUG_ON(!retried);                                                                 
4000907c:   02089263            bnez    a7,400090a0 <jffs2_write_dirent+0x294>            <== NOT EXECUTED
40009080:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40009084:   4001f637            lui a2,0x4001f                                            <== NOT EXECUTED
40009088:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
4000908c:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40009090:   1c860613            addi    a2,a2,456 # 4001f1c8 <__func__.0>                 <== NOT EXECUTED
40009094:   10500593            li  a1,261                                                <== NOT EXECUTED
40009098:   02c50513            addi    a0,a0,44 # 4001f02c <__func__.9+0x74>             <== NOT EXECUTED
4000909c:   204040ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        rd->version = cpu_to_je32(++f->highest_version);                                  
400090a0:   00160613            addi    a2,a2,1                                           <== NOT EXECUTED
400090a4:   00ca2023            sw  a2,0(s4)                                              <== NOT EXECUTED
400090a8:   00865693            srli    a3,a2,0x8                                         <== NOT EXECUTED
400090ac:   01065713            srli    a4,a2,0x10                                        <== NOT EXECUTED
400090b0:   01865793            srli    a5,a2,0x18                                        <== NOT EXECUTED
400090b4:   00c40823            sb  a2,16(s0)                                             <== NOT EXECUTED
400090b8:   00d408a3            sb  a3,17(s0)                                             <== NOT EXECUTED
400090bc:   00e40923            sb  a4,18(s0)                                             <== NOT EXECUTED
400090c0:   00f409a3            sb  a5,19(s0)                                             <== NOT EXECUTED
        fd->version = je32_to_cpu(rd->version);                                           
400090c4:   00cd2423            sw  a2,8(s10)                                             <== NOT EXECUTED
        rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));                          
400090c8:   00040593            mv  a1,s0                                                 <== NOT EXECUTED
400090cc:   02000613            li  a2,32                                                 <== NOT EXECUTED
400090d0:   00000513            li  a0,0                                                  <== NOT EXECUTED
400090d4:   01112623            sw  a7,12(sp)                                             <== NOT EXECUTED
400090d8:   01012223            sw  a6,4(sp)                                              <== NOT EXECUTED
400090dc:   3b4010ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
400090e0:   00c12883            lw  a7,12(sp)                                             <== NOT EXECUTED
400090e4:   00412803            lw  a6,4(sp)                                              <== NOT EXECUTED
400090e8:   00855613            srli    a2,a0,0x8                                         <== NOT EXECUTED
400090ec:   01055693            srli    a3,a0,0x10                                        <== NOT EXECUTED
400090f0:   01855713            srli    a4,a0,0x18                                        <== NOT EXECUTED
400090f4:   02a40023            sb  a0,32(s0)                                             <== NOT EXECUTED
400090f8:   02c400a3            sb  a2,33(s0)                                             <== NOT EXECUTED
400090fc:   02d40123            sb  a3,34(s0)                                             <== NOT EXECUTED
40009100:   02e401a3            sb  a4,35(s0)                                             <== NOT EXECUTED
    flash_ofs = write_ofs(c);                                                             
40009104:   010b0833            add a6,s6,a6                                              
40009108:   41b80db3            sub s11,a6,s11                                            
    ret = jffs2_flash_writev(c, vecs, 2, flash_ofs, &retlen,                              
4000910c:   00000713            li  a4,0                                                  
40009110:   01810793            addi    a5,sp,24                                          
40009114:   000d8693            mv  a3,s11                                                
40009118:   00200613            li  a2,2                                                  
4000911c:   02010593            addi    a1,sp,32                                          
40009120:   00090513            mv  a0,s2                                                 
40009124:   01112223            sw  a7,4(sp)                                              
40009128:   081020ef            jal ra,4000b9a8 <jffs2_flash_direct_writev>               
    if (ret || (retlen != sizeof(*rd) + namelen)) {                                       
4000912c:   00412883            lw  a7,4(sp)                                              
40009130:   01812703            lw  a4,24(sp)                                             
    ret = jffs2_flash_writev(c, vecs, 2, flash_ofs, &retlen,                              
40009134:   00050b13            mv  s6,a0                                                 
    if (ret || (retlen != sizeof(*rd) + namelen)) {                                       
40009138:   00051463            bnez    a0,40009140 <jffs2_write_dirent+0x334>            <== NEVER TAKEN
4000913c:   0d770a63            beq a4,s7,40009210 <jffs2_write_dirent+0x404>             
        pr_notice("Write of %zd bytes at 0x%08x failed. returned %d, retlen %zd\n",       
40009140:   000b0693            mv  a3,s6                                                 <== NOT EXECUTED
40009144:   000d8613            mv  a2,s11                                                <== NOT EXECUTED
40009148:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
4000914c:   058c8513            addi    a0,s9,88 # 4001f058 <__func__.9+0xa0>             <== NOT EXECUTED
40009150:   eacff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
        if (retlen) {                                                                     
40009154:   01812783            lw  a5,24(sp)                                             <== NOT EXECUTED
40009158:   08079063            bnez    a5,400091d8 <jffs2_write_dirent+0x3cc>            <== NOT EXECUTED
            pr_notice("Not marking the space at 0x%08x as dirty because the flash driver returned retlen zero\n",
4000915c:   4001d7b7            lui a5,0x4001d                                            <== NOT EXECUTED
40009160:   48478513            addi    a0,a5,1156 # 4001d484 <rtems_jffs2_ops+0x2fc>     <== NOT EXECUTED
40009164:   000d8593            mv  a1,s11                                                <== NOT EXECUTED
40009168:   e94ff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
        if (!retried) {                                                                   
4000916c:   00100793            li  a5,1                                                  <== NOT EXECUTED
40009170:   08fc0263            beq s8,a5,400091f4 <jffs2_write_dirent+0x3e8>             <== NOT EXECUTED
            struct jffs2_eraseblock *jeb = &c->blocks[flash_ofs / c->sector_size];        
40009174:   03492783            lw  a5,52(s2)                                             <== NOT EXECUTED
40009178:   05492c03            lw  s8,84(s2)                                             <== NOT EXECUTED
            jffs2_dbg_acct_sanity_check(c,jeb);                                           
4000917c:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
            struct jffs2_eraseblock *jeb = &c->blocks[flash_ofs / c->sector_size];        
40009180:   02fdd833            divu    a6,s11,a5                                         <== NOT EXECUTED
40009184:   03400793            li  a5,52                                                 <== NOT EXECUTED
40009188:   02f80833            mul a6,a6,a5                                              <== NOT EXECUTED
4000918c:   010c0c33            add s8,s8,a6                                              <== NOT EXECUTED
            jffs2_dbg_acct_sanity_check(c,jeb);                                           
40009190:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
40009194:   61c010ef            jal ra,4000a7b0 <__jffs2_dbg_acct_sanity_check>           <== NOT EXECUTED
            if (alloc_mode == ALLOC_GC) {                                                 
40009198:   00200793            li  a5,2                                                  <== NOT EXECUTED
4000919c:   0ef98463            beq s3,a5,40009284 <jffs2_write_dirent+0x478>             <== NOT EXECUTED
                jffs2_complete_reservation(c);                                            
400091a0:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
400091a4:   8e5fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
                ret = jffs2_reserve_space(c, sizeof(*rd) + namelen, &dummy,               
400091a8:   00812703            lw  a4,8(sp)                                              <== NOT EXECUTED
400091ac:   00098693            mv  a3,s3                                                 <== NOT EXECUTED
400091b0:   01c10613            addi    a2,sp,28                                          <== NOT EXECUTED
400091b4:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
400091b8:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
400091bc:   8e4fd0ef            jal ra,400062a0 <jffs2_reserve_space>                     <== NOT EXECUTED
400091c0:   00050b13            mv  s6,a0                                                 <== NOT EXECUTED
            if (!ret) {                                                                   
400091c4:   0e0b0263            beqz    s6,400092a8 <jffs2_write_dirent+0x49c>            <== NOT EXECUTED
        jffs2_free_full_dirent(fd);                                                       
400091c8:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
400091cc:   eacfb0ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
        return ERR_PTR(ret?ret:-EIO);                                                     
400091d0:   000b0d13            mv  s10,s6                                                <== NOT EXECUTED
400091d4:   d35ff06f            j   40008f08 <jffs2_write_dirent+0xfc>                    <== NOT EXECUTED
            jffs2_add_physical_node_ref(c, flash_ofs | REF_OBSOLETE, PAD(sizeof(*rd)+namelen), NULL);
400091d8:   00000693            li  a3,0                                                  <== NOT EXECUTED
400091dc:   000a8613            mv  a2,s5                                                 <== NOT EXECUTED
400091e0:   001de593            ori a1,s11,1                                              <== NOT EXECUTED
400091e4:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
400091e8:   f48fc0ef            jal ra,40005930 <jffs2_add_physical_node_ref>             <== NOT EXECUTED
        if (!retried) {                                                                   
400091ec:   00100793            li  a5,1                                                  <== NOT EXECUTED
400091f0:   f8fc12e3            bne s8,a5,40009174 <jffs2_write_dirent+0x368>             <== NOT EXECUTED
        jffs2_free_full_dirent(fd);                                                       
400091f4:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
400091f8:   e80fb0ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
        return ERR_PTR(ret?ret:-EIO);                                                     
400091fc:   ffb00d13            li  s10,-5                                                <== NOT EXECUTED
40009200:   d00b04e3            beqz    s6,40008f08 <jffs2_write_dirent+0xfc>             <== NOT EXECUTED
40009204:   fcdff06f            j   400091d0 <jffs2_write_dirent+0x3c4>                   <== NOT EXECUTED
        return ERR_PTR(-ENOMEM);                                                          
40009208:   ff400d13            li  s10,-12                                               <== NOT EXECUTED
4000920c:   cfdff06f            j   40008f08 <jffs2_write_dirent+0xfc>                    <== NOT EXECUTED
    fd->raw = jffs2_add_physical_node_ref(c, flash_ofs | dirent_node_state(rd),           
40009210:   01112223            sw  a7,4(sp)                                              
40009214:   01544703            lbu a4,21(s0)                                             
40009218:   01444683            lbu a3,20(s0)                                             
4000921c:   01644783            lbu a5,22(s0)                                             
40009220:   01744583            lbu a1,23(s0)                                             
40009224:   00871713            slli    a4,a4,0x8                                         
40009228:   00d76733            or  a4,a4,a3                                              
4000922c:   01079793            slli    a5,a5,0x10                                        
40009230:   00e7e7b3            or  a5,a5,a4                                              
40009234:   01859593            slli    a1,a1,0x18                                        
40009238:   00f5e5b3            or  a1,a1,a5                                              
4000923c:   014a2683            lw  a3,20(s4)                                             
40009240:   0015b593            seqz    a1,a1                                             
40009244:   00258593            addi    a1,a1,2                                           
                          PAD(sizeof(*rd)+namelen), f->inocache);                         
40009248:   02b48613            addi    a2,s1,43                                          
    fd->raw = jffs2_add_physical_node_ref(c, flash_ofs | dirent_node_state(rd),           
4000924c:   ffc67613            andi    a2,a2,-4                                          
40009250:   01b5e5b3            or  a1,a1,s11                                             
40009254:   00090513            mv  a0,s2                                                 
40009258:   ed8fc0ef            jal ra,40005930 <jffs2_add_physical_node_ref>             
4000925c:   00ad2023            sw  a0,0(s10)                                             
    if (IS_ERR(fd->raw)) {                                                                
40009260:   c1800793            li  a5,-1000                                              
40009264:   00412883            lw  a7,4(sp)                                              
    fd->raw = jffs2_add_physical_node_ref(c, flash_ofs | dirent_node_state(rd),           
40009268:   00050413            mv  s0,a0                                                 
    if (IS_ERR(fd->raw)) {                                                                
4000926c:   04a7ea63            bltu    a5,a0,400092c0 <jffs2_write_dirent+0x4b4>         
    if (retried) {                                                                        
40009270:   c8088ce3            beqz    a7,40008f08 <jffs2_write_dirent+0xfc>             <== ALWAYS TAKEN
        jffs2_dbg_acct_sanity_check(c,NULL);                                              
40009274:   00000593            li  a1,0                                                  <== NOT EXECUTED
40009278:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
4000927c:   534010ef            jal ra,4000a7b0 <__jffs2_dbg_acct_sanity_check>           <== NOT EXECUTED
40009280:   c89ff06f            j   40008f08 <jffs2_write_dirent+0xfc>                    <== NOT EXECUTED
                ret = jffs2_reserve_space_gc(c, sizeof(*rd) + namelen, &dummy,            
40009284:   00812683            lw  a3,8(sp)                                              <== NOT EXECUTED
40009288:   01c10613            addi    a2,sp,28                                          <== NOT EXECUTED
4000928c:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
40009290:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40009294:   f85fc0ef            jal ra,40006218 <jffs2_reserve_space_gc>                  <== NOT EXECUTED
40009298:   00050b13            mv  s6,a0                                                 <== NOT EXECUTED
4000929c:   f29ff06f            j   400091c4 <jffs2_write_dirent+0x3b8>                   <== NOT EXECUTED
    uint32_t hash = 0;                                                                    
400092a0:   00000813            li  a6,0                                                  <== NOT EXECUTED
400092a4:   d4dff06f            j   40008ff0 <jffs2_write_dirent+0x1e4>                   <== NOT EXECUTED
                jffs2_dbg_acct_sanity_check(c,jeb);                                       
400092a8:   000c0593            mv  a1,s8                                                 <== NOT EXECUTED
400092ac:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
400092b0:   500010ef            jal ra,4000a7b0 <__jffs2_dbg_acct_sanity_check>           <== NOT EXECUTED
                goto retry;                                                               
400092b4:   00100c13            li  s8,1                                                  <== NOT EXECUTED
            retried = 1;                                                                  
400092b8:   00100893            li  a7,1                                                  <== NOT EXECUTED
400092bc:   d79ff06f            j   40009034 <jffs2_write_dirent+0x228>                   <== NOT EXECUTED
        jffs2_free_full_dirent(fd);                                                       
400092c0:   000d0513            mv  a0,s10                                                <== NOT EXECUTED
400092c4:   db4fb0ef            jal ra,40004878 <jffs2_free_full_dirent>                  <== NOT EXECUTED
        return ERR_CAST(hold_err);                                                        
400092c8:   00040d13            mv  s10,s0                                                <== NOT EXECUTED
400092cc:   c3dff06f            j   40008f08 <jffs2_write_dirent+0xfc>                    <== NOT EXECUTED
                                                                                          

40008998 <jffs2_write_dnode>: struct jffs2_full_dnode *jffs2_write_dnode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_raw_inode *ri, const unsigned char *data, uint32_t datalen, int alloc_mode) {
40008998:   f9010113            addi    sp,sp,-112                                        
4000899c:   06812423            sw  s0,104(sp)                                            
400089a0:   06912223            sw  s1,100(sp)                                            
400089a4:   05312e23            sw  s3,92(sp)                                             
400089a8:   05412c23            sw  s4,88(sp)                                             
400089ac:   05612823            sw  s6,80(sp)                                             
400089b0:   05712623            sw  s7,76(sp)                                             
400089b4:   03b12e23            sw  s11,60(sp)                                            
400089b8:   06112623            sw  ra,108(sp)                                            
400089bc:   07212023            sw  s2,96(sp)                                             
400089c0:   05512a23            sw  s5,84(sp)                                             
400089c4:   05812423            sw  s8,72(sp)                                             
400089c8:   05912223            sw  s9,68(sp)                                             
400089cc:   05a12023            sw  s10,64(sp)                                            
400089d0:   00060d93            mv  s11,a2                                                
    vecs[0].iov_base = ri;                                                                
    vecs[0].iov_len = sizeof(*ri);                                                        
    vecs[1].iov_base = (unsigned char *)data;                                             
    vecs[1].iov_len = datalen;                                                            
                                                                                          
    if (je32_to_cpu(ri->totlen) != sizeof(*ri) + datalen) {                               
400089d4:   00564603            lbu a2,5(a2)                                              
400089d8:   004dce03            lbu t3,4(s11)                                             
400089dc:   006dc303            lbu t1,6(s11)                                             
400089e0:   007dc883            lbu a7,7(s11)                                             
400089e4:   00861613            slli    a2,a2,0x8                                         
400089e8:   01c66633            or  a2,a2,t3                                              
400089ec:   01031313            slli    t1,t1,0x10                                        
{                                                                                         
400089f0:   00068a13            mv  s4,a3                                                 
    if (je32_to_cpu(ri->totlen) != sizeof(*ri) + datalen) {                               
400089f4:   00c36333            or  t1,t1,a2                                              
    vecs[0].iov_len = sizeof(*ri);                                                        
400089f8:   04400693            li  a3,68                                                 
    if (je32_to_cpu(ri->totlen) != sizeof(*ri) + datalen) {                               
400089fc:   01889613            slli    a2,a7,0x18                                        
    vecs[0].iov_base = ri;                                                                
40008a00:   03b12023            sw  s11,32(sp)                                            
    vecs[0].iov_len = sizeof(*ri);                                                        
40008a04:   02d12223            sw  a3,36(sp)                                             
    vecs[1].iov_base = (unsigned char *)data;                                             
40008a08:   03412423            sw  s4,40(sp)                                             
    vecs[1].iov_len = datalen;                                                            
40008a0c:   02e12623            sw  a4,44(sp)                                             
    if (je32_to_cpu(ri->totlen) != sizeof(*ri) + datalen) {                               
40008a10:   00666633            or  a2,a2,t1                                              
40008a14:   04470b93            addi    s7,a4,68                                          
{                                                                                         
40008a18:   00070493            mv  s1,a4                                                 
40008a1c:   00050413            mv  s0,a0                                                 
40008a20:   00058b13            mv  s6,a1                                                 
40008a24:   00078993            mv  s3,a5                                                 
    if (je32_to_cpu(ri->totlen) != sizeof(*ri) + datalen) {                               
40008a28:   01760c63            beq a2,s7,40008a40 <jffs2_write_dnode+0xa8>               
        pr_warn("%s(): ri->totlen (0x%08x) != sizeof(*ri) (0x%08zx) + datalen (0x%08x)\n",
40008a2c:   4001f5b7            lui a1,0x4001f                                            <== NOT EXECUTED
40008a30:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
40008a34:   1dc58593            addi    a1,a1,476 # 4001f1dc <__func__.1>                 <== NOT EXECUTED
40008a38:   fd850513            addi    a0,a0,-40 # 4001efd8 <__func__.9+0x20>            <== NOT EXECUTED
40008a3c:   dc1ff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
            __func__, je32_to_cpu(ri->totlen),                                            
            sizeof(*ri), datalen);                                                        
    }                                                                                     
                                                                                          
    fn = jffs2_alloc_full_dnode();                                                        
40008a40:   e3dfb0ef            jal ra,4000487c <jffs2_alloc_full_dnode>                  
40008a44:   00050913            mv  s2,a0                                                 
    if (!fn)                                                                              
40008a48:   24050c63            beqz    a0,40008ca0 <jffs2_write_dnode+0x308>             <== NEVER TAKEN
        return ERR_PTR(-ENOMEM);                                                          
                                                                                          
    /* check number of valid vecs */                                                      
    if (!datalen || !data)                                                                
        cnt = 1;                                                                          
40008a4c:   00100c13            li  s8,1                                                  
    if (!datalen || !data)                                                                
40008a50:   00048663            beqz    s1,40008a5c <jffs2_write_dnode+0xc4>              
        cnt = 1;                                                                          
40008a54:   01403c33            snez    s8,s4                                             
40008a58:   001c0c13            addi    s8,s8,1                                           
            /* Don't change raw->size to match retlen. We may have                        
               written the node header already, and only the data will                    
               seem corrupted, in which case the scan would skip over                     
               any node we write before the original intended end of                      
               this node */                                                               
            jffs2_add_physical_node_ref(c, flash_ofs | REF_OBSOLETE, PAD(sizeof(*ri)+datalen), NULL);
40008a5c:   04748a13            addi    s4,s1,71                                          
40008a60:   ffca7793            andi    a5,s4,-4                                          
 retry:                                                                                   
40008a64:   00200d13            li  s10,2                                                 
40008a68:   00000313            li  t1,0                                                  
    if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(ri->version) < f->highest_version)) {      
40008a6c:   00200c93            li  s9,2                                                  
            jffs2_add_physical_node_ref(c, flash_ofs | REF_OBSOLETE, PAD(sizeof(*ri)+datalen), NULL);
40008a70:   00f12423            sw  a5,8(sp)                                              
    flash_ofs = write_ofs(c);                                                             
40008a74:   05842783            lw  a5,88(s0)                                             
40008a78:   03442883            lw  a7,52(s0)                                             
40008a7c:   00c7aa83            lw  s5,12(a5)                                             
40008a80:   0207aa03            lw  s4,32(a5)                                             
    if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(ri->version) < f->highest_version)) {      
40008a84:   0b998c63            beq s3,s9,40008b3c <jffs2_write_dnode+0x1a4>              
40008a88:   011dc683            lbu a3,17(s11)                                            
40008a8c:   010dc603            lbu a2,16(s11)                                            
40008a90:   012dc703            lbu a4,18(s11)                                            
40008a94:   013dc783            lbu a5,19(s11)                                            
40008a98:   00869693            slli    a3,a3,0x8                                         
40008a9c:   00c6e6b3            or  a3,a3,a2                                              
40008aa0:   01071713            slli    a4,a4,0x10                                        
40008aa4:   000b2603            lw  a2,0(s6)                                              
40008aa8:   00d76733            or  a4,a4,a3                                              
40008aac:   01879793            slli    a5,a5,0x18                                        
40008ab0:   00e7e7b3            or  a5,a5,a4                                              
40008ab4:   08c7f463            bgeu    a5,a2,40008b3c <jffs2_write_dnode+0x1a4>          
        BUG_ON(!retried);                                                                 
40008ab8:   02031263            bnez    t1,40008adc <jffs2_write_dnode+0x144>             <== NOT EXECUTED
40008abc:   4001d6b7            lui a3,0x4001d                                            <== NOT EXECUTED
40008ac0:   4001f637            lui a2,0x4001f                                            <== NOT EXECUTED
40008ac4:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
40008ac8:   a1868693            addi    a3,a3,-1512 # 4001ca18 <bsp_section_text_end+0xd8><== NOT EXECUTED
40008acc:   1dc60613            addi    a2,a2,476 # 4001f1dc <__func__.1>                 <== NOT EXECUTED
40008ad0:   06700593            li  a1,103                                                <== NOT EXECUTED
40008ad4:   02c50513            addi    a0,a0,44 # 4001f02c <__func__.9+0x74>             <== NOT EXECUTED
40008ad8:   7c8040ef            jal ra,4000d2a0 <__assert_func>                           <== NOT EXECUTED
        ri->version = cpu_to_je32(++f->highest_version);                                  
40008adc:   00160613            addi    a2,a2,1                                           <== NOT EXECUTED
40008ae0:   00cb2023            sw  a2,0(s6)                                              <== NOT EXECUTED
40008ae4:   00865693            srli    a3,a2,0x8                                         <== NOT EXECUTED
40008ae8:   01065713            srli    a4,a2,0x10                                        <== NOT EXECUTED
40008aec:   01865793            srli    a5,a2,0x18                                        <== NOT EXECUTED
40008af0:   00cd8823            sb  a2,16(s11)                                            <== NOT EXECUTED
40008af4:   00dd88a3            sb  a3,17(s11)                                            <== NOT EXECUTED
40008af8:   00ed8923            sb  a4,18(s11)                                            <== NOT EXECUTED
        ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                          
40008afc:   03c00613            li  a2,60                                                 <== NOT EXECUTED
        ri->version = cpu_to_je32(++f->highest_version);                                  
40008b00:   00fd89a3            sb  a5,19(s11)                                            <== NOT EXECUTED
        ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                          
40008b04:   000d8593            mv  a1,s11                                                <== NOT EXECUTED
40008b08:   00000513            li  a0,0                                                  <== NOT EXECUTED
40008b0c:   00612623            sw  t1,12(sp)                                             <== NOT EXECUTED
40008b10:   01112223            sw  a7,4(sp)                                              <== NOT EXECUTED
40008b14:   17d010ef            jal ra,4000a490 <cyg_crc32_accumulate>                    <== NOT EXECUTED
40008b18:   00c12303            lw  t1,12(sp)                                             <== NOT EXECUTED
40008b1c:   00412883            lw  a7,4(sp)                                              <== NOT EXECUTED
40008b20:   00855613            srli    a2,a0,0x8                                         <== NOT EXECUTED
40008b24:   01055693            srli    a3,a0,0x10                                        <== NOT EXECUTED
40008b28:   01855713            srli    a4,a0,0x18                                        <== NOT EXECUTED
40008b2c:   04ad8023            sb  a0,64(s11)                                            <== NOT EXECUTED
40008b30:   04cd80a3            sb  a2,65(s11)                                            <== NOT EXECUTED
40008b34:   04dd8123            sb  a3,66(s11)                                            <== NOT EXECUTED
40008b38:   04ed81a3            sb  a4,67(s11)                                            <== NOT EXECUTED
    flash_ofs = write_ofs(c);                                                             
40008b3c:   011a88b3            add a7,s5,a7                                              
40008b40:   41488a33            sub s4,a7,s4                                              
    ret = jffs2_flash_writev(c, vecs, cnt, flash_ofs, &retlen,                            
40008b44:   00000713            li  a4,0                                                  
40008b48:   01810793            addi    a5,sp,24                                          
40008b4c:   000a0693            mv  a3,s4                                                 
40008b50:   000c0613            mv  a2,s8                                                 
40008b54:   02010593            addi    a1,sp,32                                          
40008b58:   00040513            mv  a0,s0                                                 
40008b5c:   00612223            sw  t1,4(sp)                                              
40008b60:   649020ef            jal ra,4000b9a8 <jffs2_flash_direct_writev>               
    if (ret || (retlen != sizeof(*ri) + datalen)) {                                       
40008b64:   00412303            lw  t1,4(sp)                                              
40008b68:   01812703            lw  a4,24(sp)                                             
    ret = jffs2_flash_writev(c, vecs, cnt, flash_ofs, &retlen,                            
40008b6c:   00050a93            mv  s5,a0                                                 
    if (ret || (retlen != sizeof(*ri) + datalen)) {                                       
40008b70:   00051463            bnez    a0,40008b78 <jffs2_write_dnode+0x1e0>             <== NEVER TAKEN
40008b74:   14eb8663            beq s7,a4,40008cc0 <jffs2_write_dnode+0x328>              
        pr_notice("Write of %zd bytes at 0x%08x failed. returned %d, retlen %zd\n",       
40008b78:   4001f7b7            lui a5,0x4001f                                            <== NOT EXECUTED
40008b7c:   05878513            addi    a0,a5,88 # 4001f058 <__func__.9+0xa0>             <== NOT EXECUTED
40008b80:   000a8693            mv  a3,s5                                                 <== NOT EXECUTED
40008b84:   000a0613            mv  a2,s4                                                 <== NOT EXECUTED
40008b88:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
40008b8c:   c71ff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
        if (retlen) {                                                                     
40008b90:   01812783            lw  a5,24(sp)                                             <== NOT EXECUTED
40008b94:   08079263            bnez    a5,40008c18 <jffs2_write_dnode+0x280>             <== NOT EXECUTED
        } else {                                                                          
            pr_notice("Not marking the space at 0x%08x as dirty because the flash driver returned retlen zero\n",
40008b98:   4001d7b7            lui a5,0x4001d                                            <== NOT EXECUTED
40008b9c:   48478513            addi    a0,a5,1156 # 4001d484 <rtems_jffs2_ops+0x2fc>     <== NOT EXECUTED
40008ba0:   000a0593            mv  a1,s4                                                 <== NOT EXECUTED
40008ba4:   c59ff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
                  flash_ofs);                                                             
        }                                                                                 
        if (!retried && alloc_mode != ALLOC_NORETRY) {                                    
40008ba8:   00100793            li  a5,1                                                  <== NOT EXECUTED
40008bac:   08fd0463            beq s10,a5,40008c34 <jffs2_write_dnode+0x29c>             <== NOT EXECUTED
40008bb0:   00300793            li  a5,3                                                  <== NOT EXECUTED
40008bb4:   08f98063            beq s3,a5,40008c34 <jffs2_write_dnode+0x29c>              <== NOT EXECUTED
            /* Try to reallocate space and retry */                                       
            uint32_t dummy;                                                               
            struct jffs2_eraseblock *jeb = &c->blocks[flash_ofs / c->sector_size];        
40008bb8:   03442d03            lw  s10,52(s0)                                            <== NOT EXECUTED
40008bbc:   03400893            li  a7,52                                                 <== NOT EXECUTED
40008bc0:   05442783            lw  a5,84(s0)                                             <== NOT EXECUTED
40008bc4:   03aa5d33            divu    s10,s4,s10                                        <== NOT EXECUTED
                                                                                          
            retried = 1;                                                                  
                                                                                          
            jffs2_dbg(1, "Retrying failed write.\n");                                     
                                                                                          
            jffs2_dbg_acct_sanity_check(c,jeb);                                           
40008bc8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
            struct jffs2_eraseblock *jeb = &c->blocks[flash_ofs / c->sector_size];        
40008bcc:   031d0d33            mul s10,s10,a7                                            <== NOT EXECUTED
40008bd0:   01a78d33            add s10,a5,s10                                            <== NOT EXECUTED
            jffs2_dbg_acct_sanity_check(c,jeb);                                           
40008bd4:   000d0593            mv  a1,s10                                                <== NOT EXECUTED
40008bd8:   3d9010ef            jal ra,4000a7b0 <__jffs2_dbg_acct_sanity_check>           <== NOT EXECUTED
            jffs2_dbg_acct_paranoia_check(c, jeb);                                        
                                                                                          
            if (alloc_mode == ALLOC_GC) {                                                 
40008bdc:   0b998463            beq s3,s9,40008c84 <jffs2_write_dnode+0x2ec>              <== NOT EXECUTED
                ret = jffs2_reserve_space_gc(c, sizeof(*ri) + datalen, &dummy,            
                                 JFFS2_SUMMARY_INODE_SIZE);                               
            } else {                                                                      
                /* Locking pain */                                                        
                mutex_unlock(&f->sem);                                                    
                jffs2_complete_reservation(c);                                            
40008be0:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40008be4:   ea5fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
                                                                                          
                ret = jffs2_reserve_space(c, sizeof(*ri) + datalen, &dummy,               
40008be8:   01200713            li  a4,18                                                 <== NOT EXECUTED
40008bec:   00098693            mv  a3,s3                                                 <== NOT EXECUTED
40008bf0:   01c10613            addi    a2,sp,28                                          <== NOT EXECUTED
40008bf4:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
40008bf8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40008bfc:   ea4fd0ef            jal ra,400062a0 <jffs2_reserve_space>                     <== NOT EXECUTED
40008c00:   00050a93            mv  s5,a0                                                 <== NOT EXECUTED
                              alloc_mode, JFFS2_SUMMARY_INODE_SIZE);                      
                mutex_lock(&f->sem);                                                      
            }                                                                             
                                                                                          
            if (!ret) {                                                                   
40008c04:   0a0a8263            beqz    s5,40008ca8 <jffs2_write_dnode+0x310>             <== NOT EXECUTED
            }                                                                             
            jffs2_dbg(1, "Failed to allocate space to retry failed write: %d!\n",         
                  ret);                                                                   
        }                                                                                 
        /* Release the full_dnode which is now useless, and return */                     
        jffs2_free_full_dnode(fn);                                                        
40008c08:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40008c0c:   c79fb0ef            jal ra,40004884 <jffs2_free_full_dnode>                   <== NOT EXECUTED
        return ERR_PTR(ret?ret:-EIO);                                                     
40008c10:   000a8913            mv  s2,s5                                                 <== NOT EXECUTED
40008c14:   0300006f            j   40008c44 <jffs2_write_dnode+0x2ac>                    <== NOT EXECUTED
            jffs2_add_physical_node_ref(c, flash_ofs | REF_OBSOLETE, PAD(sizeof(*ri)+datalen), NULL);
40008c18:   00812603            lw  a2,8(sp)                                              <== NOT EXECUTED
40008c1c:   00000693            li  a3,0                                                  <== NOT EXECUTED
40008c20:   001a6593            ori a1,s4,1                                               <== NOT EXECUTED
40008c24:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40008c28:   d09fc0ef            jal ra,40005930 <jffs2_add_physical_node_ref>             <== NOT EXECUTED
        if (!retried && alloc_mode != ALLOC_NORETRY) {                                    
40008c2c:   00100793            li  a5,1                                                  <== NOT EXECUTED
40008c30:   f8fd10e3            bne s10,a5,40008bb0 <jffs2_write_dnode+0x218>             <== NOT EXECUTED
        jffs2_free_full_dnode(fn);                                                        
40008c34:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40008c38:   c4dfb0ef            jal ra,40004884 <jffs2_free_full_dnode>                   <== NOT EXECUTED
        return ERR_PTR(ret?ret:-EIO);                                                     
40008c3c:   ffb00913            li  s2,-5                                                 <== NOT EXECUTED
40008c40:   fc0a98e3            bnez    s5,40008c10 <jffs2_write_dnode+0x278>             <== NOT EXECUTED
    if (retried) {                                                                        
        jffs2_dbg_acct_sanity_check(c,NULL);                                              
    }                                                                                     
                                                                                          
    return fn;                                                                            
}                                                                                         
40008c44:   06c12083            lw  ra,108(sp)                                            
40008c48:   06812403            lw  s0,104(sp)                                            
40008c4c:   06412483            lw  s1,100(sp)                                            
40008c50:   05c12983            lw  s3,92(sp)                                             
40008c54:   05812a03            lw  s4,88(sp)                                             
40008c58:   05412a83            lw  s5,84(sp)                                             
40008c5c:   05012b03            lw  s6,80(sp)                                             
40008c60:   04c12b83            lw  s7,76(sp)                                             
40008c64:   04812c03            lw  s8,72(sp)                                             
40008c68:   04412c83            lw  s9,68(sp)                                             
40008c6c:   04012d03            lw  s10,64(sp)                                            
40008c70:   03c12d83            lw  s11,60(sp)                                            
40008c74:   00090513            mv  a0,s2                                                 
40008c78:   06012903            lw  s2,96(sp)                                             
40008c7c:   07010113            addi    sp,sp,112                                         
40008c80:   00008067            ret                                                       
                ret = jffs2_reserve_space_gc(c, sizeof(*ri) + datalen, &dummy,            
40008c84:   01200693            li  a3,18                                                 <== NOT EXECUTED
40008c88:   01c10613            addi    a2,sp,28                                          <== NOT EXECUTED
40008c8c:   000b8593            mv  a1,s7                                                 <== NOT EXECUTED
40008c90:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40008c94:   d84fd0ef            jal ra,40006218 <jffs2_reserve_space_gc>                  <== NOT EXECUTED
40008c98:   00050a93            mv  s5,a0                                                 <== NOT EXECUTED
40008c9c:   f69ff06f            j   40008c04 <jffs2_write_dnode+0x26c>                    <== NOT EXECUTED
        return ERR_PTR(-ENOMEM);                                                          
40008ca0:   ff400913            li  s2,-12                                                <== NOT EXECUTED
40008ca4:   fa1ff06f            j   40008c44 <jffs2_write_dnode+0x2ac>                    <== NOT EXECUTED
                jffs2_dbg_acct_sanity_check(c,jeb);                                       
40008ca8:   000d0593            mv  a1,s10                                                <== NOT EXECUTED
40008cac:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40008cb0:   301010ef            jal ra,4000a7b0 <__jffs2_dbg_acct_sanity_check>           <== NOT EXECUTED
                goto retry;                                                               
40008cb4:   00100d13            li  s10,1                                                 <== NOT EXECUTED
            retried = 1;                                                                  
40008cb8:   00100313            li  t1,1                                                  <== NOT EXECUTED
40008cbc:   db9ff06f            j   40008a74 <jffs2_write_dnode+0xdc>                     <== NOT EXECUTED
    if ((je32_to_cpu(ri->dsize) >= PAGE_SIZE) ||                                          
40008cc0:   035dc703            lbu a4,53(s11)                                            
40008cc4:   034dc603            lbu a2,52(s11)                                            
40008cc8:   036dc783            lbu a5,54(s11)                                            
40008ccc:   037dc683            lbu a3,55(s11)                                            
40008cd0:   00871713            slli    a4,a4,0x8                                         
40008cd4:   00c76733            or  a4,a4,a2                                              
40008cd8:   01079793            slli    a5,a5,0x10                                        
40008cdc:   00e7e7b3            or  a5,a5,a4                                              
40008ce0:   01869713            slli    a4,a3,0x18                                        
40008ce4:   00f767b3            or  a5,a4,a5                                              
40008ce8:   00001737            lui a4,0x1                                                
40008cec:   10e7f463            bgeu    a5,a4,40008df4 <jffs2_write_dnode+0x45c>          
        ( ((je32_to_cpu(ri->offset)&(PAGE_SIZE-1))==0) &&                                 
40008cf0:   02ddc583            lbu a1,45(s11)                                            
40008cf4:   02cdc503            lbu a0,44(s11)                                            
40008cf8:   02edc603            lbu a2,46(s11)                                            
40008cfc:   02fdc683            lbu a3,47(s11)                                            
40008d00:   00859593            slli    a1,a1,0x8                                         
40008d04:   00a5e5b3            or  a1,a1,a0                                              
40008d08:   01061613            slli    a2,a2,0x10                                        
40008d0c:   00b66633            or  a2,a2,a1                                              
40008d10:   01869693            slli    a3,a3,0x18                                        
40008d14:   00c6e6b3            or  a3,a3,a2                                              
40008d18:   fff70713            addi    a4,a4,-1 # fff <bsp_section_start_size+0xfbb>     
40008d1c:   00e6f733            and a4,a3,a4                                              
    if ((je32_to_cpu(ri->dsize) >= PAGE_SIZE) ||                                          
40008d20:   02071a63            bnez    a4,40008d54 <jffs2_write_dnode+0x3bc>             
          (je32_to_cpu(ri->dsize)+je32_to_cpu(ri->offset) ==  je32_to_cpu(ri->isize)))) { 
40008d24:   01ddc583            lbu a1,29(s11)                                            
40008d28:   01cdc503            lbu a0,28(s11)                                            
40008d2c:   01edc603            lbu a2,30(s11)                                            
40008d30:   01fdc703            lbu a4,31(s11)                                            
40008d34:   00859593            slli    a1,a1,0x8                                         
40008d38:   00a5e5b3            or  a1,a1,a0                                              
40008d3c:   01061613            slli    a2,a2,0x10                                        
40008d40:   00b66633            or  a2,a2,a1                                              
40008d44:   01871713            slli    a4,a4,0x18                                        
40008d48:   00d787b3            add a5,a5,a3                                              
40008d4c:   00c76733            or  a4,a4,a2                                              
        ( ((je32_to_cpu(ri->offset)&(PAGE_SIZE-1))==0) &&                                 
40008d50:   0ae78263            beq a5,a4,40008df4 <jffs2_write_dnode+0x45c>              
        flash_ofs |= REF_NORMAL;                                                          
40008d54:   003a6593            ori a1,s4,3                                               
    fn->raw = jffs2_add_physical_node_ref(c, flash_ofs, PAD(sizeof(*ri)+datalen), f->inocache);
40008d58:   014b2683            lw  a3,20(s6)                                             
40008d5c:   04748613            addi    a2,s1,71                                          
40008d60:   ffc67613            andi    a2,a2,-4                                          
40008d64:   00040513            mv  a0,s0                                                 
40008d68:   00612223            sw  t1,4(sp)                                              
40008d6c:   bc5fc0ef            jal ra,40005930 <jffs2_add_physical_node_ref>             
40008d70:   00a92023            sw  a0,0(s2)                                              
    if (IS_ERR(fn->raw)) {                                                                
40008d74:   c1800793            li  a5,-1000                                              
40008d78:   00412303            lw  t1,4(sp)                                              
    fn->raw = jffs2_add_physical_node_ref(c, flash_ofs, PAD(sizeof(*ri)+datalen), f->inocache);
40008d7c:   00050493            mv  s1,a0                                                 
    if (IS_ERR(fn->raw)) {                                                                
40008d80:   06a7ee63            bltu    a5,a0,40008dfc <jffs2_write_dnode+0x464>          
    fn->ofs = je32_to_cpu(ri->offset);                                                    
40008d84:   02ddc683            lbu a3,45(s11)                                            
40008d88:   02cdc603            lbu a2,44(s11)                                            
40008d8c:   02edc703            lbu a4,46(s11)                                            
40008d90:   02fdc783            lbu a5,47(s11)                                            
40008d94:   00869693            slli    a3,a3,0x8                                         
40008d98:   00c6e6b3            or  a3,a3,a2                                              
40008d9c:   01071713            slli    a4,a4,0x10                                        
40008da0:   00d76733            or  a4,a4,a3                                              
40008da4:   01879793            slli    a5,a5,0x18                                        
40008da8:   00e7e7b3            or  a5,a5,a4                                              
40008dac:   00f92223            sw  a5,4(s2)                                              
    fn->size = je32_to_cpu(ri->dsize);                                                    
40008db0:   035dc683            lbu a3,53(s11)                                            
40008db4:   034dc603            lbu a2,52(s11)                                            
40008db8:   036dc703            lbu a4,54(s11)                                            
40008dbc:   037dc783            lbu a5,55(s11)                                            
40008dc0:   00869693            slli    a3,a3,0x8                                         
40008dc4:   00c6e6b3            or  a3,a3,a2                                              
40008dc8:   01071713            slli    a4,a4,0x10                                        
40008dcc:   00d76733            or  a4,a4,a3                                              
40008dd0:   01879793            slli    a5,a5,0x18                                        
40008dd4:   00e7e7b3            or  a5,a5,a4                                              
40008dd8:   00f92423            sw  a5,8(s2)                                              
    fn->frags = 0;                                                                        
40008ddc:   00092623            sw  zero,12(s2)                                           
    if (retried) {                                                                        
40008de0:   e60302e3            beqz    t1,40008c44 <jffs2_write_dnode+0x2ac>             <== ALWAYS TAKEN
        jffs2_dbg_acct_sanity_check(c,NULL);                                              
40008de4:   00000593            li  a1,0                                                  <== NOT EXECUTED
40008de8:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40008dec:   1c5010ef            jal ra,4000a7b0 <__jffs2_dbg_acct_sanity_check>           <== NOT EXECUTED
40008df0:   e55ff06f            j   40008c44 <jffs2_write_dnode+0x2ac>                    <== NOT EXECUTED
        flash_ofs |= REF_PRISTINE;                                                        
40008df4:   002a6593            ori a1,s4,2                                               
40008df8:   f61ff06f            j   40008d58 <jffs2_write_dnode+0x3c0>                    
        jffs2_free_full_dnode(fn);                                                        
40008dfc:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
40008e00:   a85fb0ef            jal ra,40004884 <jffs2_free_full_dnode>                   <== NOT EXECUTED
        return ERR_CAST(hold_err);                                                        
40008e04:   00048913            mv  s2,s1                                                 <== NOT EXECUTED
40008e08:   e3dff06f            j   40008c44 <jffs2_write_dnode+0x2ac>                    <== NOT EXECUTED
                                                                                          

400092d0 <jffs2_write_inode_range>: we don't have to go digging in struct inode or its equivalent. It should set: mode, uid, gid, (starting)isize, atime, ctime, mtime */ int jffs2_write_inode_range(struct jffs2_sb_info *c, struct jffs2_inode_info *f, struct jffs2_raw_inode *ri, unsigned char *buf, uint32_t offset, uint32_t writelen, uint32_t *retlen) {
400092d0:   fa010113            addi    sp,sp,-96                                         
400092d4:   04112e23            sw  ra,92(sp)                                             
400092d8:   04812c23            sw  s0,88(sp)                                             
400092dc:   04912a23            sw  s1,84(sp)                                             
400092e0:   05212823            sw  s2,80(sp)                                             
400092e4:   05312623            sw  s3,76(sp)                                             
400092e8:   05412423            sw  s4,72(sp)                                             
400092ec:   05512223            sw  s5,68(sp)                                             
400092f0:   05612023            sw  s6,64(sp)                                             
400092f4:   03712e23            sw  s7,60(sp)                                             
400092f8:   03812c23            sw  s8,56(sp)                                             
400092fc:   03912a23            sw  s9,52(sp)                                             
40009300:   03a12823            sw  s10,48(sp)                                            
40009304:   03b12623            sw  s11,44(sp)                                            
40009308:   01012623            sw  a6,12(sp)                                             
    uint32_t writtenlen = 0;                                                              
                                                                                          
    jffs2_dbg(1, "%s(): Ino #%u, ofs 0x%x, len 0x%x\n",                                   
          __func__, f->inocache->ino, offset, writelen);                                  
                                                                                          
    while(writelen) {                                                                     
4000930c:   36078a63            beqz    a5,40009680 <jffs2_write_inode_range+0x3b0>       <== NEVER TAKEN
40009310:   00078b93            mv  s7,a5                                                 
40009314:   00050993            mv  s3,a0                                                 
40009318:   00058493            mv  s1,a1                                                 
4000931c:   00060413            mv  s0,a2                                                 
40009320:   00068c13            mv  s8,a3                                                 
40009324:   00070913            mv  s2,a4                                                 
        if (ret) {                                                                        
            jffs2_dbg(1, "jffs2_reserve_space returned %d\n", ret);                       
            break;                                                                        
        }                                                                                 
        mutex_lock(&f->sem);                                                              
        datalen = min_t(uint32_t, writelen,                                               
40009328:   00001d37            lui s10,0x1                                               
    uint32_t writtenlen = 0;                                                              
4000932c:   00012423            sw  zero,8(sp)                                            
        datalen = min_t(uint32_t, writelen,                                               
40009330:   000017b7            lui a5,0x1                                                
40009334:   fff78793            addi    a5,a5,-1 # fff <bsp_section_start_size+0xfbb>     
        ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));     
                                                                                          
        ri->ino = cpu_to_je32(f->inocache->ino);                                          
        ri->version = cpu_to_je32(++f->highest_version);                                  
        ri->isize = cpu_to_je32(max(je32_to_cpu(ri->isize), offset + datalen));           
        ri->offset = cpu_to_je32(offset);                                                 
40009338:   01095a93            srli    s5,s2,0x10                                        
        datalen = min_t(uint32_t, writelen,                                               
4000933c:   00f97a33            and s4,s2,a5                                              
        ri->offset = cpu_to_je32(offset);                                                 
40009340:   00895b13            srli    s6,s2,0x8                                         
40009344:   0ffaf793            andi    a5,s5,255                                         
        unsigned char *comprbuf = NULL;                                                   
40009348:   00012823            sw  zero,16(sp)                                           
4000934c:   00200c93            li  s9,2                                                  
        datalen = min_t(uint32_t, writelen,                                               
40009350:   414d0a33            sub s4,s10,s4                                             
        ri->offset = cpu_to_je32(offset);                                                 
40009354:   0ffb7b13            andi    s6,s6,255                                         
40009358:   00f12223            sw  a5,4(sp)                                              
        ret = jffs2_reserve_space(c, sizeof(*ri) + JFFS2_MIN_DATA_LEN,                    
4000935c:   01200713            li  a4,18                                                 
40009360:   00000693            li  a3,0                                                  
40009364:   01410613            addi    a2,sp,20                                          
40009368:   0c400593            li  a1,196                                                
4000936c:   00098513            mv  a0,s3                                                 
40009370:   f31fc0ef            jal ra,400062a0 <jffs2_reserve_space>                     
40009374:   00050d93            mv  s11,a0                                                
        if (ret) {                                                                        
40009378:   24051663            bnez    a0,400095c4 <jffs2_write_inode_range+0x2f4>       
        datalen = min_t(uint32_t, writelen,                                               
4000937c:   000a0793            mv  a5,s4                                                 
40009380:   014bf463            bgeu    s7,s4,40009388 <jffs2_write_inode_range+0xb8>     
40009384:   000b8793            mv  a5,s7                                                 
        cdatalen = min_t(uint32_t, alloclen - sizeof(*ri), datalen);                      
40009388:   01412803            lw  a6,20(sp)                                             
        datalen = min_t(uint32_t, writelen,                                               
4000938c:   00f12c23            sw  a5,24(sp)                                             
        cdatalen = min_t(uint32_t, alloclen - sizeof(*ri), datalen);                      
40009390:   fbc80813            addi    a6,a6,-68                                         
40009394:   0107f463            bgeu    a5,a6,4000939c <jffs2_write_inode_range+0xcc>     
40009398:   00078813            mv  a6,a5                                                 
        comprtype = jffs2_compress(c, f, buf, &comprbuf, &datalen, &cdatalen);            
4000939c:   01c10793            addi    a5,sp,28                                          
400093a0:   01810713            addi    a4,sp,24                                          
400093a4:   01010693            addi    a3,sp,16                                          
400093a8:   000c0613            mv  a2,s8                                                 
400093ac:   00048593            mv  a1,s1                                                 
400093b0:   00098513            mv  a0,s3                                                 
        cdatalen = min_t(uint32_t, alloclen - sizeof(*ri), datalen);                      
400093b4:   01012e23            sw  a6,28(sp)                                             
        comprtype = jffs2_compress(c, f, buf, &comprbuf, &datalen, &cdatalen);            
400093b8:   114010ef            jal ra,4000a4cc <jffs2_compress>                          
        ri->totlen = cpu_to_je32(sizeof(*ri) + cdatalen);                                 
400093bc:   01c12783            lw  a5,28(sp)                                             
        ri->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                     
400093c0:   f8500593            li  a1,-123                                               
400093c4:   00b40023            sb  a1,0(s0)                                              
400093c8:   01900593            li  a1,25                                                 
        ri->totlen = cpu_to_je32(sizeof(*ri) + cdatalen);                                 
400093cc:   04478793            addi    a5,a5,68                                          
        ri->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);                                     
400093d0:   00b400a3            sb  a1,1(s0)                                              
        ri->nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                 
400093d4:   00200593            li  a1,2                                                  
        ri->totlen = cpu_to_je32(sizeof(*ri) + cdatalen);                                 
400093d8:   0087d613            srli    a2,a5,0x8                                         
400093dc:   0107d693            srli    a3,a5,0x10                                        
400093e0:   0187d713            srli    a4,a5,0x18                                        
        ri->nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);                                 
400093e4:   00b40123            sb  a1,2(s0)                                              
400093e8:   fe000593            li  a1,-32                                                
400093ec:   00b401a3            sb  a1,3(s0)                                              
        ri->totlen = cpu_to_je32(sizeof(*ri) + cdatalen);                                 
400093f0:   00f40223            sb  a5,4(s0)                                              
400093f4:   00c402a3            sb  a2,5(s0)                                              
400093f8:   00d40323            sb  a3,6(s0)                                              
400093fc:   00e403a3            sb  a4,7(s0)                                              
        ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));     
40009400:   00800613            li  a2,8                                                  
40009404:   00040593            mv  a1,s0                                                 
        comprtype = jffs2_compress(c, f, buf, &comprbuf, &datalen, &cdatalen);            
40009408:   00050d93            mv  s11,a0                                                
        ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));     
4000940c:   00000513            li  a0,0                                                  
40009410:   080010ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
        ri->ino = cpu_to_je32(f->inocache->ino);                                          
40009414:   0144a783            lw  a5,20(s1)                                             
        ri->version = cpu_to_je32(++f->highest_version);                                  
40009418:   0004a703            lw  a4,0(s1)                                              
        ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));     
4000941c:   01055893            srli    a7,a0,0x10                                        
        ri->ino = cpu_to_je32(f->inocache->ino);                                          
40009420:   00c7c583            lbu a1,12(a5)                                             
40009424:   00d7c603            lbu a2,13(a5)                                             
40009428:   00e7c683            lbu a3,14(a5)                                             
4000942c:   00f7c783            lbu a5,15(a5)                                             
        ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));     
40009430:   01855813            srli    a6,a0,0x18                                        
40009434:   00855313            srli    t1,a0,0x8                                         
        ri->version = cpu_to_je32(++f->highest_version);                                  
40009438:   00170713            addi    a4,a4,1                                           
        ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));     
4000943c:   00a40423            sb  a0,8(s0)                                              
40009440:   01140523            sb  a7,10(s0)                                             
40009444:   010405a3            sb  a6,11(s0)                                             
        ri->ino = cpu_to_je32(f->inocache->ino);                                          
40009448:   00b40623            sb  a1,12(s0)                                             
4000944c:   00c406a3            sb  a2,13(s0)                                             
40009450:   00d40723            sb  a3,14(s0)                                             
40009454:   00f407a3            sb  a5,15(s0)                                             
        ri->hdr_crc = cpu_to_je32(crc32(0, ri, sizeof(struct jffs2_unknown_node)-4));     
40009458:   006404a3            sb  t1,9(s0)                                              
        ri->version = cpu_to_je32(++f->highest_version);                                  
4000945c:   00e4a023            sw  a4,0(s1)                                              
        ri->isize = cpu_to_je32(max(je32_to_cpu(ri->isize), offset + datalen));           
40009460:   01d44803            lbu a6,29(s0)                                             
40009464:   01c44583            lbu a1,28(s0)                                             
40009468:   01e44683            lbu a3,30(s0)                                             
4000946c:   01f44603            lbu a2,31(s0)                                             
40009470:   01812783            lw  a5,24(sp)                                             
40009474:   00881813            slli    a6,a6,0x8                                         
40009478:   00b86833            or  a6,a6,a1                                              
4000947c:   01069693            slli    a3,a3,0x10                                        
        ri->version = cpu_to_je32(++f->highest_version);                                  
40009480:   00875893            srli    a7,a4,0x8                                         
40009484:   01075513            srli    a0,a4,0x10                                        
40009488:   01875593            srli    a1,a4,0x18                                        
        ri->isize = cpu_to_je32(max(je32_to_cpu(ri->isize), offset + datalen));           
4000948c:   0106e6b3            or  a3,a3,a6                                              
40009490:   01861813            slli    a6,a2,0x18                                        
        ri->version = cpu_to_je32(++f->highest_version);                                  
40009494:   00e40823            sb  a4,16(s0)                                             
40009498:   011408a3            sb  a7,17(s0)                                             
4000949c:   00a40923            sb  a0,18(s0)                                             
400094a0:   00b409a3            sb  a1,19(s0)                                             
        ri->isize = cpu_to_je32(max(je32_to_cpu(ri->isize), offset + datalen));           
400094a4:   01278733            add a4,a5,s2                                              
400094a8:   00d86833            or  a6,a6,a3                                              
400094ac:   00e87463            bgeu    a6,a4,400094b4 <jffs2_write_inode_range+0x1e4>    
400094b0:   00070813            mv  a6,a4                                                 
        ri->csize = cpu_to_je32(cdatalen);                                                
400094b4:   01c12703            lw  a4,28(sp)                                             
        ri->isize = cpu_to_je32(max(je32_to_cpu(ri->isize), offset + datalen));           
400094b8:   00885093            srli    ra,a6,0x8                                         
400094bc:   01085393            srli    t2,a6,0x10                                        
400094c0:   01885293            srli    t0,a6,0x18                                        
400094c4:   01040e23            sb  a6,28(s0)                                             
        ri->offset = cpu_to_je32(offset);                                                 
400094c8:   00412803            lw  a6,4(sp)                                              
        ri->csize = cpu_to_je32(cdatalen);                                                
400094cc:   00875f93            srli    t6,a4,0x8                                         
400094d0:   01075f13            srli    t5,a4,0x10                                        
400094d4:   01875e93            srli    t4,a4,0x18                                        
        ri->dsize = cpu_to_je32(datalen);                                                 
400094d8:   0087de13            srli    t3,a5,0x8                                         
400094dc:   0107d313            srli    t1,a5,0x10                                        
400094e0:   0187d893            srli    a7,a5,0x18                                        
        ri->offset = cpu_to_je32(offset);                                                 
400094e4:   01895693            srli    a3,s2,0x18                                        
        ri->compr = comprtype & 0xff;                                                     
        ri->usercompr = (comprtype >> 8 ) & 0xff;                                         
400094e8:   008dd513            srli    a0,s11,0x8                                        
        ri->isize = cpu_to_je32(max(je32_to_cpu(ri->isize), offset + datalen));           
400094ec:   00140ea3            sb  ra,29(s0)                                             
400094f0:   00740f23            sb  t2,30(s0)                                             
400094f4:   00540fa3            sb  t0,31(s0)                                             
        ri->offset = cpu_to_je32(offset);                                                 
400094f8:   03040723            sb  a6,46(s0)                                             
        ri->csize = cpu_to_je32(cdatalen);                                                
400094fc:   03f408a3            sb  t6,49(s0)                                             
40009500:   03e40923            sb  t5,50(s0)                                             
40009504:   03d409a3            sb  t4,51(s0)                                             
        ri->dsize = cpu_to_je32(datalen);                                                 
40009508:   03c40aa3            sb  t3,53(s0)                                             
4000950c:   02640b23            sb  t1,54(s0)                                             
40009510:   03140ba3            sb  a7,55(s0)                                             
        ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                          
40009514:   03c00613            li  a2,60                                                 
40009518:   00040593            mv  a1,s0                                                 
        ri->offset = cpu_to_je32(offset);                                                 
4000951c:   02d407a3            sb  a3,47(s0)                                             
        ri->csize = cpu_to_je32(cdatalen);                                                
40009520:   02e40823            sb  a4,48(s0)                                             
        ri->dsize = cpu_to_je32(datalen);                                                 
40009524:   02f40a23            sb  a5,52(s0)                                             
        ri->usercompr = (comprtype >> 8 ) & 0xff;                                         
40009528:   02a40ca3            sb  a0,57(s0)                                             
        ri->offset = cpu_to_je32(offset);                                                 
4000952c:   03240623            sb  s2,44(s0)                                             
40009530:   036406a3            sb  s6,45(s0)                                             
        ri->compr = comprtype & 0xff;                                                     
40009534:   03b40c23            sb  s11,56(s0)                                            
        ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                          
40009538:   00000513            li  a0,0                                                  
4000953c:   755000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
        ri->data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                         
40009540:   01c12603            lw  a2,28(sp)                                             
40009544:   01012583            lw  a1,16(sp)                                             
        ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));                          
40009548:   00855693            srli    a3,a0,0x8                                         
4000954c:   01055713            srli    a4,a0,0x10                                        
40009550:   01855793            srli    a5,a0,0x18                                        
40009554:   04a40023            sb  a0,64(s0)                                             
40009558:   04d400a3            sb  a3,65(s0)                                             
4000955c:   04e40123            sb  a4,66(s0)                                             
40009560:   04f401a3            sb  a5,67(s0)                                             
        ri->data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                         
40009564:   00000513            li  a0,0                                                  
40009568:   729000ef            jal ra,4000a490 <cyg_crc32_accumulate>                    
                                                                                          
        fn = jffs2_write_dnode(c, f, ri, comprbuf, cdatalen, ALLOC_NORETRY);              
4000956c:   01c12703            lw  a4,28(sp)                                             
40009570:   01012683            lw  a3,16(sp)                                             
        ri->data_crc = cpu_to_je32(crc32(0, comprbuf, cdatalen));                         
40009574:   00855593            srli    a1,a0,0x8                                         
40009578:   01055613            srli    a2,a0,0x10                                        
4000957c:   01855793            srli    a5,a0,0x18                                        
40009580:   02a40e23            sb  a0,60(s0)                                             
40009584:   02b40ea3            sb  a1,61(s0)                                             
40009588:   02c40f23            sb  a2,62(s0)                                             
4000958c:   02f40fa3            sb  a5,63(s0)                                             
        fn = jffs2_write_dnode(c, f, ri, comprbuf, cdatalen, ALLOC_NORETRY);              
40009590:   00040613            mv  a2,s0                                                 
40009594:   00300793            li  a5,3                                                  
40009598:   00048593            mv  a1,s1                                                 
4000959c:   00098513            mv  a0,s3                                                 
400095a0:   bf8ff0ef            jal ra,40008998 <jffs2_write_dnode>                       
                                                                                          
        jffs2_free_comprbuf(comprbuf, buf);                                               
                                                                                          
        if (IS_ERR(fn)) {                                                                 
400095a4:   c1800793            li  a5,-1000                                              
        fn = jffs2_write_dnode(c, f, ri, comprbuf, cdatalen, ALLOC_NORETRY);              
400095a8:   00050a93            mv  s5,a0                                                 
        if (IS_ERR(fn)) {                                                                 
400095ac:   06a7f663            bgeu    a5,a0,40009618 <jffs2_write_inode_range+0x348>    
            ret = PTR_ERR(fn);                                                            
            mutex_unlock(&f->sem);                                                        
            jffs2_complete_reservation(c);                                                
400095b0:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
400095b4:   cd4fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
            if (!retried) {                                                               
400095b8:   00100793            li  a5,1                                                  <== NOT EXECUTED
400095bc:   04fc9a63            bne s9,a5,40009610 <jffs2_write_inode_range+0x340>        <== NOT EXECUTED
            ret = PTR_ERR(fn);                                                            
400095c0:   000a8d93            mv  s11,s5                                                <== NOT EXECUTED
        writtenlen += datalen;                                                            
        offset += datalen;                                                                
        writelen -= datalen;                                                              
        buf += datalen;                                                                   
    }                                                                                     
    *retlen = writtenlen;                                                                 
400095c4:   00c12783            lw  a5,12(sp)                                             
400095c8:   00812703            lw  a4,8(sp)                                              
    return ret;                                                                           
}                                                                                         
400095cc:   05c12083            lw  ra,92(sp)                                             
400095d0:   05812403            lw  s0,88(sp)                                             
    *retlen = writtenlen;                                                                 
400095d4:   00e7a023            sw  a4,0(a5)                                              
}                                                                                         
400095d8:   05412483            lw  s1,84(sp)                                             
400095dc:   05012903            lw  s2,80(sp)                                             
400095e0:   04c12983            lw  s3,76(sp)                                             
400095e4:   04812a03            lw  s4,72(sp)                                             
400095e8:   04412a83            lw  s5,68(sp)                                             
400095ec:   04012b03            lw  s6,64(sp)                                             
400095f0:   03c12b83            lw  s7,60(sp)                                             
400095f4:   03812c03            lw  s8,56(sp)                                             
400095f8:   03412c83            lw  s9,52(sp)                                             
400095fc:   03012d03            lw  s10,48(sp)                                            
40009600:   000d8513            mv  a0,s11                                                
40009604:   02c12d83            lw  s11,44(sp)                                            
40009608:   06010113            addi    sp,sp,96                                          
4000960c:   00008067            ret                                                       
40009610:   00100c93            li  s9,1                                                  <== NOT EXECUTED
40009614:   d49ff06f            j   4000935c <jffs2_write_inode_range+0x8c>               <== NOT EXECUTED
        ret = jffs2_add_full_dnode_to_inode(c, f, fn);                                    
40009618:   00050613            mv  a2,a0                                                 
4000961c:   00048593            mv  a1,s1                                                 
40009620:   00098513            mv  a0,s3                                                 
40009624:   f54fb0ef            jal ra,40004d78 <jffs2_add_full_dnode_to_inode>           
        if (f->metadata) {                                                                
40009628:   0084a783            lw  a5,8(s1)                                              
        ret = jffs2_add_full_dnode_to_inode(c, f, fn);                                    
4000962c:   00050d93            mv  s11,a0                                                
        if (f->metadata) {                                                                
40009630:   00078e63            beqz    a5,4000964c <jffs2_write_inode_range+0x37c>       
            jffs2_mark_node_obsolete(c, f->metadata->raw);                                
40009634:   0007a583            lw  a1,0(a5)                                              
40009638:   00098513            mv  a0,s3                                                 
4000963c:   c60fc0ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                
            jffs2_free_full_dnode(f->metadata);                                           
40009640:   0084a503            lw  a0,8(s1)                                              
40009644:   a40fb0ef            jal ra,40004884 <jffs2_free_full_dnode>                   
            f->metadata = NULL;                                                           
40009648:   0004a423            sw  zero,8(s1)                                            
        if (ret) {                                                                        
4000964c:   040d9a63            bnez    s11,400096a0 <jffs2_write_inode_range+0x3d0>      <== NEVER TAKEN
        jffs2_complete_reservation(c);                                                    
40009650:   00098513            mv  a0,s3                                                 
40009654:   c34fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              
        if (!datalen) {                                                                   
40009658:   01812783            lw  a5,24(sp)                                             
4000965c:   02078863            beqz    a5,4000968c <jffs2_write_inode_range+0x3bc>       <== NEVER TAKEN
        writtenlen += datalen;                                                            
40009660:   00812703            lw  a4,8(sp)                                              
        writelen -= datalen;                                                              
40009664:   40fb8bb3            sub s7,s7,a5                                              
        offset += datalen;                                                                
40009668:   00f90933            add s2,s2,a5                                              
        writtenlen += datalen;                                                            
4000966c:   00f70733            add a4,a4,a5                                              
40009670:   00e12423            sw  a4,8(sp)                                              
        buf += datalen;                                                                   
40009674:   00fc0c33            add s8,s8,a5                                              
    while(writelen) {                                                                     
40009678:   ca0b9ce3            bnez    s7,40009330 <jffs2_write_inode_range+0x60>        
4000967c:   f49ff06f            j   400095c4 <jffs2_write_inode_range+0x2f4>              
    uint32_t writtenlen = 0;                                                              
40009680:   00012423            sw  zero,8(sp)                                            <== NOT EXECUTED
    while(writelen) {                                                                     
40009684:   00000d93            li  s11,0                                                 <== NOT EXECUTED
40009688:   f3dff06f            j   400095c4 <jffs2_write_inode_range+0x2f4>              <== NOT EXECUTED
            pr_warn("Eep. We didn't actually write any data in jffs2_write_inode_range()\n");
4000968c:   4001f537            lui a0,0x4001f                                            <== NOT EXECUTED
40009690:   13850513            addi    a0,a0,312 # 4001f138 <__func__.9+0x180>           <== NOT EXECUTED
40009694:   968ff0ef            jal ra,400087fc <jffs2_printk>                            <== NOT EXECUTED
            ret = -EIO;                                                                   
40009698:   ffb00d93            li  s11,-5                                                <== NOT EXECUTED
            break;                                                                        
4000969c:   f29ff06f            j   400095c4 <jffs2_write_inode_range+0x2f4>              <== NOT EXECUTED
            jffs2_mark_node_obsolete(c, fn->raw);                                         
400096a0:   000aa583            lw  a1,0(s5)                                              <== NOT EXECUTED
400096a4:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
400096a8:   bf4fc0ef            jal ra,40005a9c <jffs2_mark_node_obsolete>                <== NOT EXECUTED
            jffs2_free_full_dnode(fn);                                                    
400096ac:   000a8513            mv  a0,s5                                                 <== NOT EXECUTED
400096b0:   9d4fb0ef            jal ra,40004884 <jffs2_free_full_dnode>                   <== NOT EXECUTED
            jffs2_complete_reservation(c);                                                
400096b4:   00098513            mv  a0,s3                                                 <== NOT EXECUTED
400096b8:   bd0fc0ef            jal ra,40005a88 <jffs2_complete_reservation>              <== NOT EXECUTED
            break;                                                                        
400096bc:   f09ff06f            j   400095c4 <jffs2_write_inode_range+0x2f4>              <== NOT EXECUTED
                                                                                          

40000958 <rtems_jffs2_compressor_rtime_compress>: unsigned char *data_in, unsigned char *cpage_out, uint32_t *sourcelen, uint32_t *dstlen ) {
40000958:   de010113            addi    sp,sp,-544                                        
4000095c:   20812c23            sw  s0,536(sp)                                            
40000960:   21312623            sw  s3,524(sp)                                            
40000964:   00058413            mv  s0,a1                                                 
40000968:   00060993            mv  s3,a2                                                 
    int outpos = 0;                                                                       
    int pos=0;                                                                            
                                                                                          
    (void) self;                                                                          
                                                                                          
    memset(positions,0,sizeof(positions));                                                
4000096c:   00000593            li  a1,0                                                  
40000970:   20000613            li  a2,512                                                
40000974:   00010513            mv  a0,sp                                                 
{                                                                                         
40000978:   20912a23            sw  s1,532(sp)                                            
4000097c:   21212823            sw  s2,528(sp)                                            
40000980:   00068493            mv  s1,a3                                                 
40000984:   20112e23            sw  ra,540(sp)                                            
40000988:   00070913            mv  s2,a4                                                 
    memset(positions,0,sizeof(positions));                                                
4000098c:   78c1b0ef            jal ra,4001c118 <memset>                                  
                                                                                          
    while (pos < (*sourcelen) && outpos <= (*dstlen)-2) {                                 
40000990:   0004a783            lw  a5,0(s1)                                              
40000994:   0e078c63            beqz    a5,40000a8c <rtems_jffs2_compressor_rtime_compress+0x134><== NEVER TAKEN
40000998:   00098613            mv  a2,s3                                                 
4000099c:   00000793            li  a5,0                                                  
    int pos=0;                                                                            
400009a0:   00000e93            li  t4,0                                                  
    int outpos = 0;                                                                       
400009a4:   00000693            li  a3,0                                                  
                                                                                          
        backpos = positions[value];                                                       
        positions[value]=pos;                                                             
                                                                                          
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
               (data_in[pos]==data_in[backpos++]) && (runlen<255)) {                      
400009a8:   0ff00293            li  t0,255                                                
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
400009ac:   ffe00393            li  t2,-2                                                 
        value = data_in[pos];                                                             
400009b0:   00f407b3            add a5,s0,a5                                              
400009b4:   0007c583            lbu a1,0(a5)                                              
        backpos = positions[value];                                                       
400009b8:   20010713            addi    a4,sp,512                                         
        cpage_out[outpos++] = data_in[pos++];                                             
400009bc:   001e8893            addi    a7,t4,1                                           
        backpos = positions[value];                                                       
400009c0:   00159793            slli    a5,a1,0x1                                         
400009c4:   00f707b3            add a5,a4,a5                                              
400009c8:   e007d703            lhu a4,-512(a5)                                           
        cpage_out[outpos++] = data_in[pos++];                                             
400009cc:   00b60023            sb  a1,0(a2)                                              
        positions[value]=pos;                                                             
400009d0:   e1179023            sh  a7,-512(a5)                                           
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
400009d4:   0d175c63            bge a4,a7,40000aac <rtems_jffs2_compressor_rtime_compress+0x154>
400009d8:   41d38f33            sub t5,t2,t4                                              
400009dc:   0004af83            lw  t6,0(s1)                                              
        int backpos, runlen=0;                                                            
400009e0:   00000813            li  a6,0                                                  
               (data_in[pos]==data_in[backpos++]) && (runlen<255)) {                      
400009e4:   41d70eb3            sub t4,a4,t4                                              
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
400009e8:   00ef0f33            add t5,t5,a4                                              
400009ec:   0280006f            j   40000a14 <rtems_jffs2_compressor_rtime_compress+0xbc> 
400009f0:   0005ce03            lbu t3,0(a1)                                              
400009f4:   fff54583            lbu a1,-1(a0)                                             
400009f8:   02be1a63            bne t3,a1,40000a2c <rtems_jffs2_compressor_rtime_compress+0xd4>
               (data_in[pos]==data_in[backpos++]) && (runlen<255)) {                      
400009fc:   08580263            beq a6,t0,40000a80 <rtems_jffs2_compressor_rtime_compress+0x128>
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
40000a00:   006f05b3            add a1,t5,t1                                              
40000a04:   00030793            mv  a5,t1                                                 
            pos++;                                                                        
            runlen++;                                                                     
40000a08:   00180813            addi    a6,a6,1                                           
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
40000a0c:   0315d063            bge a1,a7,40000a2c <rtems_jffs2_compressor_rtime_compress+0xd4>
            pos++;                                                                        
40000a10:   00030893            mv  a7,t1                                                 
               (data_in[pos]==data_in[backpos++]) && (runlen<255)) {                      
40000a14:   011e8533            add a0,t4,a7                                              
40000a18:   00088793            mv  a5,a7                                                 
40000a1c:   011405b3            add a1,s0,a7                                              
40000a20:   00a40533            add a0,s0,a0                                              
            pos++;                                                                        
40000a24:   00188313            addi    t1,a7,1                                           
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
40000a28:   fdf8e4e3            bltu    a7,t6,400009f0 <rtems_jffs2_compressor_rtime_compress+0x98>
        }                                                                                 
        cpage_out[outpos++] = runlen;                                                     
40000a2c:   0ff87813            andi    a6,a6,255                                         
40000a30:   00078e93            mv  t4,a5                                                 
40000a34:   010600a3            sb  a6,1(a2)                                              
    while (pos < (*sourcelen) && outpos <= (*dstlen)-2) {                                 
40000a38:   0004a703            lw  a4,0(s1)                                              
        cpage_out[outpos++] = runlen;                                                     
40000a3c:   00268693            addi    a3,a3,2                                           
    while (pos < (*sourcelen) && outpos <= (*dstlen)-2) {                                 
40000a40:   00e7fa63            bgeu    a5,a4,40000a54 <rtems_jffs2_compressor_rtime_compress+0xfc>
40000a44:   00092703            lw  a4,0(s2)                                              
40000a48:   00260613            addi    a2,a2,2                                           
40000a4c:   ffe70713            addi    a4,a4,-2                                          
40000a50:   f6d770e3            bgeu    a4,a3,400009b0 <rtems_jffs2_compressor_rtime_compress+0x58>
    }                                                                                     
                                                                                          
    if (outpos >= pos) {                                                                  
40000a54:   03d6dc63            bge a3,t4,40000a8c <rtems_jffs2_compressor_rtime_compress+0x134>
                                                                                          
    /* Tell the caller how much we managed to compress, and how much space it took */     
    *sourcelen = pos;                                                                     
    *dstlen = outpos;                                                                     
    return JFFS2_COMPR_RTIME;                                                             
}                                                                                         
40000a58:   21c12083            lw  ra,540(sp)                                            
40000a5c:   21812403            lw  s0,536(sp)                                            
    *sourcelen = pos;                                                                     
40000a60:   00f4a023            sw  a5,0(s1)                                              
    *dstlen = outpos;                                                                     
40000a64:   00d92023            sw  a3,0(s2)                                              
}                                                                                         
40000a68:   21412483            lw  s1,532(sp)                                            
40000a6c:   21012903            lw  s2,528(sp)                                            
40000a70:   20c12983            lw  s3,524(sp)                                            
    return JFFS2_COMPR_RTIME;                                                             
40000a74:   00200513            li  a0,2                                                  
}                                                                                         
40000a78:   22010113            addi    sp,sp,544                                         
40000a7c:   00008067            ret                                                       
40000a80:   00088e93            mv  t4,a7                                                 
40000a84:   0ff00813            li  a6,255                                                
40000a88:   fadff06f            j   40000a34 <rtems_jffs2_compressor_rtime_compress+0xdc> 
40000a8c:   21c12083            lw  ra,540(sp)                                            
40000a90:   21812403            lw  s0,536(sp)                                            
40000a94:   21412483            lw  s1,532(sp)                                            
40000a98:   21012903            lw  s2,528(sp)                                            
40000a9c:   20c12983            lw  s3,524(sp)                                            
        return JFFS2_COMPR_NONE;                                                          
40000aa0:   00000513            li  a0,0                                                  
}                                                                                         
40000aa4:   22010113            addi    sp,sp,544                                         
40000aa8:   00008067            ret                                                       
        while ((backpos < pos) && (pos < (*sourcelen)) &&                                 
40000aac:   00088793            mv  a5,a7                                                 <== NOT EXECUTED
40000ab0:   00088e93            mv  t4,a7                                                 <== NOT EXECUTED
40000ab4:   00000813            li  a6,0                                                  <== NOT EXECUTED
40000ab8:   f7dff06f            j   40000a34 <rtems_jffs2_compressor_rtime_compress+0xdc> <== NOT EXECUTED
                                                                                          

40000abc <rtems_jffs2_compressor_rtime_decompress>: int outpos = 0; int pos=0; (void) self; if (comprtype != JFFS2_COMPR_RTIME) {
40000abc:   00200713            li  a4,2                                                  
40000ac0:   10e59a63            bne a1,a4,40000bd4 <rtems_jffs2_compressor_rtime_decompress+0x118>
{                                                                                         
40000ac4:   de010113            addi    sp,sp,-544                                        
40000ac8:   21212823            sw  s2,528(sp)                                            
        return -EIO;                                                                      
    }                                                                                     
                                                                                          
    memset(positions,0,sizeof(positions));                                                
40000acc:   00000593            li  a1,0                                                  
40000ad0:   00060913            mv  s2,a2                                                 
40000ad4:   00010513            mv  a0,sp                                                 
40000ad8:   20000613            li  a2,512                                                
{                                                                                         
40000adc:   20812c23            sw  s0,536(sp)                                            
40000ae0:   20912a23            sw  s1,532(sp)                                            
40000ae4:   21412423            sw  s4,520(sp)                                            
40000ae8:   21512223            sw  s5,516(sp)                                            
40000aec:   00068a13            mv  s4,a3                                                 
40000af0:   20112e23            sw  ra,540(sp)                                            
40000af4:   21312623            sw  s3,524(sp)                                            
40000af8:   00078a93            mv  s5,a5                                                 
    memset(positions,0,sizeof(positions));                                                
40000afc:   61c1b0ef            jal ra,4001c118 <memset>                                  
    int outpos = 0;                                                                       
40000b00:   00000813            li  a6,0                                                  
                                                                                          
    while (outpos<destlen) {                                                              
40000b04:   00000413            li  s0,0                                                  
40000b08:   001a0493            addi    s1,s4,1                                           
40000b0c:   020a9863            bnez    s5,40000b3c <rtems_jffs2_compressor_rtime_decompress+0x80><== ALWAYS TAKEN
40000b10:   0680006f            j   40000b78 <rtems_jffs2_compressor_rtime_decompress+0xbc><== NOT EXECUTED
        repeat = data_in[pos++];                                                          
        backoffs = positions[value];                                                      
                                                                                          
        positions[value]=outpos;                                                          
        if (repeat) {                                                                     
            if (backoffs + repeat >= outpos) {                                            
40000b14:   013587b3            add a5,a1,s3                                              
40000b18:   08e7d463            bge a5,a4,40000ba0 <rtems_jffs2_compressor_rtime_decompress+0xe4>
                while(repeat) {                                                           
                    cpage_out[outpos++] = cpage_out[backoffs++];                          
                    repeat--;                                                             
                }                                                                         
            } else {                                                                      
                memcpy(&cpage_out[outpos],&cpage_out[backoffs],repeat);                   
40000b1c:   00ea0533            add a0,s4,a4                                              
40000b20:   00098613            mv  a2,s3                                                 
40000b24:   00ba05b3            add a1,s4,a1                                              
40000b28:   4c81b0ef            jal ra,4001bff0 <memcpy>                                  
                outpos+=repeat;                                                           
40000b2c:   01340833            add a6,s0,s3                                              
    while (outpos<destlen) {                                                              
40000b30:   00080413            mv  s0,a6                                                 
40000b34:   00290913            addi    s2,s2,2                                           
40000b38:   05547063            bgeu    s0,s5,40000b78 <rtems_jffs2_compressor_rtime_decompress+0xbc>
        value = data_in[pos++];                                                           
40000b3c:   00094503            lbu a0,0(s2)                                              
        cpage_out[outpos++] = value; /* first the verbatim copied byte */                 
40000b40:   008a0433            add s0,s4,s0                                              
        backoffs = positions[value];                                                      
40000b44:   20010793            addi    a5,sp,512                                         
        cpage_out[outpos++] = value; /* first the verbatim copied byte */                 
40000b48:   00a40023            sb  a0,0(s0)                                              
        repeat = data_in[pos++];                                                          
40000b4c:   00194983            lbu s3,1(s2)                                              
        backoffs = positions[value];                                                      
40000b50:   00151513            slli    a0,a0,0x1                                         
        cpage_out[outpos++] = value; /* first the verbatim copied byte */                 
40000b54:   00180713            addi    a4,a6,1                                           
        backoffs = positions[value];                                                      
40000b58:   00a78533            add a0,a5,a0                                              
40000b5c:   e0055583            lhu a1,-512(a0)                                           
        positions[value]=outpos;                                                          
40000b60:   e0e51023            sh  a4,-512(a0)                                           
                memcpy(&cpage_out[outpos],&cpage_out[backoffs],repeat);                   
40000b64:   00070413            mv  s0,a4                                                 
        if (repeat) {                                                                     
40000b68:   fa0996e3            bnez    s3,40000b14 <rtems_jffs2_compressor_rtime_decompress+0x58>
        cpage_out[outpos++] = value; /* first the verbatim copied byte */                 
40000b6c:   00070813            mv  a6,a4                                                 
    while (outpos<destlen) {                                                              
40000b70:   00290913            addi    s2,s2,2                                           
40000b74:   fd5464e3            bltu    s0,s5,40000b3c <rtems_jffs2_compressor_rtime_decompress+0x80>
            }                                                                             
        }                                                                                 
    }                                                                                     
    return 0;                                                                             
}                                                                                         
40000b78:   21c12083            lw  ra,540(sp)                                            
40000b7c:   21812403            lw  s0,536(sp)                                            
40000b80:   21412483            lw  s1,532(sp)                                            
40000b84:   21012903            lw  s2,528(sp)                                            
40000b88:   20c12983            lw  s3,524(sp)                                            
40000b8c:   20812a03            lw  s4,520(sp)                                            
40000b90:   20412a83            lw  s5,516(sp)                                            
    return 0;                                                                             
40000b94:   00000513            li  a0,0                                                  
}                                                                                         
40000b98:   22010113            addi    sp,sp,544                                         
40000b9c:   00008067            ret                                                       
40000ba0:   010488b3            add a7,s1,a6                                              
40000ba4:   00ea0733            add a4,s4,a4                                              
40000ba8:   013888b3            add a7,a7,s3                                              
                    cpage_out[outpos++] = cpage_out[backoffs++];                          
40000bac:   41070533            sub a0,a4,a6                                              
40000bb0:   00b50533            add a0,a0,a1                                              
40000bb4:   fff54603            lbu a2,-1(a0)                                             
                while(repeat) {                                                           
40000bb8:   00170713            addi    a4,a4,1                                           
                    cpage_out[outpos++] = cpage_out[backoffs++];                          
40000bbc:   fec70fa3            sb  a2,-1(a4)                                             
                while(repeat) {                                                           
40000bc0:   ff1716e3            bne a4,a7,40000bac <rtems_jffs2_compressor_rtime_decompress+0xf0>
                    cpage_out[outpos++] = cpage_out[backoffs++];                          
40000bc4:   01380833            add a6,a6,s3                                              
40000bc8:   00180813            addi    a6,a6,1                                           
    while (outpos<destlen) {                                                              
40000bcc:   00080413            mv  s0,a6                                                 
40000bd0:   f65ff06f            j   40000b34 <rtems_jffs2_compressor_rtime_decompress+0x78>
        return -EIO;                                                                      
40000bd4:   ffb00513            li  a0,-5                                                 <== NOT EXECUTED
}                                                                                         
40000bd8:   00008067            ret                                                       <== NOT EXECUTED
                                                                                          

40002c5c <rtems_jffs2_initialize>: {
40002c5c:   fe010113            addi    sp,sp,-32                                         
40002c60:   01412423            sw  s4,8(sp)                                              
    rtems_jffs2_flash_control *fc = jffs2_mount_data->flash_control;                      
40002c64:   0005aa03            lw  s4,0(a1)                                              
{                                                                                         
40002c68:   01512223            sw  s5,4(sp)                                              
40002c6c:   00912a23            sw  s1,20(sp)                                             
    int inocache_hashsize = calculate_inocache_hashsize(fc->flash_size);                  
40002c70:   004a2a83            lw  s5,4(s4)                                              
{                                                                                         
40002c74:   01212823            sw  s2,16(sp)                                             
40002c78:   01312623            sw  s3,12(sp)                                             
    int size_mb = flash_size / 1024 / 1024;                                               
40002c7c:   014ad493            srli    s1,s5,0x14                                        
    int hashsize = (size_mb * 2) & ~0x3f;                                                 
40002c80:   00149493            slli    s1,s1,0x1                                         
{                                                                                         
40002c84:   00112e23            sw  ra,28(sp)                                             
40002c88:   00812c23            sw  s0,24(sp)                                             
40002c8c:   40000793            li  a5,1024                                               
    int hashsize = (size_mb * 2) & ~0x3f;                                                 
40002c90:   fc04f493            andi    s1,s1,-64                                         
{                                                                                         
40002c94:   00058913            mv  s2,a1                                                 
40002c98:   00050993            mv  s3,a0                                                 
40002c9c:   0097d463            bge a5,s1,40002ca4 <rtems_jffs2_initialize+0x48>          
40002ca0:   40000493            li  s1,1024                                               <== NOT EXECUTED
40002ca4:   08000793            li  a5,128                                                
40002ca8:   00f4d463            bge s1,a5,40002cb0 <rtems_jffs2_initialize+0x54>          
40002cac:   08000493            li  s1,128                                                
        sizeof(*fs_info) + (size_t) inocache_hashsize * sizeof(fs_info->inode_cache[0])   
40002cb0:   48248593            addi    a1,s1,1154                                        
    rtems_jffs2_fs_info *fs_info = calloc(                                                
40002cb4:   00259593            slli    a1,a1,0x2                                         
40002cb8:   00100513            li  a0,1                                                  
40002cbc:   6a80a0ef            jal ra,4000d364 <calloc>                                  
40002cc0:   00050413            mv  s0,a0                                                 
    if (fs_info != NULL) {                                                                
40002cc4:   18050463            beqz    a0,40002e4c <rtems_jffs2_initialize+0x1f0>        <== NEVER TAKEN
        uint32_t blocks = fc->flash_size / fc->block_size;                                
40002cc8:   000a2683            lw  a3,0(s4)                                              
    const char *_name)                                                                    
{                                                                                         
    struct _Mutex_recursive_Control _init =                                               
        _MUTEX_RECURSIVE_NAMED_INITIALIZER(_name);                                        
                                                                                          
    *_mutex = _init;                                                                      
40002ccc:   000017b7            lui a5,0x1                                                
40002cd0:   4001d637            lui a2,0x4001d                                            
40002cd4:   02dad733            divu    a4,s5,a3                                          
40002cd8:   00f507b3            add a5,a0,a5                                              
40002cdc:   d6460613            addi    a2,a2,-668 # 4001cd64 <rtems_test_name+0x4c>      
40002ce0:   0e07a823            sw  zero,240(a5) # 10f0 <_ISR_Stack_size+0xf0>            
40002ce4:   0e07aa23            sw  zero,244(a5)                                          
40002ce8:   0e07ac23            sw  zero,248(a5)                                          
40002cec:   0e07ae23            sw  zero,252(a5)                                          
40002cf0:   10c7a023            sw  a2,256(a5)                                            
40002cf4:   1007a223            sw  zero,260(a5)                                          
        if ((fc->block_size * blocks) != fc->flash_size) {                                
40002cf8:   02d705b3            mul a1,a4,a3                                              
40002cfc:   0eba9c63            bne s5,a1,40002df4 <rtems_jffs2_initialize+0x198>         
        if (fc->flash_size < 5*fc->block_size) {                                          
40002d00:   00269713            slli    a4,a3,0x2                                         
40002d04:   00d70733            add a4,a4,a3                                              
40002d08:   10e5ea63            bltu    a1,a4,40002e1c <rtems_jffs2_initialize+0x1c0>     
        sb->s_compressor_control = jffs2_mount_data->compressor_control;                  
40002d0c:   00492783            lw  a5,4(s2)                                              
        sb->s_is_readonly = !mt_entry->writeable;                                         
40002d10:   0299c603            lbu a2,41(s3)                                             
        c->inocache_list = &fs_info->inode_cache[0];                                      
40002d14:   00001737            lui a4,0x1                                                
40002d18:   20870713            addi    a4,a4,520 # 1208 <_ISR_Stack_size+0x208>          
        sb->s_is_readonly = !mt_entry->writeable;                                         
40002d1c:   00164613            xori    a2,a2,1                                           
        c->inocache_list = &fs_info->inode_cache[0];                                      
40002d20:   00e40733            add a4,s0,a4                                              
        sb->s_compressor_control = jffs2_mount_data->compressor_control;                  
40002d24:   0ef42423            sw  a5,232(s0)                                            
        err = jffs2_do_mount_fs(c);                                                       
40002d28:   00040513            mv  a0,s0                                                 
        c->cleanmarker_size = sizeof(struct jffs2_unknown_node);                          
40002d2c:   00c00793            li  a5,12                                                 
        c->inocache_hashsize = inocache_hashsize;                                         
40002d30:   0c942023            sw  s1,192(s0)                                            
        sb->s_is_readonly = !mt_entry->writeable;                                         
40002d34:   0ec40623            sb  a2,236(s0)                                            
        sb->s_flash_control = fc;                                                         
40002d38:   0f442223            sw  s4,228(s0)                                            
        c->inocache_list = &fs_info->inode_cache[0];                                      
40002d3c:   0ce42223            sw  a4,196(s0)                                            
        c->sector_size = fc->block_size;                                                  
40002d40:   02d42a23            sw  a3,52(s0)                                             
        c->flash_size = fc->flash_size;                                                   
40002d44:   00b42c23            sw  a1,24(s0)                                             
        c->cleanmarker_size = sizeof(struct jffs2_unknown_node);                          
40002d48:   00f42a23            sw  a5,20(s0)                                             
        err = jffs2_do_mount_fs(c);                                                       
40002d4c:   134070ef            jal ra,40009e80 <jffs2_do_mount_fs>                       
40002d50:   00050493            mv  s1,a0                                                 
    if (err == 0) {                                                                       
40002d54:   12051263            bnez    a0,40002e78 <rtems_jffs2_initialize+0x21c>        <== NEVER TAKEN
        sb->s_root = jffs2_iget(sb, 1);                                                   
40002d58:   00100593            li  a1,1                                                  
40002d5c:   00040513            mv  a0,s0                                                 
40002d60:   db9ff0ef            jal ra,40002b18 <jffs2_iget>                              
40002d64:   0ea42023            sw  a0,224(s0)                                            
        if (IS_ERR(sb->s_root)) {                                                         
40002d68:   c1800713            li  a4,-1000                                              
        sb->s_root = jffs2_iget(sb, 1);                                                   
40002d6c:   00050793            mv  a5,a0                                                 
        if (IS_ERR(sb->s_root)) {                                                         
40002d70:   04a76e63            bltu    a4,a0,40002dcc <rtems_jffs2_initialize+0x170>     
        if (!jffs2_is_readonly(c)) {                                                      
40002d74:   0ec44703            lbu a4,236(s0)                                            
        sb->s_root->i_parent = sb->s_root;                                                
40002d78:   02f7aa23            sw  a5,52(a5)                                             
        if (!jffs2_is_readonly(c)) {                                                      
40002d7c:   06070263            beqz    a4,40002de0 <rtems_jffs2_initialize+0x184>        <== ALWAYS TAKEN
        mt_entry->mt_fs_root->location.node_access = sb->s_root;                          
40002d80:   0249a683            lw  a3,36(s3)                                             
        mt_entry->ops = &rtems_jffs2_ops;                                                 
40002d84:   4001d737            lui a4,0x4001d                                            
40002d88:   18870713            addi    a4,a4,392 # 4001d188 <rtems_jffs2_ops>            
        mt_entry->fs_info = fs_info;                                                      
40002d8c:   0089a423            sw  s0,8(s3)                                              
        mt_entry->ops = &rtems_jffs2_ops;                                                 
40002d90:   00e9a623            sw  a4,12(s3)                                             
        mt_entry->mt_fs_root->location.node_access = sb->s_root;                          
40002d94:   00f6a423            sw  a5,8(a3) # a008 <bsp_section_rodata_size+0x4f34>      
        mt_entry->mt_fs_root->location.handlers = &rtems_jffs2_directory_handlers;        
40002d98:   4001d7b7            lui a5,0x4001d                                            
40002d9c:   0c878793            addi    a5,a5,200 # 4001d0c8 <rtems_jffs2_directory_handlers>
40002da0:   00f6a823            sw  a5,16(a3)                                             
}                                                                                         
40002da4:   01c12083            lw  ra,28(sp)                                             
40002da8:   01812403            lw  s0,24(sp)                                             
40002dac:   01012903            lw  s2,16(sp)                                             
40002db0:   00c12983            lw  s3,12(sp)                                             
40002db4:   00812a03            lw  s4,8(sp)                                              
40002db8:   00412a83            lw  s5,4(sp)                                              
40002dbc:   00048513            mv  a0,s1                                                 
40002dc0:   01412483            lw  s1,20(sp)                                             
40002dc4:   02010113            addi    sp,sp,32                                          
40002dc8:   00008067            ret                                                       
    if (err == 0) {                                                                       
40002dcc:   fa0504e3            beqz    a0,40002d74 <rtems_jffs2_initialize+0x118>        <== NOT EXECUTED
            err = PTR_ERR(sb->s_root);                                                    
40002dd0:   00050493            mv  s1,a0                                                 <== NOT EXECUTED
        do_mount_fs_was_successful = true;                                                
40002dd4:   00100593            li  a1,1                                                  <== NOT EXECUTED
        errno = -err;                                                                     
40002dd8:   409004b3            neg s1,s1                                                 <== NOT EXECUTED
40002ddc:   0580006f            j   40002e34 <rtems_jffs2_initialize+0x1d8>               <== NOT EXECUTED
            jffs2_erase_pending_blocks(c, 0);                                             
40002de0:   00000593            li  a1,0                                                  
40002de4:   00040513            mv  a0,s0                                                 
40002de8:   618080ef            jal ra,4000b400 <jffs2_erase_pending_blocks>              
        mt_entry->mt_fs_root->location.node_access = sb->s_root;                          
40002dec:   0e042783            lw  a5,224(s0)                                            
40002df0:   f91ff06f            j   40002d80 <rtems_jffs2_initialize+0x124>               
            pr_info("Flash size not aligned to erasesize, reducing to %dKiB\n",           
40002df4:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
            fc->flash_size = fc->block_size * blocks;                                     
40002df8:   00ba2223            sw  a1,4(s4)                                              <== NOT EXECUTED
            pr_info("Flash size not aligned to erasesize, reducing to %dKiB\n",           
40002dfc:   04850513            addi    a0,a0,72 # 4001d048 <rtems_filesystem_table+0x130><== NOT EXECUTED
40002e00:   00a5d593            srli    a1,a1,0xa                                         <== NOT EXECUTED
40002e04:   b88ff0ef            jal ra,4000218c <jffs2_printk>                            <== NOT EXECUTED
        if (fc->flash_size < 5*fc->block_size) {                                          
40002e08:   000a2683            lw  a3,0(s4)                                              <== NOT EXECUTED
40002e0c:   004a2583            lw  a1,4(s4)                                              <== NOT EXECUTED
40002e10:   00269713            slli    a4,a3,0x2                                         <== NOT EXECUTED
40002e14:   00d70733            add a4,a4,a3                                              <== NOT EXECUTED
40002e18:   eee5fae3            bgeu    a1,a4,40002d0c <rtems_jffs2_initialize+0xb0>      <== NOT EXECUTED
            pr_err("Too few erase blocks (%d)\n",                                         
40002e1c:   02d5d5b3            divu    a1,a1,a3                                          <== NOT EXECUTED
40002e20:   4001d537            lui a0,0x4001d                                            <== NOT EXECUTED
40002e24:   08450513            addi    a0,a0,132 # 4001d084 <rtems_filesystem_table+0x16c><== NOT EXECUTED
40002e28:   01600493            li  s1,22                                                 <== NOT EXECUTED
40002e2c:   b60ff0ef            jal ra,4000218c <jffs2_printk>                            <== NOT EXECUTED
    bool do_mount_fs_was_successful = false;                                              
40002e30:   00000593            li  a1,0                                                  <== NOT EXECUTED
            rtems_jffs2_free_fs_info(fs_info, do_mount_fs_was_successful);                
40002e34:   00040513            mv  a0,s0                                                 <== NOT EXECUTED
40002e38:   d68ff0ef            jal ra,400023a0 <rtems_jffs2_free_fs_info>                <== NOT EXECUTED
        errno = -err;                                                                     
40002e3c:   088190ef            jal ra,4001bec4 <__errno>                                 <== NOT EXECUTED
40002e40:   00952023            sw  s1,0(a0)                                              <== NOT EXECUTED
        return -1;                                                                        
40002e44:   fff00493            li  s1,-1                                                 <== NOT EXECUTED
40002e48:   f5dff06f            j   40002da4 <rtems_jffs2_initialize+0x148>               <== NOT EXECUTED
    if (fc->destroy != NULL) {                                                            
40002e4c:   014a2783            lw  a5,20(s4)                                             <== NOT EXECUTED
40002e50:   00078663            beqz    a5,40002e5c <rtems_jffs2_initialize+0x200>        <== NOT EXECUTED
        (*fc->destroy)(fc);                                                               
40002e54:   000a0513            mv  a0,s4                                                 <== NOT EXECUTED
40002e58:   000780e7            jalr    a5                                                <== NOT EXECUTED
            rtems_jffs2_compressor_control_destroy(jffs2_mount_data->compressor_control); 
40002e5c:   00492503            lw  a0,4(s2)                                              <== NOT EXECUTED
    if (cc != NULL && cc->destroy != NULL) {                                              
40002e60:   02050263            beqz    a0,40002e84 <rtems_jffs2_initialize+0x228>        <== NOT EXECUTED
40002e64:   00852783            lw  a5,8(a0)                                              <== NOT EXECUTED
40002e68:   00078e63            beqz    a5,40002e84 <rtems_jffs2_initialize+0x228>        <== NOT EXECUTED
        (*cc->destroy)(cc);                                                               
40002e6c:   000780e7            jalr    a5                                                <== NOT EXECUTED
40002e70:   00c00493            li  s1,12                                                 <== NOT EXECUTED
40002e74:   fc9ff06f            j   40002e3c <rtems_jffs2_initialize+0x1e0>               <== NOT EXECUTED
    bool do_mount_fs_was_successful = false;                                              
40002e78:   00000593            li  a1,0                                                  <== NOT EXECUTED
        errno = -err;                                                                     
40002e7c:   409004b3            neg s1,s1                                                 <== NOT EXECUTED
40002e80:   fb5ff06f            j   40002e34 <rtems_jffs2_initialize+0x1d8>               <== NOT EXECUTED
40002e84:   00c00493            li  s1,12                                                 <== NOT EXECUTED
40002e88:   fb5ff06f            j   40002e3c <rtems_jffs2_initialize+0x1e0>               <== NOT EXECUTED