summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:17 -0800
committerJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:17 -0800
commiteea78f968b8c959e377bcdf50203c070de5057ac (patch)
treefef641d797e1bb3f0bbc14fa02813f21c950fe35 /src
parentd9f0a8288e0522369928fec76a7d8b70e2b719eb (diff)
downloadgem5-eea78f968b8c959e377bcdf50203c070de5057ac.tar.xz
IntDev: packet latency fix
The x86 local apic now includes a separate latency parameter for interrupts.
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/X86LocalApic.py2
-rw-r--r--src/arch/x86/interrupts.cc3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/x86/X86LocalApic.py b/src/arch/x86/X86LocalApic.py
index 483c65ef8..b9be19b64 100644
--- a/src/arch/x86/X86LocalApic.py
+++ b/src/arch/x86/X86LocalApic.py
@@ -34,3 +34,5 @@ class X86LocalApic(BasicPioDevice):
cxx_class = 'X86ISA::Interrupts'
pio_latency = Param.Latency('1ns', 'Programmed IO latency in simticks')
int_port = Port("Port for sending and receiving interrupt messages")
+ int_latency = Param.Latency('1ns', \
+ "Latency for an interrupt to propagate through this device.")
diff --git a/src/arch/x86/interrupts.cc b/src/arch/x86/interrupts.cc
index a7d9f3277..61800e1ea 100644
--- a/src/arch/x86/interrupts.cc
+++ b/src/arch/x86/interrupts.cc
@@ -595,7 +595,8 @@ X86ISA::Interrupts::setReg(ApicRegIndex reg, uint32_t val)
X86ISA::Interrupts::Interrupts(Params * p) :
- BasicPioDevice(p), IntDev(this), latency(p->pio_latency), clock(0),
+ BasicPioDevice(p), IntDev(this, p->int_latency), latency(p->pio_latency),
+ clock(0),
apicTimerEvent(this),
pendingSmi(false), smiVector(0),
pendingNmi(false), nmiVector(0),