From 9782ca5defac34d8e6acfb8304ed2f35908f7a72 Mon Sep 17 00:00:00 2001 From: Brad Beckmann Date: Sun, 6 Feb 2011 22:14:18 -0800 Subject: ruby: Assert for x86 misaligned access This patch ensures only aligned access are passed to ruby and includes a fix to the DPRINTF address print. --- src/mem/ruby/system/RubyPort.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc index ea1ff04f0..b3225cdca 100644 --- a/src/mem/ruby/system/RubyPort.cc +++ b/src/mem/ruby/system/RubyPort.cc @@ -226,6 +226,9 @@ RubyPort::M5Port::recvTiming(PacketPtr pkt) pkt->getSize(), pc, type, RubyAccessMode_Supervisor, pkt); + assert(Address(ruby_request.paddr).getOffset() + ruby_request.len <= + RubySystem::getBlockSizeBytes()); + // Submit the ruby request RequestStatus requestStatus = ruby_port->makeRequest(ruby_request); @@ -237,7 +240,7 @@ RubyPort::M5Port::recvTiming(PacketPtr pkt) } DPRINTF(MemoryAccess, - "Request for address #x did not issue because %s\n", + "Request for address %#x did not issue because %s\n", pkt->getAddr(), RequestStatus_to_string(requestStatus)); SenderState* senderState = safe_cast(pkt->senderState); -- cgit v1.2.3