gem5  v21.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
FastModel::PL330 Class Reference

#include <pl330.hh>

Inheritance diagram for FastModel::PL330:

Public Member Functions

 PL330 (const FastModelPL330Params &params, sc_core::sc_module_name _name)
 
 PL330 (const FastModelPL330Params &params)
 
::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 52 of file pl330.hh.

Member Typedef Documentation

◆ IntSource

Definition at line 62 of file pl330.hh.

Constructor & Destructor Documentation

◆ PL330() [1/2]

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

◆ PL330() [2/2]

FastModel::PL330::PL330 ( const FastModelPL330Params &  params)
inline

Definition at line 74 of file pl330.hh.

Member Function Documentation

◆ allocateIrq()

void FastModel::PL330::allocateIrq ( int  idx,
int  count 
)
private

Definition at line 213 of file pl330.cc.

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

Referenced by PL330().

◆ end_of_elaboration()

void FastModel::PL330::end_of_elaboration ( )
inlineoverride

Definition at line 81 of file pl330.hh.

◆ gem5_getPort()

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

Definition at line 223 of file pl330.cc.

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

◆ start_of_simulation()

void FastModel::PL330::start_of_simulation ( )
override

Definition at line 255 of file pl330.cc.

References clockPeriod, clockRateControl, and SimClock::Int::s.

Member Data Documentation

◆ clockPeriod

Tick FastModel::PL330::clockPeriod
private

Definition at line 55 of file pl330.hh.

Referenced by start_of_simulation().

◆ clockRateControl

ClockRateControlInitiatorSocket FastModel::PL330::clockRateControl
private

Definition at line 60 of file pl330.hh.

Referenced by PL330(), and start_of_simulation().

◆ dma

AmbaInitiator FastModel::PL330::dma
private

Definition at line 57 of file pl330.hh.

Referenced by gem5_getPort().

◆ irqAbortPort

std::vector<std::unique_ptr<IntSource> > FastModel::PL330::irqAbortPort
private

Definition at line 67 of file pl330.hh.

Referenced by gem5_getPort(), and PL330().

◆ irqAbortReceiver

SignalReceiver FastModel::PL330::irqAbortReceiver
private

Definition at line 68 of file pl330.hh.

Referenced by PL330().

◆ irqPort

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

Definition at line 64 of file pl330.hh.

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

◆ irqReceiver

std::vector<std::unique_ptr<SignalReceiver> > FastModel::PL330::irqReceiver
private

Definition at line 65 of file pl330.hh.

Referenced by PL330().

◆ pioNs

AmbaTarget FastModel::PL330::pioNs
private

Definition at line 58 of file pl330.hh.

Referenced by gem5_getPort().

◆ pioS

AmbaTarget FastModel::PL330::pioS
private

Definition at line 58 of file pl330.hh.

Referenced by gem5_getPort().


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

Generated on Tue Mar 23 2021 19:41:46 for gem5 by doxygen 1.8.17