gem5 v24.0.0.0
Loading...
Searching...
No Matches
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
 
SignalSender resetIn
 

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]

◆ PL330() [2/2]

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

Definition at line 80 of file pl330.hh.

Member Function Documentation

◆ allocateIrq()

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

Definition at line 220 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 87 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 230 of file pl330.cc.

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

◆ start_of_simulation()

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

Definition at line 264 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().

◆ resetIn

SignalSender gem5::fastmodel::PL330::resetIn
private

Definition at line 76 of file pl330.hh.

Referenced by gem5_getPort(), and PL330().


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