changeset 38c7a9ea7729 in /z/repo/gem5 details: http://repo.gem5.org/gem5?cmd=changeset;node=38c7a9ea7729 description: cpu: Add support to checker for CACHE_BLOCK_ZERO commands.
The checker didn't know how to properly validate these new commands. diffstat: src/cpu/checker/cpu.cc | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diffs (27 lines): diff -r 58d5d471b598 -r 38c7a9ea7729 src/cpu/checker/cpu.cc --- a/src/cpu/checker/cpu.cc Wed Oct 29 23:18:24 2014 -0500 +++ b/src/cpu/checker/cpu.cc Wed Oct 29 23:18:24 2014 -0500 @@ -231,6 +231,7 @@ bool checked_flags = false; bool flags_match = true; Addr pAddr = 0x0; + static uint8_t zero_data[64] = {}; int fullSize = size; @@ -304,6 +305,15 @@ unverifiedReq->getExtraData() : true; } + // If the request is to ZERO a cache block, there is no data to check + // against, but it's all zero. We need something to compare to, so use a + // const set of zeros. + if (flags & Request::CACHE_BLOCK_ZERO) { + assert(!data); + assert(sizeof(zero_data) <= fullSize); + data = zero_data; + } + if (unverifiedReq && unverifiedMemData && memcmp(data, unverifiedMemData, fullSize) && extraData) { warn("%lli: Store value does not match value sent to memory! " _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev