gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::fastmodel::ScxEvsCortexA76< Types > Class Template Reference

#include <evs.hh>

Inheritance diagram for gem5::fastmodel::ScxEvsCortexA76< Types >:
gem5::Iris::BaseCpuEvs

Public Member Functions

 ScxEvsCortexA76 (const Params &p)
 
 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
 
void setClkPeriod (Tick clk_period) override
 
void setSysCounterFrq (uint64_t sys_counter_frq) override
 
void setCluster (SimObject *cluster) override
 
void setResetAddr (int core, Addr addr, bool secure) override
 

Private Types

using Base = typename Types::Base
 
using Params = typename Types::Params
 
using TlmGicTarget
 
template<typename T >
using SignalInitiator = amba_pv::signal_master_port<T>
 

Private Member Functions

 SC_HAS_PROCESS (ScxEvsCortexA76)
 

Private Attributes

ClockRateControlInitiatorSocket clockRateControl
 
ClockRateControlInitiatorSocket periphClockRateControl
 
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
 
std::vector< std::unique_ptr< SignalInitiator< uint64_t > > > rvbaraddr
 
std::vector< std::unique_ptr< SignalSender > > core_reset
 
std::vector< std::unique_ptr< SignalSender > > poweron_reset
 
SignalSender top_reset
 
SignalSender dbg_reset
 
SignalSinkPort< bool > model_reset
 
CortexA76Clustergem5CpuCluster
 
const Paramsparams
 

Static Private Attributes

static const int CoreCount = Types::CoreCount
 

Detailed Description

template<class Types>
class gem5::fastmodel::ScxEvsCortexA76< Types >

Definition at line 61 of file evs.hh.

Member Typedef Documentation

◆ Base

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

Definition at line 65 of file evs.hh.

◆ Params

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

Definition at line 66 of file evs.hh.

◆ SignalInitiator

template<class Types >
template<typename T >
using gem5::fastmodel::ScxEvsCortexA76< Types >::SignalInitiator = amba_pv::signal_master_port<T>
private

Definition at line 79 of file evs.hh.

◆ TlmGicTarget

template<class Types >
using gem5::fastmodel::ScxEvsCortexA76< Types >::TlmGicTarget
private
Initial value:
64, svp_gicv3_comms::gicv3_comms_fw_if,
svp_gicv3_comms::gicv3_comms_bw_if, 1,
@ SC_ONE_OR_MORE_BOUND
Definition sc_port.hh:69

Definition at line 73 of file evs.hh.

Constructor & Destructor Documentation

◆ ScxEvsCortexA76() [1/2]

template<class Types >
gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76 ( const Params & p)
inline

Definition at line 108 of file evs.hh.

◆ ScxEvsCortexA76() [2/2]

Member Function Documentation

◆ before_end_of_elaboration()

template<class Types >
void gem5::fastmodel::ScxEvsCortexA76< Types >::before_end_of_elaboration ( )
override

◆ end_of_elaboration()

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

Definition at line 115 of file evs.hh.

◆ gem5_getPort()

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

Definition at line 167 of file evs.cc.

◆ SC_HAS_PROCESS()

template<class Types >
gem5::fastmodel::ScxEvsCortexA76< Types >::SC_HAS_PROCESS ( ScxEvsCortexA76< Types > )
private

◆ setClkPeriod()

template<class Types >
void gem5::fastmodel::ScxEvsCortexA76< Types >::setClkPeriod ( Tick clk_period)
overridevirtual

Implements gem5::Iris::BaseCpuEvs.

Definition at line 45 of file evs.cc.

References gem5::sim_clock::as_int::s.

◆ setCluster()

template<class Types >
void gem5::fastmodel::ScxEvsCortexA76< Types >::setCluster ( SimObject * cluster)
overridevirtual

Implements gem5::Iris::BaseCpuEvs.

Definition at line 59 of file evs.cc.

References panic_if.

◆ setResetAddr()

template<class Types >
void gem5::fastmodel::ScxEvsCortexA76< Types >::setResetAddr ( int core,
Addr addr,
bool secure )
overridevirtual

Implements gem5::Iris::BaseCpuEvs.

Definition at line 67 of file evs.cc.

References gem5::X86ISA::addr.

◆ setSysCounterFrq()

template<class Types >
void gem5::fastmodel::ScxEvsCortexA76< Types >::setSysCounterFrq ( uint64_t sys_counter_frq)
overridevirtual

Implements gem5::Iris::BaseCpuEvs.

Definition at line 52 of file evs.cc.

◆ start_of_simulation()

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

Definition at line 120 of file evs.hh.

Member Data Documentation

◆ amba

template<class Types >
AmbaInitiator gem5::fastmodel::ScxEvsCortexA76< Types >::amba
private

Definition at line 81 of file evs.hh.

◆ clockRateControl

template<class Types >
ClockRateControlInitiatorSocket gem5::fastmodel::ScxEvsCortexA76< Types >::clockRateControl
private

Definition at line 70 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cnthpirq

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

Definition at line 84 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cnthvirq

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

Definition at line 85 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cntpnsirq

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

Definition at line 92 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cntpsirq

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

Definition at line 86 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ cntvirq

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

Definition at line 87 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ commirq

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

Definition at line 88 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ core_reset

template<class Types >
std::vector<std::unique_ptr<SignalSender> > gem5::fastmodel::ScxEvsCortexA76< Types >::core_reset
private

Definition at line 94 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ CoreCount

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

Definition at line 64 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ ctidbgirq

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

Definition at line 89 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ dbg_reset

template<class Types >
SignalSender gem5::fastmodel::ScxEvsCortexA76< Types >::dbg_reset
private

Definition at line 99 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ gem5CpuCluster

template<class Types >
CortexA76Cluster* gem5::fastmodel::ScxEvsCortexA76< Types >::gem5CpuCluster
private

Definition at line 103 of file evs.hh.

◆ model_reset

template<class Types >
SignalSinkPort<bool> gem5::fastmodel::ScxEvsCortexA76< Types >::model_reset
private

Definition at line 101 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ params

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

Definition at line 105 of file evs.hh.

◆ periphClockRateControl

template<class Types >
ClockRateControlInitiatorSocket gem5::fastmodel::ScxEvsCortexA76< Types >::periphClockRateControl
private

Definition at line 71 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ pmuirq

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

Definition at line 90 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ poweron_reset

template<class Types >
std::vector<std::unique_ptr<SignalSender> > gem5::fastmodel::ScxEvsCortexA76< Types >::poweron_reset
private

Definition at line 95 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ redist

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

Definition at line 82 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ rvbaraddr

template<class Types >
std::vector<std::unique_ptr<SignalInitiator<uint64_t> > > gem5::fastmodel::ScxEvsCortexA76< Types >::rvbaraddr
private

Definition at line 93 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ top_reset

template<class Types >
SignalSender gem5::fastmodel::ScxEvsCortexA76< Types >::top_reset
private

Definition at line 97 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().

◆ vcpumntirq

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

Definition at line 91 of file evs.hh.

Referenced by gem5::fastmodel::ScxEvsCortexA76< Types >::ScxEvsCortexA76().


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

Generated on Tue Jun 18 2024 16:24:19 for gem5 by doxygen 1.11.0