}
Pl390(const Params *p);
+ /** @{ */
/** Return the address ranges used by the Gic
* This is the distributor address + all cpu addresses
*/
* writeDistributor() or writeCpu()
*/
virtual Tick write(PacketPtr pkt);
+ /** @} */
- /** Handle a read to the distributor poriton of the GIC
- * @param pkt packet to respond to
- */
- Tick readDistributor(PacketPtr pkt);
-
- /** Handle a read to the cpu poriton of the GIC
- * @param pkt packet to respond to
- */
- Tick readCpu(PacketPtr pkt);
-
- /** Handle a write to the distributor poriton of the GIC
- * @param pkt packet to respond to
- */
- Tick writeDistributor(PacketPtr pkt);
-
- /** Handle a write to the cpu poriton of the GIC
- * @param pkt packet to respond to
- */
- Tick writeCpu(PacketPtr pkt);
-
+ /** @{ */
/** Post an interrupt from a device that is connected to the Gic.
* Depending on the configuration, the gic will pass this interrupt
* on through to a CPU.
* Depending on the configuration, the gic may de-assert it's cpu line
* @param number number of interrupt to send */
void clearInt(uint32_t number);
+ /** @} */
+ /** @{ */
/* Various functions fer testing and debugging */
void driveSPI(uint32_t spi);
void driveLegIRQ(bool state);
void driveLegFIQ(bool state);
void driveIrqEn(bool state);
+ /** @} */
virtual void serialize(std::ostream &os);
virtual void unserialize(Checkpoint *cp, const std::string §ion);
+ protected:
+ /** Handle a read to the distributor poriton of the GIC
+ * @param pkt packet to respond to
+ */
+ Tick readDistributor(PacketPtr pkt);
+
+ /** Handle a read to the cpu poriton of the GIC
+ * @param pkt packet to respond to
+ */
+ Tick readCpu(PacketPtr pkt);
+
+ /** Handle a write to the distributor poriton of the GIC
+ * @param pkt packet to respond to
+ */
+ Tick writeDistributor(PacketPtr pkt);
+
+ /** Handle a write to the cpu poriton of the GIC
+ * @param pkt packet to respond to
+ */
+ Tick writeCpu(PacketPtr pkt);
};
#endif //__DEV_ARM_GIC_H__