gem5  v20.1.0.0
Public Member Functions | Protected Member Functions | List of all members
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 ItsTranslation:
ItsProcess Packet::SenderState

Public Member Functions

 ItsTranslation (Gicv3Its &_its)
 ~ItsTranslation ()
- Public Member Functions inherited from 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 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 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 ItsProcess
using DTE = Gicv3Its::DTE
using ITTE = Gicv3Its::ITTE
using CTE = Gicv3Its::CTE
using Coroutine = m5::Coroutine< PacketPtr, ItsAction >
using Yield = Coroutine::CallerType
- Public Attributes inherited from Packet::SenderState
- Protected Attributes inherited from 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 399 of file gic_v3_its.hh.

Constructor & Destructor Documentation

◆ ItsTranslation()

ItsTranslation::ItsTranslation ( Gicv3Its _its)

◆ ~ItsTranslation()

ItsTranslation::~ItsTranslation ( )

Member Function Documentation

◆ main()

void ItsTranslation::main ( Yield yield)

◆ translateLPI()

std::pair< uint32_t, Gicv3Redistributor * > 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 Wed Sep 30 2020 14:02:26 for gem5 by doxygen 1.8.17