|
gem5 [DEVELOP-FOR-25.0]
|
Generic representation of an Arm interrupt pin. More...
#include <base_gic.hh>
Public Member Functions | |
| void | setThreadContext (ThreadContext *tc) |
| Set the thread context owning this interrupt. | |
| uint32_t | num () const |
| Get interrupt number. | |
| bool | active () const |
| True if interrupt pin is active, false otherwise. | |
| virtual void | raise ()=0 |
| Signal an interrupt. | |
| virtual void | clear ()=0 |
| Clear a signalled interrupt. | |
| void | serialize (CheckpointOut &cp) const override |
| Serialize an object. | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. | |
Public Member Functions inherited from gem5::Serializable | |
| Serializable () | |
| virtual | ~Serializable () |
| void | serializeSection (CheckpointOut &cp, const char *name) const |
| Serialize an object into a new section. | |
| void | serializeSection (CheckpointOut &cp, const std::string &name) const |
| void | unserializeSection (CheckpointIn &cp, const char *name) |
| Unserialize an a child object. | |
| void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Protected Member Functions | |
| ArmInterruptPin (const ArmInterruptPinParams &p, ThreadContext *tc) | |
| ContextID | targetContext () const |
| Get the target context ID of this interrupt. | |
Protected Attributes | |
| const ThreadContext * | threadContext |
| Pointer to the thread context that owns this interrupt in case it is a thread-/CPU-private interrupt. | |
| RealView *const | platform |
| Arm platform to use for interrupt generation. | |
| const uint32_t | intNum |
| Interrupt number to generate. | |
| const ArmInterruptType | triggerType |
| Interrupt triggering type. | |
| bool | _active |
| True if interrupt pin is active, false otherwise. | |
Friends | |
| class | ArmInterruptPinGen |
Additional Inherited Members | |
Static Public Member Functions inherited from gem5::Serializable | |
| static const std::string & | currentSection () |
| Gets the fully-qualified name of the active section. | |
| static void | generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream) |
| Generate a checkpoint file so that the serialization can be routed to it. | |
Generic representation of an Arm interrupt pin.
Definition at line 199 of file base_gic.hh.
|
protected |
Definition at line 152 of file base_gic.cc.
References _active, intNum, num(), gem5::MipsISA::p, platform, threadContext, and triggerType.
Referenced by gem5::ArmPPI::ArmPPI(), gem5::ArmSigInterruptPin::ArmSigInterruptPin(), and gem5::ArmSPI::ArmSPI().
|
inline |
True if interrupt pin is active, false otherwise.
Definition at line 219 of file base_gic.hh.
References _active.
|
pure virtual |
Clear a signalled interrupt.
Implemented in gem5::ArmPPI, gem5::ArmSigInterruptPin, and gem5::ArmSPI.
|
inline |
Get interrupt number.
Definition at line 216 of file base_gic.hh.
References intNum.
Referenced by ArmInterruptPin().
|
pure virtual |
Signal an interrupt.
Implemented in gem5::ArmPPI, gem5::ArmSigInterruptPin, and gem5::ArmSPI.
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Definition at line 177 of file base_gic.cc.
References _active, and SERIALIZE_SCALAR.
| void gem5::ArmInterruptPin::setThreadContext | ( | ThreadContext * | tc | ) |
Set the thread context owning this interrupt.
This method is used to set the thread context for interrupts that are thread/CPU-specific. Only devices that are used in such a context are expected to call this method.
Definition at line 160 of file base_gic.cc.
References panic_if, and threadContext.
|
protected |
Get the target context ID of this interrupt.
Definition at line 169 of file base_gic.cc.
References panic_if, and threadContext.
Referenced by gem5::ArmPPI::clear(), and gem5::ArmPPI::raise().
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Definition at line 183 of file base_gic.cc.
References _active, and UNSERIALIZE_SCALAR.
|
friend |
Definition at line 201 of file base_gic.hh.
References ArmInterruptPinGen, and gem5::MipsISA::p.
Referenced by ArmInterruptPinGen.
|
protected |
True if interrupt pin is active, false otherwise.
Definition at line 255 of file base_gic.hh.
Referenced by active(), ArmInterruptPin(), gem5::ArmPPI::clear(), gem5::ArmSigInterruptPin::clear(), gem5::ArmSPI::clear(), gem5::ArmPPI::raise(), gem5::ArmSigInterruptPin::raise(), gem5::ArmSPI::raise(), serialize(), and unserialize().
|
protected |
Interrupt number to generate.
Definition at line 249 of file base_gic.hh.
Referenced by ArmInterruptPin(), gem5::ArmPPI::clear(), gem5::ArmSPI::clear(), num(), gem5::ArmPPI::raise(), and gem5::ArmSPI::raise().
|
protected |
Arm platform to use for interrupt generation.
Definition at line 246 of file base_gic.hh.
Referenced by ArmInterruptPin(), gem5::ArmPPI::ArmPPI(), gem5::ArmSPI::ArmSPI(), gem5::ArmPPI::clear(), gem5::ArmSPI::clear(), gem5::ArmPPI::raise(), and gem5::ArmSPI::raise().
|
protected |
Pointer to the thread context that owns this interrupt in case it is a thread-/CPU-private interrupt.
Definition at line 243 of file base_gic.hh.
Referenced by ArmInterruptPin(), setThreadContext(), and targetContext().
|
protected |
Interrupt triggering type.
Definition at line 252 of file base_gic.hh.
Referenced by ArmInterruptPin().