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)

Definition at line 78 of file pl330.hh.

Member Function Documentation

◆ allocateIrq()

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

Definition at line 217 of file

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 ( )

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 

Definition at line 227 of file

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

◆ start_of_simulation()

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

Definition at line 259 of file

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

Member Data Documentation

◆ clockPeriod

Tick gem5::fastmodel::PL330::clockPeriod

Definition at line 59 of file pl330.hh.

Referenced by start_of_simulation().

◆ clockRateControl

ClockRateControlInitiatorSocket gem5::fastmodel::PL330::clockRateControl

Definition at line 64 of file pl330.hh.

Referenced by PL330(), and start_of_simulation().

◆ dma

AmbaInitiator gem5::fastmodel::PL330::dma

Definition at line 61 of file pl330.hh.

Referenced by gem5_getPort().

◆ irqAbortPort

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

Definition at line 71 of file pl330.hh.

Referenced by gem5_getPort(), and PL330().

◆ irqAbortReceiver

SignalReceiver gem5::fastmodel::PL330::irqAbortReceiver

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

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

Definition at line 69 of file pl330.hh.

Referenced by PL330().

◆ pioNs

AmbaTarget gem5::fastmodel::PL330::pioNs

Definition at line 62 of file pl330.hh.

Referenced by gem5_getPort().

◆ pioS

AmbaTarget gem5::fastmodel::PL330::pioS

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