From ae390c629f2a10fd6a1c2eb50b7d3510d6e091da Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 2 Sep 2019 21:26:12 -0700 Subject: arch: Make a base class for Interrupts. That abstracts the ISA further from the CPU, getting us a small step closer to being able to build in more than one ISA at a time. Change-Id: Ibf7e26a3df411ffe994ac1e11d2a53b656863223 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20831 Tested-by: kokoro Reviewed-by: Jason Lowe-Power Reviewed-by: Andreas Sandberg Maintainer: Andreas Sandberg --- src/dev/x86/i82094aa.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/dev') diff --git a/src/dev/x86/i82094aa.cc b/src/dev/x86/i82094aa.cc index d6742a780..ba50ad57f 100644 --- a/src/dev/x86/i82094aa.cc +++ b/src/dev/x86/i82094aa.cc @@ -216,8 +216,9 @@ X86ISA::I82094AA::signalInterrupt(int line) } } else { for (int i = 0; i < numContexts; i++) { - Interrupts *localApic = sys->getThreadContext(i)-> + BaseInterrupts *base_int = sys->getThreadContext(i)-> getCpuPtr()->getInterruptController(0); + auto *localApic = dynamic_cast(base_int); if ((localApic->readReg(APIC_LOGICAL_DESTINATION) >> 24) & message.destination) { apics.push_back(localApic->getInitialApicId()); -- cgit v1.2.3