summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-12-19 01:50:06 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-12-19 01:50:06 -0800
commit3e1cda5080ee3c876278e2e0135af21e62cec60d (patch)
tree4b15f6b7f3a094ce43dfb49dc42f3a0838275ffb
parent93d89b288f7cb45a20ff8bfa90a6caa73bc098f9 (diff)
downloadgem5-3e1cda5080ee3c876278e2e0135af21e62cec60d.tar.xz
X86: Add a latency that describes how long an interrupt takes to propagate through the IO APIC.
-rw-r--r--src/dev/x86/I82094AA.py2
-rw-r--r--src/dev/x86/i82094aa.cc3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/dev/x86/I82094AA.py b/src/dev/x86/I82094AA.py
index 5476becc6..d4ab2cb17 100644
--- a/src/dev/x86/I82094AA.py
+++ b/src/dev/x86/I82094AA.py
@@ -38,6 +38,8 @@ class I82094AA(BasicPioDevice):
pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
pio_addr = Param.Addr("Device address")
int_port = Port("Port for sending and receiving interrupt messages")
+ int_latency = Param.Latency('1ns', \
+ "Latency for an interrupt to propagate through this device.")
external_int_pic = Param.I8259(NULL, "External PIC, if any")
def pin(self, line):
diff --git a/src/dev/x86/i82094aa.cc b/src/dev/x86/i82094aa.cc
index 591fee6a4..65b3ee732 100644
--- a/src/dev/x86/i82094aa.cc
+++ b/src/dev/x86/i82094aa.cc
@@ -36,7 +36,8 @@
#include "mem/packet_access.hh"
#include "sim/system.hh"
-X86ISA::I82094AA::I82094AA(Params *p) : PioDevice(p), IntDev(this),
+X86ISA::I82094AA::I82094AA(Params *p) : PioDevice(p),
+ IntDev(this, p->int_latency),
latency(p->pio_latency), pioAddr(p->pio_addr),
extIntPic(p->external_int_pic), lowestPriorityOffset(0)
{