gem5  v20.1.0.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
FastModel::ScxEvsCortexA76< Types > Class Template Reference

#include <evs.hh>

Inheritance diagram for FastModel::ScxEvsCortexA76< Types >:

Public Member Functions

 ScxEvsCortexA76 (const sc_core::sc_module_name &mod_name, const Params &p)
 
void before_end_of_elaboration () override
 
Portgem5_getPort (const std::string &if_name, int idx) override
 
void end_of_elaboration () override
 
void start_of_simulation () override
 

Private Types

using Base = typename Types::Base
 
using Params = typename Types::Params
 
typedef sc_gem5::TlmTargetBaseWrapper< 64, svp_gicv3_comms::gicv3_comms_fw_if, svp_gicv3_comms::gicv3_comms_bw_if, 1, sc_core::SC_ONE_OR_MORE_BOUNDTlmGicTarget
 

Private Member Functions

 SC_HAS_PROCESS (ScxEvsCortexA76)
 
void sendFunc (PacketPtr pkt)
 
void clockChangeHandler ()
 

Private Attributes

ClockRateControlInitiatorSocket clockRateControl
 
AmbaInitiator amba
 
std::vector< std::unique_ptr< TlmGicTarget > > redist
 
std::vector< std::unique_ptr< SignalReceiver > > cnthpirq
 
std::vector< std::unique_ptr< SignalReceiver > > cnthvirq
 
std::vector< std::unique_ptr< SignalReceiver > > cntpsirq
 
std::vector< std::unique_ptr< SignalReceiver > > cntvirq
 
std::vector< std::unique_ptr< SignalReceiver > > commirq
 
std::vector< std::unique_ptr< SignalReceiver > > ctidbgirq
 
std::vector< std::unique_ptr< SignalReceiver > > pmuirq
 
std::vector< std::unique_ptr< SignalReceiver > > vcpumntirq
 
std::vector< std::unique_ptr< SignalReceiver > > cntpnsirq
 
sc_core::sc_event clockChanged
 
sc_core::sc_attribute< TickclockPeriod
 
sc_core::sc_attribute< CortexA76Cluster * > gem5CpuCluster
 
sc_core::sc_attribute< PortProxy::SendFunctionalFuncsendFunctional
 
const Paramsparams
 

Static Private Attributes

static const int CoreCount = Types::CoreCount
 

Detailed Description

template<class Types>
class FastModel::ScxEvsCortexA76< Types >

Definition at line 55 of file evs.hh.

Member Typedef Documentation

◆ Base

template<class Types >
using FastModel::ScxEvsCortexA76< Types >::Base = typename Types::Base
private

Definition at line 59 of file evs.hh.

◆ Params

template<class Types >
using FastModel::ScxEvsCortexA76< Types >::Params = typename Types::Params
private

Definition at line 60 of file evs.hh.

◆ TlmGicTarget

template<class Types >
typedef sc_gem5::TlmTargetBaseWrapper< 64, svp_gicv3_comms::gicv3_comms_fw_if, svp_gicv3_comms::gicv3_comms_bw_if, 1, sc_core::SC_ONE_OR_MORE_BOUND> FastModel::ScxEvsCortexA76< Types >::TlmGicTarget
private

Definition at line 69 of file evs.hh.

Constructor & Destructor Documentation

◆ ScxEvsCortexA76()

template<class Types >
FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76 ( const sc_core::sc_module_name mod_name,
const Params p 
)

Member Function Documentation

◆ before_end_of_elaboration()

template<class Types >
void FastModel::ScxEvsCortexA76< Types >::before_end_of_elaboration
override

Definition at line 108 of file evs.cc.

References ArmISA::i, FastModel::SignalReceiver::onChange(), and ArmISA::status.

◆ clockChangeHandler()

template<class Types >
void FastModel::ScxEvsCortexA76< Types >::clockChangeHandler
private

Definition at line 42 of file evs.cc.

References SimClock::Int::s.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ end_of_elaboration()

template<class Types >
void FastModel::ScxEvsCortexA76< Types >::end_of_elaboration ( )
inlineoverride

Definition at line 102 of file evs.hh.

◆ gem5_getPort()

template<class Types >
Port & FastModel::ScxEvsCortexA76< Types >::gem5_getPort ( const std::string &  if_name,
int  idx 
)
override

Definition at line 140 of file evs.cc.

◆ SC_HAS_PROCESS()

template<class Types >
FastModel::ScxEvsCortexA76< Types >::SC_HAS_PROCESS ( ScxEvsCortexA76< Types >  )
private

◆ sendFunc()

template<class Types >
void FastModel::ScxEvsCortexA76< Types >::sendFunc ( PacketPtr  pkt)
private

Definition at line 98 of file evs.cc.

References sc_gem5::packet2payload(), and panic_if.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ start_of_simulation()

template<class Types >
void FastModel::ScxEvsCortexA76< Types >::start_of_simulation ( )
inlineoverride

Definition at line 107 of file evs.hh.

Member Data Documentation

◆ amba

template<class Types >
AmbaInitiator FastModel::ScxEvsCortexA76< Types >::amba
private

Definition at line 71 of file evs.hh.

◆ clockChanged

template<class Types >
sc_core::sc_event FastModel::ScxEvsCortexA76< Types >::clockChanged
private

Definition at line 84 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ clockPeriod

template<class Types >
sc_core::sc_attribute<Tick> FastModel::ScxEvsCortexA76< Types >::clockPeriod
private

Definition at line 85 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ clockRateControl

template<class Types >
ClockRateControlInitiatorSocket FastModel::ScxEvsCortexA76< Types >::clockRateControl
private

Definition at line 64 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cnthpirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::cnthpirq
private

Definition at line 74 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cnthvirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::cnthvirq
private

Definition at line 75 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cntpnsirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::cntpnsirq
private

Definition at line 82 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cntpsirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::cntpsirq
private

Definition at line 76 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cntvirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::cntvirq
private

Definition at line 77 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ commirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::commirq
private

Definition at line 78 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ CoreCount

template<class Types >
const int FastModel::ScxEvsCortexA76< Types >::CoreCount = Types::CoreCount
staticprivate

Definition at line 58 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ ctidbgirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::ctidbgirq
private

Definition at line 79 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ gem5CpuCluster

template<class Types >
sc_core::sc_attribute<CortexA76Cluster *> FastModel::ScxEvsCortexA76< Types >::gem5CpuCluster
private

Definition at line 86 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ params

template<class Types >
const Params& FastModel::ScxEvsCortexA76< Types >::params
private

Definition at line 93 of file evs.hh.

◆ pmuirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::pmuirq
private

Definition at line 80 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ redist

template<class Types >
std::vector<std::unique_ptr<TlmGicTarget> > FastModel::ScxEvsCortexA76< Types >::redist
private

Definition at line 72 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ sendFunctional

template<class Types >
sc_core::sc_attribute<PortProxy::SendFunctionalFunc> FastModel::ScxEvsCortexA76< Types >::sendFunctional
private

Definition at line 87 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ vcpumntirq

template<class Types >
std::vector<std::unique_ptr<SignalReceiver> > FastModel::ScxEvsCortexA76< Types >::vcpumntirq
private

Definition at line 81 of file evs.hh.

Referenced by FastModel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().


The documentation for this class was generated from the following files:

Generated on Wed Sep 30 2020 14:02:39 for gem5 by doxygen 1.8.17