| gem5
    v19.0.0.0
    | 
#include <gpu_nomali.hh>
 
  
 | Public Member Functions | |
| NoMaliGpu (const NoMaliGpuParams *p) | |
| virtual | ~NoMaliGpu () | 
| void | init () override | 
| init() is called after all C++ SimObjects have been created and all ports are connected.  More... | |
| void | serialize (CheckpointOut &cp) const override | 
| Serialize an object.  More... | |
| void | unserialize (CheckpointIn &cp) override | 
| Unserialize an object.  More... | |
| Tick | read (PacketPtr pkt) override | 
| Pure virtual function that the device must implement.  More... | |
| Tick | write (PacketPtr pkt) override | 
| Pure virtual function that the device must implement.  More... | |
| AddrRangeList | getAddrRanges () const override | 
| Every PIO device is obliged to provide an implementation that returns the address ranges the device responds to.  More... | |
|  Public Member Functions inherited from PioDevice | |
| PioDevice (const Params *p) | |
| virtual | ~PioDevice () | 
| const Params * | params () const | 
| void | init () override | 
| init() is called after all C++ SimObjects have been created and all ports are connected.  More... | |
| Port & | getPort (const std::string &if_name, PortID idx=InvalidPortID) override | 
| Get a port with a given name and index.  More... | |
|  Public Member Functions inherited from ClockedObject | |
| ClockedObject (const ClockedObjectParams *p) | |
| const Params * | params () const | 
| void | serialize (CheckpointOut &cp) const override | 
| Serialize an object.  More... | |
| void | unserialize (CheckpointIn &cp) override | 
| Unserialize an object.  More... | |
| Enums::PwrState | pwrState () const | 
| std::string | pwrStateName () const | 
| std::vector< double > | pwrStateWeights () const | 
| Returns the percentage residency for each power state.  More... | |
| void | computeStats () | 
| Record stats values like state residency by computing the time difference from previous update.  More... | |
| void | pwrState (Enums::PwrState) | 
|  Public Member Functions inherited from SimObject | |
| const Params * | params () const | 
| SimObject (const Params *_params) | |
| virtual | ~SimObject () | 
| virtual const std::string | name () const | 
| virtual void | loadState (CheckpointIn &cp) | 
| loadState() is called on each SimObject when restoring from a checkpoint.  More... | |
| virtual void | initState () | 
| initState() is called on each SimObject when not restoring from a checkpoint.  More... | |
| virtual void | regProbePoints () | 
| Register probe points for this object.  More... | |
| virtual void | regProbeListeners () | 
| Register probe listeners for this object.  More... | |
| ProbeManager * | getProbeManager () | 
| Get the probe manager for this object.  More... | |
| virtual void | startup () | 
| startup() is the final initialization call before simulation.  More... | |
| DrainState | drain () override | 
| Provide a default implementation of the drain interface for objects that don't need draining.  More... | |
| virtual void | memWriteback () | 
| Write back dirty buffers to memory using functional writes.  More... | |
| virtual void | memInvalidate () | 
| Invalidate the contents of memory buffers.  More... | |
| void | serialize (CheckpointOut &cp) const override | 
| Serialize an object.  More... | |
| void | unserialize (CheckpointIn &cp) override | 
| Unserialize an object.  More... | |
|  Public Member Functions inherited from EventManager | |
| EventManager (EventManager &em) | |
| EventManager (EventManager *em) | |
| EventManager (EventQueue *eq) | |
| EventQueue * | eventQueue () const | 
| void | schedule (Event &event, Tick when) | 
| void | deschedule (Event &event) | 
| void | reschedule (Event &event, Tick when, bool always=false) | 
| void | schedule (Event *event, Tick when) | 
| void | deschedule (Event *event) | 
| void | reschedule (Event *event, Tick when, bool always=false) | 
| void | wakeupEventQueue (Tick when=(Tick) -1) | 
| void | setCurTick (Tick newVal) | 
|  Public Member Functions inherited from Serializable | |
| Serializable () | |
| virtual | ~Serializable () | 
| void | serializeSection (CheckpointOut &cp, const char *name) const | 
| Serialize an object into a new section.  More... | |
| void | serializeSection (CheckpointOut &cp, const std::string &name) const | 
| void | unserializeSection (CheckpointIn &cp, const char *name) | 
| Unserialize an a child object.  More... | |
| void | unserializeSection (CheckpointIn &cp, const std::string &name) | 
|  Public Member Functions inherited from Drainable | |
| DrainState | drainState () const | 
| Return the current drain state of an object.  More... | |
| virtual void | notifyFork () | 
| Notify a child process of a fork.  More... | |
|  Public Member Functions inherited from Stats::Group | |
| Group ()=delete | |
| Group (const Group &)=delete | |
| Group & | operator= (const Group &)=delete | 
| Group (Group *parent, const char *name=nullptr) | |
| Construct a new statistics group.  More... | |
| virtual | ~Group () | 
| virtual void | regStats () | 
| Callback to set stat parameters.  More... | |
| virtual void | resetStats () | 
| Callback to reset stats.  More... | |
| virtual void | preDumpStats () | 
| Callback before stats are dumped.  More... | |
| void | addStat (Stats::Info *info) | 
| Register a stat with this group.  More... | |
| const std::map< std::string, Group * > & | getStatGroups () const | 
| Get all child groups associated with this object.  More... | |
| const std::vector< Info * > & | getStats () const | 
| Get all stats associated with this object.  More... | |
| void | addStatGroup (const char *name, Group *block) | 
| Add a stat block as a child of this block.  More... | |
|  Public Member Functions inherited from Clocked | |
| void | updateClockPeriod () | 
| Update the tick to the current tick.  More... | |
| Tick | clockEdge (Cycles cycles=Cycles(0)) const | 
| Determine the tick when a cycle begins, by default the current one, but the argument also enables the caller to determine a future cycle.  More... | |
| Cycles | curCycle () const | 
| Determine the current cycle, corresponding to a tick aligned to a clock edge.  More... | |
| Tick | nextCycle () const | 
| Based on the clock of the object, determine the start tick of the first cycle that is at least one cycle in the future.  More... | |
| uint64_t | frequency () const | 
| Tick | clockPeriod () const | 
| double | voltage () const | 
| Cycles | ticksToCycles (Tick t) const | 
| Tick | cyclesToTicks (Cycles c) const | 
| Protected Member Functions | |
| API wrappers | |
| void | reset () | 
| Wrapper around nomali_reset().  More... | |
| uint32_t | readReg (nomali_addr_t reg) | 
| Wrapper around nomali_reg_read().  More... | |
| void | writeReg (nomali_addr_t reg, uint32_t value) | 
| Wrapper around nomali_reg_write().  More... | |
| uint32_t | readRegRaw (nomali_addr_t reg) const | 
| Wrapper around nomali_reg_read_raw().  More... | |
| void | writeRegRaw (nomali_addr_t reg, uint32_t value) | 
| Wrapper around nomali_reg_write_raw().  More... | |
| bool | intState (nomali_int_t intno) | 
| Wrapper around nomali_int_state()  More... | |
| Callbacks | |
| virtual void | onInterrupt (nomali_int_t intno, bool set) | 
| Interrupt callback from the NoMali library.  More... | |
| virtual void | onReset () | 
| Reset callback from the NoMali library.  More... | |
|  Protected Member Functions inherited from Drainable | |
| Drainable () | |
| virtual | ~Drainable () | 
| virtual void | drainResume () | 
| Resume execution after a successful drain.  More... | |
| void | signalDrainDone () const | 
| Signal that an object is drained.  More... | |
|  Protected Member Functions inherited from Clocked | |
| Clocked (ClockDomain &clk_domain) | |
| Create a clocked object and set the clock domain based on the parameters.  More... | |
| Clocked (Clocked &)=delete | |
| Clocked & | operator= (Clocked &)=delete | 
| virtual | ~Clocked () | 
| Virtual destructor due to inheritance.  More... | |
| void | resetClock () const | 
| Reset the object's clock using the current global tick value.  More... | |
| virtual void | clockPeriodUpdated () | 
| A hook subclasses can implement so they can do any extra work that's needed when the clock rate is changed.  More... | |
| Static Protected Member Functions | |
| static void | gpuPanic (nomali_error_t err, const char *msg) M5_ATTR_NORETURN | 
| Format a NoMali error into an error message and panic.  More... | |
| static void | panicOnErr (nomali_error_t err, const char *msg) | 
| Panic if the NoMali returned an error, do nothing otherwise.  More... | |
| Protected Attributes | |
| const Addr | pioAddr | 
| Device base address.  More... | |
| RealView *const | platform | 
| Platform, used to discover GIC.  More... | |
| const std::map< nomali_int_t, uint32_t > | interruptMap | 
| Map between NoMali interrupt types and actual GIC interrupts.  More... | |
| nomali_info_t | nomaliInfo | 
| Cached information struct from the NoMali library.  More... | |
| nomali_handle_t | nomali | 
| Handle of a NoMali library instance.  More... | |
|  Protected Attributes inherited from PioDevice | |
| System * | sys | 
| PioPort< PioDevice > | pioPort | 
| The pioPort that handles the requests for us and provides us requests that it sees.  More... | |
|  Protected Attributes inherited from ClockedObject | |
| Enums::PwrState | _currPwrState | 
| To keep track of the current power state.  More... | |
| Tick | prvEvalTick | 
| ClockedObject::ClockedObjectStats | stats | 
|  Protected Attributes inherited from SimObject | |
| const SimObjectParams * | _params | 
| Cached copy of the object parameters.  More... | |
|  Protected Attributes inherited from EventManager | |
| EventQueue * | eventq | 
| A pointer to this object's event queue.  More... | |
| Private Member Functions | |
| void | setCallback (const nomali_callback_t &callback) | 
| Wrapper around nomali_set_callback()  More... | |
| Static Private Member Functions | |
| static void | _interrupt (nomali_handle_t h, void *usr, nomali_int_t intno, int set) | 
| Interrupt callback from the NoMali library.  More... | |
| static void | _reset (nomali_handle_t h, void *usr) | 
| Reset callback from the NoMali library.  More... | |
| Additional Inherited Members | |
|  Public Types inherited from PioDevice | |
| typedef PioDeviceParams | Params | 
|  Public Types inherited from ClockedObject | |
| typedef ClockedObjectParams | Params | 
| Parameters of ClockedObject.  More... | |
|  Public Types inherited from SimObject | |
| typedef SimObjectParams | Params | 
|  Static Public Member Functions inherited from SimObject | |
| static void | serializeAll (CheckpointOut &cp) | 
| Serialize all SimObjects in the system.  More... | |
| static SimObject * | find (const char *name) | 
| Find the SimObject with the given name and return a pointer to it.  More... | |
|  Static Public Member Functions inherited from Serializable | |
| static const std::string & | currentSection () | 
| Get the fully-qualified name of the active section.  More... | |
| static void | serializeAll (const std::string &cpt_dir) | 
| static void | unserializeGlobals (CheckpointIn &cp) | 
|  Static Public Attributes inherited from Serializable | |
| static int | ckptCount = 0 | 
| static int | ckptMaxCount = 0 | 
| static int | ckptPrevCount = -1 | 
Definition at line 52 of file gpu_nomali.hh.
| NoMaliGpu::NoMaliGpu | ( | const NoMaliGpuParams * | p | ) | 
Definition at line 57 of file gpu_nomali.cc.
References _interrupt(), _reset(), fatal, gpuTypeMap, nomali, nomaliInfo, MipsISA::p, panic, panicOnErr(), and setCallback().
Referenced by CustomNoMaliGpu::onReset().
| 
 | virtual | 
Definition at line 109 of file gpu_nomali.cc.
References nomali.
| 
 | staticprivate | 
Interrupt callback from the NoMali library.
This method calls onInterrupt() on the NoMaliGpu owning this device.
| h | NoMali library handle. | 
| usr | Pointer to an instance of the NoMaliGpu | 
| intno | GPU interrupt type | 
| set | Was the interrupt raised (1) or lowered (0)? | 
Definition at line 309 of file gpu_nomali.cc.
References onInterrupt().
Referenced by NoMaliGpu(), and panicOnErr().
| 
 | staticprivate | 
Reset callback from the NoMali library.
This method calls onReset() on the NoMaliGpu owning this device.
| h | NoMali library handle. | 
| usr | Pointer to an instance of the NoMaliGpu | 
Definition at line 318 of file gpu_nomali.cc.
References onReset().
Referenced by NoMaliGpu(), and panicOnErr().
| 
 | overridevirtual | 
Every PIO device is obliged to provide an implementation that returns the address ranges the device responds to.
Implements PioDevice.
Definition at line 191 of file gpu_nomali.cc.
References nomaliInfo, pioAddr, and RangeSize().
| 
 | staticprotected | 
Format a NoMali error into an error message and panic.
| err | Error code from the NoMali library. | 
| msg | Message to print. | 
Definition at line 266 of file gpu_nomali.cc.
References panic.
Referenced by panicOnErr().
| 
 | overridevirtual | 
init() is called after all C++ SimObjects have been created and all ports are connected.
Initializations that are independent of unserialization but rely on a fully instantiated and connected SimObject graph should be done here.
Reimplemented from SimObject.
Definition at line 116 of file gpu_nomali.cc.
References PioDevice::init(), and reset().
| 
 | protected | 
Wrapper around nomali_int_state()
| intno | Interrupt number | 
Definition at line 255 of file gpu_nomali.cc.
References nomali, and panicOnErr().
| 
 | protectedvirtual | 
Interrupt callback from the NoMali library.
This method is called whenever there is an interrupt state change.
| intno | Interrupt number | 
| set | True is the interrupt is being asserted, false otherwise. | 
Definition at line 273 of file gpu_nomali.cc.
References BaseGic::clearInt(), DPRINTF, RealView::gic, interruptMap, panic, platform, and BaseGic::sendInt().
Referenced by _interrupt(), and panicOnErr().
| 
 | protectedvirtual | 
Reset callback from the NoMali library.
This method is called whenever the GPU is reset through the register interface or the API (reset() or nomali_reset()).
Reimplemented in CustomNoMaliGpu.
Definition at line 292 of file gpu_nomali.cc.
References DPRINTF.
Referenced by _reset(), CustomNoMaliGpu::onReset(), and panicOnErr().
| 
 | inlinestaticprotected | 
Panic if the NoMali returned an error, do nothing otherwise.
| err | Error code from the NoMali library. | 
| msg | Message to print when panicking. | 
Definition at line 111 of file gpu_nomali.hh.
References _interrupt(), _reset(), gpuPanic(), onInterrupt(), onReset(), setCallback(), and X86ISA::usr.
Referenced by intState(), NoMaliGpu(), readReg(), readRegRaw(), reset(), setCallback(), writeReg(), and writeRegRaw().
Pure virtual function that the device must implement.
Called when a read command is recieved by the port.
| pkt | Packet describing this request | 
Implements PioDevice.
Definition at line 149 of file gpu_nomali.cc.
References addr, Packet::getAddr(), Packet::getSize(), Packet::makeResponse(), nomaliInfo, panic, pioAddr, readReg(), Packet::setLE(), and Gicv3Its::size.
| 
 | protected | 
Wrapper around nomali_reg_read().
Definition at line 207 of file gpu_nomali.cc.
References DPRINTF, nomali, and panicOnErr().
Referenced by read().
| 
 | protected | 
Wrapper around nomali_reg_read_raw().
Definition at line 234 of file gpu_nomali.cc.
References nomali, and panicOnErr().
Referenced by serialize().
| 
 | protected | 
Wrapper around nomali_reset().
Definition at line 197 of file gpu_nomali.cc.
References DPRINTF, nomali, and panicOnErr().
Referenced by init().
| 
 | overridevirtual | 
Serialize an object.
Output an object's state into the current checkpoint section.
| cp | Checkpoint state | 
Implements Serializable.
Definition at line 127 of file gpu_nomali.cc.
References ArmISA::i, nomaliInfo, readRegRaw(), and SERIALIZE_CONTAINER.
| 
 | private | 
Wrapper around nomali_set_callback()
Definition at line 298 of file gpu_nomali.cc.
References DPRINTF, nomali, and panicOnErr().
Referenced by NoMaliGpu(), and panicOnErr().
| 
 | overridevirtual | 
Unserialize an object.
Read an object's state from the current checkpoint section.
| cp | Checkpoint state | 
Implements Serializable.
Definition at line 138 of file gpu_nomali.cc.
References ArmISA::i, nomaliInfo, UNSERIALIZE_CONTAINER, and writeRegRaw().
Pure virtual function that the device must implement.
Called when a write command is recieved by the port.
| pkt | Packet describing this request | 
Implements PioDevice.
Definition at line 170 of file gpu_nomali.cc.
References addr, Packet::getAddr(), Packet::getLE(), Packet::getSize(), Packet::makeAtomicResponse(), nomaliInfo, panic, pioAddr, Gicv3Its::size, and writeReg().
| 
 | protected | 
Wrapper around nomali_reg_write().
Definition at line 223 of file gpu_nomali.cc.
References DPRINTF, nomali, and panicOnErr().
Referenced by write().
| 
 | protected | 
Wrapper around nomali_reg_write_raw().
Definition at line 247 of file gpu_nomali.cc.
References nomali, and panicOnErr().
Referenced by CustomNoMaliGpu::onReset(), and unserialize().
| 
 | protected | 
Map between NoMali interrupt types and actual GIC interrupts.
Definition at line 180 of file gpu_nomali.hh.
Referenced by onInterrupt().
| 
 | protected | 
Handle of a NoMali library instance.
Definition at line 186 of file gpu_nomali.hh.
Referenced by intState(), NoMaliGpu(), readReg(), readRegRaw(), reset(), setCallback(), writeReg(), writeRegRaw(), and ~NoMaliGpu().
| 
 | protected | 
Cached information struct from the NoMali library.
Definition at line 183 of file gpu_nomali.hh.
Referenced by getAddrRanges(), NoMaliGpu(), read(), serialize(), unserialize(), and write().
| 
 | protected | 
Device base address.
Definition at line 173 of file gpu_nomali.hh.
Referenced by getAddrRanges(), read(), and write().
| 
 | protected | 
Platform, used to discover GIC.
Definition at line 176 of file gpu_nomali.hh.
Referenced by onInterrupt().