Changeset 624


Ignore:
Timestamp:
Jan 30, 2014, 5:36:02 PM (10 years ago)
Author:
cfuguet
Message:

Modification in tsar_generic_xbar platform:

  • Using the constant IRQ_PER_PROCESSOR on the hard_config.h file to specify more than one irq from the XICU to each processor.
Location:
trunk/platforms/tsar_generic_xbar
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_xbar/Makefile

    r486 r624  
    55        soclib-cc -x -p top.desc -I.
    66        rm -rf *.o *.x term*
     7
     8.PHONY: simul.x
  • trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/include/tsar_xbar_cluster.h

    r602 r624  
    3636#include "vci_cc_vcache_wrapper.h"
    3737#include "vci_simhelper.h"
     38#include "../../../../giet_vm/hard_config.h"
    3839
    3940namespace soclib { namespace caba {
     
    6263    // interrupt signals
    6364    sc_signal<bool>         signal_false;
    64     sc_signal<bool>         signal_proc_it[8];
     65    sc_signal<bool>         signal_proc_it[8*IRQ_PER_PROCESSOR];
    6566    sc_signal<bool>         signal_irq_mdma[8];
    6667    sc_signal<bool>         signal_irq_mtty[23];
  • trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/src/tsar_xbar_cluster.cpp

    r619 r624  
    185185                     32,                                // number of hard IRQs
    186186                     32,                                // number of soft IRQs
    187                      nb_procs);                         // number of output IRQs
     187                     nb_procs*IRQ_PER_PROCESSOR);       // number of output IRQs
    188188
    189189    wt_xicu = new VciDspinTargetWrapper<vci_param_int,
     
    571571        proc[p]->p_dspin_p2m                (signal_dspin_p2m_proc[p]);
    572572        proc[p]->p_dspin_clack              (signal_dspin_clack_proc[p]);
    573         proc[p]->p_irq[0]                   (signal_proc_it[p]);
    574         for ( size_t j = 1 ; j < 6 ; j++)
     573
     574        for ( size_t i = 0 ; i < IRQ_PER_PROCESSOR ; i++)
     575        {
     576            proc[p]->p_irq[i]               (signal_proc_it[p*IRQ_PER_PROCESSOR+i]);
     577        }
     578        for ( size_t j = IRQ_PER_PROCESSOR ; j < 6 ; j++)
    575579        {
    576580            proc[p]->p_irq[j]               (signal_false);
     
    590594    xicu->p_resetn                     (this->p_resetn);
    591595    xicu->p_vci                        (signal_vci_tgt_xicu);
    592     for (size_t p = 0; p < nb_procs; p++)
    593     {
    594         xicu->p_irq[p]                 (signal_proc_it[p]);
    595     }
    596 
     596
     597    for (size_t i = 0; i < nb_procs*IRQ_PER_PROCESSOR; i++)
     598    {
     599        xicu->p_irq[i]                       (signal_proc_it[i]);
     600    }
    597601    for (size_t i = 0; i < 32; i++)
    598602    {
Note: See TracChangeset for help on using the changeset viewer.