mem-ruby: warns on masked functional writes

It's not expected to issue masked functional writes or to receive
functional writes to an address with a pending masked write.

Change-Id: Ibc8ba5f642ff72f897e3a50011c0da6d3000b741
Signed-off-by: Tiago Mück <tiago.muck@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/41133
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Tiago Mück
2020-07-17 10:49:31 -05:00
parent be08e29991
commit dde0e3f0df

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019 ARM Limited
* Copyright (c) 2019,2021 ARM Limited
* All rights reserved.
*
* The license below extends only to copyright in the software and shall
@@ -82,6 +82,13 @@ RubyRequest::functionalWrite(Packet *pkt)
if (!data)
return false;
if (pkt->isMaskedWrite() || m_pkt->isMaskedWrite()) {
warn("Skiping functional write to/from a masked write packet"
" (addr: %#x, other addr: %#x).\n", m_PhysicalAddress,
pkt->getAddr());
return false;
}
Addr wBase = pkt->getAddr();
Addr wTail = wBase + pkt->getSize();
Addr mBase = m_PhysicalAddress;