diff options
author | Gabe Black <gabeblack@google.com> | 2019-09-10 17:24:47 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-09-21 05:05:18 +0000 |
commit | cc03cf8270fad7261f08527637325cb42615c887 (patch) | |
tree | 2ad5ae3fac7254314146563b9edabb424250f4b9 /src/arch | |
parent | a9ed1458ba374115e09a83ac5c6eae0e6e929f42 (diff) | |
download | gem5-cc03cf8270fad7261f08527637325cb42615c887.tar.xz |
x86: Templatize IntSlavePort.
This makes the device IntSlavePort calls back into based on a template
parameter so that IntDevice doesn't have to be in the inheritance
hierarchy to use it.
It also makes IntSlavePort inherit from SimpleTimingPort directly,
skipping over MessageSlavePort.
Change-Id: Ic3213edc9c3ed5e506ee1e9f5e082cd47d7c7998
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20820
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/interrupts.hh | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/x86/interrupts.hh b/src/arch/x86/interrupts.hh index bd674cc7e..48e350cfc 100644 --- a/src/arch/x86/interrupts.hh +++ b/src/arch/x86/interrupts.hh @@ -172,7 +172,7 @@ class Interrupts : public PioDevice, IntDevice int initialApicId; // Port for receiving interrupts - IntSlavePort intSlavePort; + IntSlavePort<Interrupts> intSlavePort; Tick pioDelay; Addr pioAddr = MaxAddr; @@ -200,11 +200,11 @@ class Interrupts : public PioDevice, IntDevice void init() override; /* - * Functions to interact with the interrupt port from IntDevice. + * Functions to interact with the interrupt port. */ Tick read(PacketPtr pkt) override; Tick write(PacketPtr pkt) override; - Tick recvMessage(PacketPtr pkt) override; + Tick recvMessage(PacketPtr pkt); Tick recvResponse(PacketPtr pkt) override; bool @@ -217,7 +217,7 @@ class Interrupts : public PioDevice, IntDevice } AddrRangeList getAddrRanges() const override; - AddrRangeList getIntAddrRange() const override; + AddrRangeList getIntAddrRange() const; Port &getPort(const std::string &if_name, PortID idx=InvalidPortID) override |