gem5  v22.0.0.2
Public Member Functions | Protected Member Functions | List of all members
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. More...
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
- Protected Attributes inherited from gem5::ItsProcess

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

Member Function Documentation

◆ main()

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

◆ translateLPI()

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

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

Generated on Thu Jul 28 2022 13:33:05 for gem5 by doxygen 1.8.17