Changeset 1025


Ignore:
Timestamp:
Dec 3, 2015, 4:50:09 PM (8 years ago)
Author:
alain
Message:

Modify the mapping of the kernel_init_segment in arch.py
to have only one vseg per BPP.

Location:
trunk/platforms/tsar_generic_iob
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_iob/arch.py

    r1018 r1025  
    2828#  - fbf_width      : frame_buffer width = frame_buffer heigth
    2929#  - ioc_type       : can be 'BDV','HBA','SDC', 'SPI' but not 'RDK'
    30  
     30- mwr_type       : coprocessor type / can be 'GCD','DCT','CPY','NONE'
    3131#
    3232#  The other hardware parameters (defined in this script) are:
     
    3737#  - x_width        : number of bits for x coordinate
    3838#  - y_width        : number of bits for y coordinate
     39#  - p_width        : number of bits for processor local index
    3940#  - paddr_width    : number of bits for physical address
    4041#  - irq_per_proc   : number of input IRQs per processor
    41 #  - use_ramdisk    : use a ramdisk when True
    42 #  - vseg_increment : address increment for replicated vsegs
    43 #  - mwr_type       : coprocessor type / can be 'GCD','DCT','NOPE'
    44 #  - use_dma        : one single channel DMA per cluster if non zero
     42#  - peri_increment : address increment for replicated peripherals
    4543#
    4644#  Regarding the boot and kernel vsegs mapping :
     
    6260          nb_ttys   = 1,
    6361          fbf_width = 128,
    64           ioc_type  = 'BDV' ):
     62          ioc_type  = 'BDV',
     63          mwr_type  = 'CPY' ):
    6564
    6665    ### define architecture constants
     
    7675    irq_per_proc    = 4         
    7776    peri_increment  = 0x10000 
    78     mwr_type        = 'GCD'
    7977
    8078    ### constructor parameters checking
     
    8886             or (y_size == 8) or (y_size == 16) )
    8987
    90     assert( (nb_ttys >= 1) and (nb_ttys <= 8) )
     88    assert( (nb_ttys >= 1) and (nb_ttys <= 16) )
    9189
    9290    assert( ((x_io == 0) and (y_io == 0)) or
     
    9593    assert( ioc_type in [ 'BDV' , 'HBA' , 'SDC' , 'SPI' ] )
    9694
    97     assert( mwr_type in [ 'GCD' , 'DCT' , 'CPY' , 'NONE' ] )
     95    assert( mwr_type in [ 'GCD' , 'DCT' , 'CPY' ] )
    9896 
    9997    ### define platform name
    10098
    10199    platform_name = 'tsar_iob_%d_%d_%d' % ( x_size, y_size , nb_procs )
    102     platform_name += '_%d_%d_%s' % ( fbf_width , nb_ttys , ioc_type )
     100    platform_name += '_%d_%d_%s_%s' % ( fbf_width , nb_ttys , ioc_type , mwr_type )
    103101
    104102    ### define physical segments replicated in all clusters
     
    166164    kernel_code_size     = 0x00100000           # 1 Mbytes per cluster
    167165
    168     kernel_init_vbase    = 0x80100000
     166    kernel_init_vbase    = 0x88000000
    169167    kernel_init_size     = 0x00100000           # 1 Mbytes per cluster
    170168
  • trunk/platforms/tsar_generic_iob/top.cpp

    r1018 r1025  
    1212// - FBUF : Frame Buffer
    1313// - MTTY : multi TTY (one channel)
    14 // - MNIC : Network controller (up to 2 channels)
     14// - MNIC : Network controller (up to 16 channels)
    1515// - CDMA : Chained Buffer DMA controller (up to 4 channels)
    1616// - DISK : Block device controler (BDV / HBA / SDC)
     
    17191719
    17201720                // coprocessor in cluster(x,y)
    1721 //              clusters[x][y]->mwmr->print_trace();
    1722 //              std::ostringstream mwmr_tgt_signame;
    1723 //              mwmr_tgt_signame << "[SIG]MWMR_TGT_" << x << "_" << y;
    1724 //              clusters[x][y]->signal_int_vci_tgt_mwmr.print_trace(mwmr_tgt_signame.str());
    1725 //              std::ostringstream mwmr_ini_signame;
    1726 //              mwmr_ini_signame << "[SIG]MWMR_INI_" << x << "_" << y;
    1727 //              clusters[x][y]->signal_int_vci_ini_mwmr.print_trace(mwmr_ini_signame.str());
    1728 //              if ( USE_MWR_CPY ) clusters[x][y]->cpy->print_trace();
    1729 //              if ( USE_MWR_DCT ) clusters[x][y]->dct->print_trace();
    1730 //              if ( USE_MWR_GCD ) clusters[x][y]->gcd->print_trace();
     1721                clusters[x][y]->mwmr->print_trace();
     1722                std::ostringstream mwmr_tgt_signame;
     1723                mwmr_tgt_signame << "[SIG]MWMR_TGT_" << x << "_" << y;
     1724                clusters[x][y]->signal_int_vci_tgt_mwmr.print_trace(mwmr_tgt_signame.str());
     1725                std::ostringstream mwmr_ini_signame;
     1726                mwmr_ini_signame << "[SIG]MWMR_INI_" << x << "_" << y;
     1727                clusters[x][y]->signal_int_vci_ini_mwmr.print_trace(mwmr_ini_signame.str());
     1728                if ( USE_MWR_CPY ) clusters[x][y]->cpy->print_trace();
     1729                if ( USE_MWR_DCT ) clusters[x][y]->dct->print_trace();
     1730                if ( USE_MWR_GCD ) clusters[x][y]->gcd->print_trace();
    17311731
    17321732                // local interrupts in cluster(x,y)
Note: See TracChangeset for help on using the changeset viewer.