From eea78f968b8c959e377bcdf50203c070de5057ac Mon Sep 17 00:00:00 2001 From: Joel Hestness Date: Sun, 6 Feb 2011 22:14:17 -0800 Subject: [PATCH] IntDev: packet latency fix The x86 local apic now includes a separate latency parameter for interrupts. --- src/arch/x86/X86LocalApic.py | 2 ++ src/arch/x86/interrupts.cc | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) 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),