summaryrefslogtreecommitdiff
path: root/src/dev/arm/vgic.hh
diff options
context:
space:
mode:
authorSean Wilson <spwilson2@wisc.edu>2017-06-28 11:55:34 -0500
committerSean Wilson <spwilson2@wisc.edu>2017-07-12 20:07:05 +0000
commit381aa8498997f5ce93480511f7514be85356687a (patch)
tree750c3eff714caf2b0e6c99eebc825e2107e3948d /src/dev/arm/vgic.hh
parent8bcf6a799d8bde90565fd42cf74ada0ec9fbc98f (diff)
downloadgem5-381aa8498997f5ce93480511f7514be85356687a.tar.xz
arm: Refactor some Event subclasses to lambdas
Change-Id: Ic59add8afee1d49633634272d9687a4b1558537e Signed-off-by: Sean Wilson <spwilson2@wisc.edu> Reviewed-on: https://gem5-review.googlesource.com/3929 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/dev/arm/vgic.hh')
-rw-r--r--src/dev/arm/vgic.hh18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/dev/arm/vgic.hh b/src/dev/arm/vgic.hh
index e9bc29c18..40e42d4fa 100644
--- a/src/dev/arm/vgic.hh
+++ b/src/dev/arm/vgic.hh
@@ -104,22 +104,10 @@ class VGic : public PioDevice
static const uint32_t LR_PENDING = 1;
static const uint32_t LR_ACTIVE = 2;
- /** Event definition to post interrupt to CPU after a delay
- */
- class PostVIntEvent : public Event
- {
- private:
- uint32_t cpu;
- Platform *platform;
- public:
- PostVIntEvent( uint32_t c, Platform* p)
- : cpu(c), platform(p)
- { }
- void process() { platform->intrctrl->post(cpu, ArmISA::INT_VIRT_IRQ, 0);}
- const char *description() const { return "Post VInterrupt to CPU"; }
- };
+ /** Post interrupt to CPU */
+ void processPostVIntEvent(uint32_t cpu);
- PostVIntEvent *postVIntEvent[VGIC_CPU_MAX];
+ EventFunctionWrapper *postVIntEvent[VGIC_CPU_MAX];
bool maintIntPosted[VGIC_CPU_MAX];
bool vIntPosted[VGIC_CPU_MAX];