1/* 2 * Copyright (c) 2012-2013, 2017-2018 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 --- 32 unchanged lines hidden (view full) --- 41 * Base class for ARM GIC implementations 42 */ 43 44#ifndef __DEV_ARM_BASE_GIC_H__ 45#define __DEV_ARM_BASE_GIC_H__ 46 47#include <unordered_map> 48 |
49#include "arch/arm/system.hh" |
50#include "dev/io_device.hh" 51 52class Platform; 53class RealView; 54class ThreadContext; 55class ArmInterruptPin; 56class ArmSPI; 57class ArmPPI; --- 5 unchanged lines hidden (view full) --- 63 64class BaseGic : public PioDevice 65{ 66 public: 67 typedef BaseGicParams Params; 68 69 BaseGic(const Params *p); 70 virtual ~BaseGic(); |
71 void init() override; |
72 73 const Params * params() const; 74 75 /** 76 * Post an interrupt from a device that is connected to the GIC. 77 * 78 * Depending on the configuration, the GIC will pass this interrupt 79 * on through to a CPU. --- 16 unchanged lines hidden (view full) --- 96 * 97 * Depending on the configuration, the GIC may de-assert it's CPU 98 * line. 99 * 100 * @param num number of interrupt to send 101 */ 102 virtual void clearInt(uint32_t num) = 0; 103 |
104 ArmSystem * 105 getSystem() const 106 { 107 return (ArmSystem *) sys; 108 } 109 |
110 protected: 111 /** Platform this GIC belongs to. */ 112 Platform *platform; 113}; 114 115class BaseGicRegisters 116{ 117 public: --- 126 unchanged lines hidden --- |