diff --git a/src/arch/x86/intmessage.hh b/src/arch/x86/intmessage.hh index 429b0f9f65..d2a5dfa1c7 100644 --- a/src/arch/x86/intmessage.hh +++ b/src/arch/x86/intmessage.hh @@ -76,40 +76,17 @@ namespace X86ISA static const Addr TriggerIntOffset = 0; - static inline PacketPtr - prepIntRequest(const uint8_t id, Addr offset, Addr size) - { - RequestPtr req = std::make_shared( - x86InterruptAddress(id, offset), - size, Request::UNCACHEABLE, - Request::intMasterId); - - PacketPtr pkt = new Packet(req, MemCmd::WriteReq); - pkt->allocate(); - return pkt; - } - template PacketPtr - buildIntRequest(const uint8_t id, T payload, Addr offset, Addr size) + buildIntPacket(Addr addr, T payload) { - PacketPtr pkt = prepIntRequest(id, offset, size); + RequestPtr req = std::make_shared( + addr, sizeof(T), Request::UNCACHEABLE, Request::intMasterId); + PacketPtr pkt = new Packet(req, MemCmd::WriteReq); + pkt->allocate(); pkt->setRaw(payload); return pkt; } - - static inline PacketPtr - buildIntRequest(const uint8_t id, TriggerIntMessage payload) - { - return buildIntRequest(id, payload, TriggerIntOffset, - sizeof(TriggerIntMessage)); - } - - static inline PacketPtr - buildIntResponse() - { - panic("buildIntResponse not implemented.\n"); - } } #endif diff --git a/src/dev/x86/intdev.hh b/src/dev/x86/intdev.hh index 274873370f..052928043f 100644 --- a/src/dev/x86/intdev.hh +++ b/src/dev/x86/intdev.hh @@ -115,7 +115,8 @@ class IntMasterPort : public QueuedMasterPort sendMessage(X86ISA::ApicList apics, TriggerIntMessage message, bool timing) { for (auto id: apics) { - PacketPtr pkt = buildIntRequest(id, message); + Addr addr = x86InterruptAddress(id, TriggerIntOffset); + PacketPtr pkt = buildIntPacket(addr, message); if (timing) { schedTimingReq(pkt, curTick() + latency); // The target handles cleaning up the packet in timing mode.