gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::ItsTranslation Class Reference

An ItsTranslation is created whenever a peripheral writes a message in GITS_TRANSLATER (MSI). More...

#include <gic_v3_its.hh>

Inheritance diagram for gem5::ItsTranslation:
gem5::ItsProcess gem5::Packet::SenderState

Public Member Functions

 ItsTranslation (Gicv3Its &_its)
 ~ItsTranslation ()
Public Member Functions inherited from gem5::ItsProcess
 ItsProcess (Gicv3Its &_its)
virtual ~ItsProcess ()
const std::string name () const
 Returns the Gicv3Its name.
ItsAction run (PacketPtr pkt)
Public Member Functions inherited from gem5::Packet::SenderState
 SenderState ()
virtual ~SenderState ()

Protected Member Functions

void main (Yield &yield) override
std::pair< uint32_t, Gicv3Redistributor * > translateLPI (Yield &yield, uint32_t device_id, uint32_t event_id)
Protected Member Functions inherited from gem5::ItsProcess
void reinit ()
void writeDeviceTable (Yield &yield, uint32_t device_id, DTE dte)
void writeIrqTranslationTable (Yield &yield, const Addr itt_base, uint32_t event_id, ITTE itte)
void writeIrqCollectionTable (Yield &yield, uint32_t collection_id, CTE cte)
uint64_t readDeviceTable (Yield &yield, uint32_t device_id)
uint64_t readIrqTranslationTable (Yield &yield, const Addr itt_base, uint32_t event_id)
uint64_t readIrqCollectionTable (Yield &yield, uint32_t collection_id)
void doRead (Yield &yield, Addr addr, void *ptr, size_t size)
void doWrite (Yield &yield, Addr addr, void *ptr, size_t size)
void terminate (Yield &yield)

Additional Inherited Members

Public Types inherited from gem5::ItsProcess
using DTE = Gicv3Its::DTE
using ITTE = Gicv3Its::ITTE
using CTE = Gicv3Its::CTE
using Coroutine = gem5::Coroutine<PacketPtr, ItsAction>
using Yield = Coroutine::CallerType
Public Attributes inherited from gem5::Packet::SenderState
SenderStatepredecessor
Protected Attributes inherited from gem5::ItsProcess
Gicv3Itsits

Detailed Description

An ItsTranslation is created whenever a peripheral writes a message in GITS_TRANSLATER (MSI).

In this case main will simply do the table walks until it gets a redistributor and an INTID. It will then raise the LPI interrupt to the target redistributor.

Definition at line 409 of file gic_v3_its.hh.

Constructor & Destructor Documentation

◆ ItsTranslation()

gem5::ItsTranslation::ItsTranslation ( Gicv3Its & _its)

◆ ~ItsTranslation()

gem5::ItsTranslation::~ItsTranslation ( )

Definition at line 232 of file gic_v3_its.cc.

References gem5::ItsProcess::its.

Member Function Documentation

◆ main()

void gem5::ItsTranslation::main ( Yield & yield)
overrideprotectedvirtual

◆ translateLPI()

std::pair< uint32_t, Gicv3Redistributor * > gem5::ItsTranslation::translateLPI ( Yield & yield,
uint32_t device_id,
uint32_t event_id )
protected

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

Generated on Sat Oct 18 2025 08:06:52 for gem5 by doxygen 1.14.0