1/* 2 * Copyright (c) 2014-2016 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 40 unchanged lines hidden (view full) --- 49class RealView; 50 51class NoMaliGpu : public PioDevice 52{ 53 public: 54 NoMaliGpu(const NoMaliGpuParams *p); 55 virtual ~NoMaliGpu(); 56 |
57 void init() override; 58 |
59 public: /* Checkpointing */ 60 void serialize(CheckpointOut &cp) const override; 61 void unserialize(CheckpointIn &cp) override; 62 63 public: /* IO device interfaces */ 64 Tick read(PacketPtr pkt) override; 65 Tick write(PacketPtr pkt) override; 66 AddrRangeList getAddrRanges() const override; --- 56 unchanged lines hidden (view full) --- 123 * 124 * This method is called whenever there is an interrupt state change. 125 * 126 * @param intno Interrupt number 127 * @param set True is the interrupt is being asserted, false otherwise. 128 */ 129 virtual void onInterrupt(nomali_int_t intno, bool set); 130 |
131 /** 132 * Reset callback from the NoMali library 133 * 134 * This method is called whenever the GPU is reset through the 135 * register interface or the API (reset() or nomali_reset()). 136 */ 137 virtual void onReset(); 138 |
139 /** @} */ 140 141 private: /* Callback helpers */ 142 /** Wrapper around nomali_set_callback() */ 143 void setCallback(const nomali_callback_t &callback); 144 145 /** 146 * Interrupt callback from the NoMali library. 147 * 148 * This method calls onInterrupt() on the NoMaliGpu owning this 149 * device. 150 * 151 * @param h NoMali library handle. 152 * @param usr Pointer to an instance of the NoMaliGpu 153 * @param intno GPU interrupt type 154 * @param set Was the interrupt raised (1) or lowered (0)? 155 */ 156 static void _interrupt(nomali_handle_t h, void *usr, 157 nomali_int_t intno, int set); |
158 159 /** 160 * Reset callback from the NoMali library. 161 * 162 * This method calls onReset() on the NoMaliGpu owning this 163 * device. 164 * 165 * @param h NoMali library handle. 166 * @param usr Pointer to an instance of the NoMaliGpu 167 */ 168 static void _reset(nomali_handle_t h, void *usr); 169 |
170 protected: 171 /** Device base address */ 172 const Addr pioAddr; 173 174 /** Platform, used to discover GIC */ 175 RealView *const platform; 176 177 /** Map between NoMali interrupt types and actual GIC --- 12 unchanged lines hidden --- |