Hello Daniel Carvalho, Nikos Nikoleris,

I'd like you to reexamine a change. Please visit

    https://gem5-review.googlesource.com/11750

to look at the new patch set (#3).

Change subject: mem: Fix off-by-one error in checkFunctional, and simplify it
......................................................................

mem: Fix off-by-one error in checkFunctional, and simplify it

There was an off-by-one error in the isRead() case, as `val_end` and
`func_end` pointed to the last byte to write to (not one past the last
byte), and thus `*_end - *_start` was not the length of the data to
memcpy.

This was correct in the case of

    val_start >= func_start && val_end <= func_end

where `overlap_size = size`, but if it were (as the other cases
suggest) `overlap_size = val_end - val_start`, then it would also be
off by one.

Also, the isWrite() case catered for this.

I simplified the four ifs into one case which uses min/max (this is
how I spotted the inconsistency).

Change-Id: Ib5c5da084652e752f6baf1eec56b51b4f0f5c95c
---
M src/mem/packet.cc
1 file changed, 27 insertions(+), 78 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/11750
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Ib5c5da084652e752f6baf1eec56b51b4f0f5c95c
Gerrit-Change-Number: 11750
Gerrit-PatchSet: 3
Gerrit-Owner: Kovacsics Róbert <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Nikos Nikoleris <[email protected]>
Gerrit-CC: Jason Lowe-Power <[email protected]>
Gerrit-MessageType: newpatchset
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to