Ignore:
Timestamp:
May 26, 2012, 11:32:06 AM (13 years ago)
Author:
almaless
Message:

Bug-fix: use the loader's reference instead a copy of it. The ram components suppose the loader to be always alive (reload method) which leads to a segmentation fault. Although this issue can be resolved by making a private copy member of the loader and pass its reference to ram components, it necessaite more modifications.

Location:
trunk/platforms/tsarv4_generic_mmu/tsarv4_cluster_mmu/caba/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsarv4_generic_mmu/tsarv4_cluster_mmu/caba/source/include/tsarv4_cluster_mmu.h

    r189 r234  
    138138
    139139        TsarV4ClusterMmu(sc_module_name  insname,
    140                         size_t  nprocs,                            // number of processors
    141                         size_t  n_x,                               // x coordinate
    142                         size_t  n_y,                               // y coordinate
    143                         size_t  n_cluster,                         // y + ymax*x
    144                         const   soclib::common::MappingTable &mtd, // direct mapping table
    145                         const    soclib::common::MappingTable &mtc, // coherence mapping table
    146                         const    soclib::common::MappingTable &mtx, // xram mapping table
    147                         size_t   x_width,                           // x field number of bits
    148                         size_t   y_width,                           // y field number of bits
    149                         size_t   tgtid_memc,
    150                         size_t   tgtid_xicu,
    151                         size_t   tgtid_fbuf,
    152                         size_t  tgtid_mtty,
    153                         size_t  tgtid_brom,
    154                         size_t  tgtid_bdev,
    155                         size_t  tgtid_mdma,
    156                         size_t  memc_ways,                         // number of ways for MEMC
    157                         size_t  memc_sets,                         // number of sets for MEMC
    158                         size_t  l1_i_ways,                         // number of ways for L1 ICACHE
    159                         size_t  l1_i_sets,                         // number of sets for L1 ICACHE
    160                         size_t  l1_d_ways,                         // number of ways for L1 DCACHE
    161                         size_t  l1_d_sets,                         // number of sets for L1 DCACHE
    162                         size_t  xram_latency,                      // external ram latency
    163                         bool     io,                                // I/O cluster if true
    164                         size_t   xfb,                               // frame buffer pixels
    165                         size_t   yfb,                               // frame buffer lines
    166                         char*    disk_name,                         // virtual disk name for BDEV
    167                         size_t   block_size,                        // block size for BDEV
    168                         Loader   loader,                            // loader for BROM
    169                         uint32_t frozen_cycles,                     // max frozen cycles
    170                         uint32_t start_debug_cycle,
    171                         bool     debug_ok);
     140                        size_t          nprocs,                            // number of processors
     141                        size_t          n_x,                               // x coordinate
     142                        size_t          n_y,                               // y coordinate
     143                        size_t          n_cluster,                         // y + ymax*x
     144                        const           soclib::common::MappingTable &mtd, // direct mapping table
     145                        const            soclib::common::MappingTable &mtc, // coherence mapping table
     146                        const            soclib::common::MappingTable &mtx, // xram mapping table
     147                        size_t           x_width,                           // x field number of bits
     148                        size_t           y_width,                           // y field number of bits
     149                        size_t           tgtid_memc,
     150                        size_t           tgtid_xicu,
     151                        size_t           tgtid_fbuf,
     152                        size_t          tgtid_mtty,
     153                        size_t          tgtid_brom,
     154                        size_t          tgtid_bdev,
     155                        size_t          tgtid_mdma,
     156                        size_t          memc_ways,                         // number of ways for MEMC
     157                        size_t          memc_sets,                         // number of sets for MEMC
     158                        size_t          l1_i_ways,                         // number of ways for L1 ICACHE
     159                        size_t          l1_i_sets,                         // number of sets for L1 ICACHE
     160                        size_t          l1_d_ways,                         // number of ways for L1 DCACHE
     161                        size_t          l1_d_sets,                         // number of sets for L1 DCACHE
     162                        size_t          xram_latency,                      // external ram latency
     163                        bool             io,                                // I/O cluster if true
     164                        size_t           xfb,                               // frame buffer pixels
     165                        size_t           yfb,                               // frame buffer lines
     166                        char*            disk_name,                         // virtual disk name for BDEV
     167                        size_t           block_size,                        // block size for BDEV
     168                        const Loader    &loader,                            // loader for BROM
     169                        uint32_t         frozen_cycles,                     // max frozen cycles
     170                        uint32_t         start_debug_cycle,
     171                        bool             debug_ok);
    172172
    173173        ~TsarV4ClusterMmu();
  • trunk/platforms/tsarv4_generic_mmu/tsarv4_cluster_mmu/caba/source/src/tsarv4_cluster_mmu.cpp

    r189 r234  
    3838                        char*           disk_name,
    3939                        size_t          block_size,
    40                         Loader          loader,
     40                        const Loader   &loader,
    4141                        uint32_t        frozen_cycles,
    4242                        uint32_t        debug_start_cycle,
Note: See TracChangeset for help on using the changeset viewer.