Ignore:
Timestamp:
Jun 12, 2013, 10:38:20 AM (11 years ago)
Author:
alain
Message:

Introducing support for several segments (required by tsar_generic_iob platform.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/vci_block_device_tsar/caba/source/include/vci_block_device_tsar.h

    r400 r408  
    101101
    102102    // Registers
    103     sc_signal<int>                    r_target_fsm;       // target fsm state register
    104     sc_signal<int>                    r_initiator_fsm;    // initiator fsm state register
    105     sc_signal<bool>                   r_irq_enable;       // default value is true
    106     sc_signal<uint32_t>               r_nblocks;          // number of blocks in transfer
    107     sc_signal<uint64_t>               r_buf_address;      // memory buffer address
    108     sc_signal<uint32_t>               r_lba;              // first block index
    109     sc_signal<bool>                   r_read;             // requested operation
    110     sc_signal<uint32_t>               r_index;            // word index in local buffer
    111     sc_signal<uint32_t>               r_latency_count;    // latency counter
    112     sc_signal<uint32_t>               r_words_count;      // word counter (in a burst)
    113     sc_signal<uint32_t>               r_burst_count;      // burst counter (in a block)
    114     sc_signal<uint32_t>               r_block_count;      // block counter (in a transfer)
    115     sc_signal<uint32_t>               r_burst_offset;     // number of non aligned words
    116     sc_signal<uint32_t>               r_burst_nwords;     // number of words in a burst
    117     sc_signal<bool>                   r_go;               // command from T_FSM to M_FSM
    118 
    119     sc_signal<sc_dt::sc_uint<vci_param::S> >    r_srcid;  // save srcid
    120     sc_signal<sc_dt::sc_uint<vci_param::T> >    r_trdid;  // save trdid
    121     sc_signal<sc_dt::sc_uint<vci_param::P> >    r_pktid;  // save pktid
    122 
    123     uint32_t*                         r_local_buffer;     // capacity is one block
     103    sc_signal<int>                     r_target_fsm;       // target fsm state register
     104    sc_signal<int>                     r_initiator_fsm;    // initiator fsm state register
     105    sc_signal<bool>                    r_irq_enable;       // default value is true
     106    sc_signal<uint32_t>                r_nblocks;          // number of blocks in transfer
     107    sc_signal<uint64_t>                r_buf_address;      // memory buffer address
     108    sc_signal<uint32_t>                r_lba;              // first block index
     109    sc_signal<bool>                    r_read;             // requested operation
     110    sc_signal<uint32_t>                r_index;            // word index in local buffer
     111    sc_signal<uint32_t>                r_latency_count;    // latency counter
     112    sc_signal<uint32_t>                r_words_count;      // word counter (in a burst)
     113    sc_signal<uint32_t>                r_burst_count;      // burst counter (in a block)
     114    sc_signal<uint32_t>                r_block_count;      // block counter (in a transfer)
     115    sc_signal<uint32_t>                r_burst_offset;     // number of non aligned words
     116    sc_signal<uint32_t>                r_burst_nwords;     // number of words in a burst
     117    sc_signal<bool>                    r_go;               // command from T_FSM to M_FSM
     118
     119    sc_signal<sc_dt::sc_uint<vci_param::S> >    r_srcid;   // save srcid
     120    sc_signal<sc_dt::sc_uint<vci_param::T> >    r_trdid;   // save trdid
     121    sc_signal<sc_dt::sc_uint<vci_param::P> >    r_pktid;   // save pktid
     122
     123    uint32_t*                          r_local_buffer;     // capacity is one block
    124124
    125125    // structural parameters
    126     soclib::common::Segment           m_segment;          // segment associated to target
    127     uint32_t                          m_srcid;            // initiator index
    128     int                               m_fd;               // File descriptor
    129     uint64_t                          m_device_size;      // Total number of blocks
    130     const uint32_t                    m_words_per_block;  // number of words in a block
    131     const uint32_t                    m_words_per_burst;  // number of words in a burst
    132     const uint32_t                    m_bursts_per_block; // number of bursts in a block
    133     const uint32_t                    m_latency;          // device latency
     126    std::list<soclib::common::Segment> m_seglist;
     127    size_t                             m_nbseg;
     128    uint32_t                           m_srcid;            // initiator index
     129    int                                m_fd;               // File descriptor
     130    uint64_t                           m_device_size;      // Total number of blocks
     131    const uint32_t                     m_words_per_block;  // number of words in a block
     132    const uint32_t                     m_words_per_burst;  // number of words in a burst
     133    const uint32_t                     m_bursts_per_block; // number of bursts in a block
     134    const uint32_t                     m_latency;          // device latency
    134135
    135136    // methods
Note: See TracChangeset for help on using the changeset viewer.