gem5  v22.1.0.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
gem5::fastmodel::PL330 Class Reference

#include <pl330.hh>

Inheritance diagram for gem5::fastmodel::PL330:

Public Member Functions

 PL330 (const FastModelPL330Params &params, sc_core::sc_module_name _name)
 
 PL330 (const FastModelPL330Params &params)
 
gem5::Portgem5_getPort (const std::string &if_name, int idx=-1) override
 
void end_of_elaboration () override
 
void start_of_simulation () override
 

Private Types

using IntSource = IntSourcePin< PL330 >
 

Private Member Functions

void allocateIrq (int idx, int count)
 

Private Attributes

Tick clockPeriod
 
AmbaInitiator dma
 
AmbaTarget pioS
 
AmbaTarget pioNs
 
ClockRateControlInitiatorSocket clockRateControl
 
std::array< std::vector< std::unique_ptr< IntSource > >, 32 > irqPort
 
std::vector< std::unique_ptr< SignalReceiver > > irqReceiver
 
std::vector< std::unique_ptr< IntSource > > irqAbortPort
 
SignalReceiver irqAbortReceiver
 

Detailed Description

Definition at line 56 of file pl330.hh.

Member Typedef Documentation

◆ IntSource

Definition at line 66 of file pl330.hh.

Constructor & Destructor Documentation

◆ PL330() [1/2]

gem5::fastmodel::PL330::PL330 ( const FastModelPL330Params &  params,
sc_core::sc_module_name  _name 
)

◆ PL330() [2/2]

gem5::fastmodel::PL330::PL330 ( const FastModelPL330Params &  params)
inline

Definition at line 78 of file pl330.hh.

Member Function Documentation

◆ allocateIrq()

void gem5::fastmodel::PL330::allocateIrq ( int  idx,
int  count 
)
private

Definition at line 217 of file pl330.cc.

References gem5::X86ISA::count, gem5::csprintf(), gem5::ArmISA::i, irqPort, and name().

Referenced by PL330().

◆ end_of_elaboration()

void gem5::fastmodel::PL330::end_of_elaboration ( )
inlineoverride

Definition at line 85 of file pl330.hh.

◆ gem5_getPort()

gem5::Port & gem5::fastmodel::PL330::gem5_getPort ( const std::string &  if_name,
int  idx = -1 
)
override

Definition at line 227 of file pl330.cc.

References gem5::ArmISA::at, dma, irqAbortPort, irqPort, pioNs, and pioS.

◆ start_of_simulation()

void gem5::fastmodel::PL330::start_of_simulation ( )
override

Definition at line 259 of file pl330.cc.

References clockPeriod, clockRateControl, and gem5::sim_clock::as_int::s.

Member Data Documentation

◆ clockPeriod

Tick gem5::fastmodel::PL330::clockPeriod
private

Definition at line 59 of file pl330.hh.

Referenced by start_of_simulation().

◆ clockRateControl

ClockRateControlInitiatorSocket gem5::fastmodel::PL330::clockRateControl
private

Definition at line 64 of file pl330.hh.

Referenced by PL330(), and start_of_simulation().

◆ dma

AmbaInitiator gem5::fastmodel::PL330::dma
private

Definition at line 61 of file pl330.hh.

Referenced by gem5_getPort().

◆ irqAbortPort

std::vector<std::unique_ptr<IntSource> > gem5::fastmodel::PL330::irqAbortPort
private

Definition at line 71 of file pl330.hh.

Referenced by gem5_getPort(), and PL330().

◆ irqAbortReceiver

SignalReceiver gem5::fastmodel::PL330::irqAbortReceiver
private

Definition at line 72 of file pl330.hh.

Referenced by PL330().

◆ irqPort

std::array<std::vector<std::unique_ptr<IntSource> >, 32> gem5::fastmodel::PL330::irqPort
private

Definition at line 68 of file pl330.hh.

Referenced by allocateIrq(), gem5_getPort(), and PL330().

◆ irqReceiver

std::vector<std::unique_ptr<SignalReceiver> > gem5::fastmodel::PL330::irqReceiver
private

Definition at line 69 of file pl330.hh.

Referenced by PL330().

◆ pioNs

AmbaTarget gem5::fastmodel::PL330::pioNs
private

Definition at line 62 of file pl330.hh.

Referenced by gem5_getPort().

◆ pioS

AmbaTarget gem5::fastmodel::PL330::pioS
private

Definition at line 62 of file pl330.hh.

Referenced by gem5_getPort().


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

Generated on Wed Dec 21 2022 10:23:41 for gem5 by doxygen 1.9.1