summaryrefslogtreecommitdiff
path: root/src/arch/x86/interrupts.cc
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
commitd9f0a8288e0522369928fec76a7d8b70e2b719eb (patch)
tree42da337edb675b3ae51f0af40bc621f198798e72 /src/arch/x86/interrupts.cc
parent02b05bf9be2fa4cf5aae2a3a989ac27d675b0a50 (diff)
downloadgem5-d9f0a8288e0522369928fec76a7d8b70e2b719eb.tar.xz
MessagePort: implement the virtual recvTiming function to avoid double pkt delete
Double packet delete problem is due to an interrupt device deleting a packet that the SimpleTimingPort also deletes. Since MessagePort descends from SimpleTimingPort, simply reimplement the failing code from SimpleTimingPort: recvTiming.
Diffstat (limited to 'src/arch/x86/interrupts.cc')
-rw-r--r--src/arch/x86/interrupts.cc2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/arch/x86/interrupts.cc b/src/arch/x86/interrupts.cc
index 951392a15..a7d9f3277 100644
--- a/src/arch/x86/interrupts.cc
+++ b/src/arch/x86/interrupts.cc
@@ -340,8 +340,6 @@ X86ISA::Interrupts::recvResponse(PacketPtr pkt)
low.deliveryStatus = 0;
regs[APIC_INTERRUPT_COMMAND_LOW] = low;
}
- delete pkt->req;
- delete pkt;
DPRINTF(LocalApic, "ICR is now idle.\n");
return 0;
}