Ignore:
Timestamp:
Apr 5, 2015, 12:24:51 AM (10 years ago)
Author:
alain
Message:

Move the L2/L3 cache coherence from the fat_ioc_access() function to the HBA and BDV drivers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/giet_fat32/fat32.c

    r530 r551  
    7676#endif
    7777
    78     // cache coherence for both L1 & L2 caches
    79     if ( to_mem ) // memory write 
    80     {
    81         // L1 cache (only if L1 cache coherence not guaranteed by hardware)
    82         if ( GIET_NO_HARD_CC ) _dcache_buf_invalidate( buf_vaddr, count<<9 );
    83 
    84         // L2 cache (only if we use an IO-Bridge component in architecture))
    85         if ( USE_IOB ) _mmc_inval( buf_paddr, count<<9 );
    86     }
    87     else         // memory read
    88     {
    89         // L1 cache : nothing to do for L1 write-through
    90 
    91         // L2 cache (only if we use an IO-Bridge component in architecture))
    92         if ( USE_IOB ) _mmc_sync( buf_paddr, count<<9 );
    93     }
    94 
    95     // call the proper descheduling physical device driver
    96  
    97 #if   ( USE_IOC_BDV )
     78
     79#if GIET_NO_HARD_CC     // L1 cache inval (virtual addresses)
     80    if ( to_mem ) _dcache_buf_invalidate( buf_vaddr, count<<9 );
     81#endif
     82
     83
     84#if   ( USE_IOC_BDV )   // call the proper driver
    9885    return( _bdv_access( use_irq , to_mem , lba , buf_paddr , count ) );
    9986#elif ( USE_IOC_HBA )
     
    959946unsigned int p       = procid & ((1<<P_WIDTH)-1);
    960947
    961 _printf("\n[DEBUG FAT] P[%d,%d,%d] enters _scan_directory() for %s\n",
     948_printf("\n[DEBUG FAT] _scan_directory() : P[%d,%d,%d] enters for %s\n",
    962949      x, y, p, file_name );
    963950#endif
     
    12731260unsigned int y       = (procid >> P_WIDTH) & ((1<<Y_WIDTH)-1);
    12741261unsigned int p       = procid & ((1<<P_WIDTH)-1);
    1275 _printf("\n[DEBUG FAT] P[%d,%d,%d] enters _fat_open() for path %s\n",
     1262_printf("\n[DEBUG FAT] _fat_open() : P[%d,%d,%d] enters for path %s\n",
    12761263        x, y, p, pathname );
    12771264#endif
Note: See TracChangeset for help on using the changeset viewer.