On 7/15/2022 7:54 AM, Abdlerhman Abotaleb wrote: > But in such case, GEM5 code will fail without my memory object being added and this is not the case, > it was working perfectly. > Because, omitting the added simulation object, the packet pointer "pkt" is being sent to the > crossbar then the memory controller.
Let me try again to explain the scenario I was thinking of. The timing packet originates from a component such as the cpu. In stages, as timing delay time are reached, it is forwarded, component to component, to the memory, then it is turn into a response, and sent back through the components, generally in several steps, according to delays. Then it is destroyed. Your change put a pointer to the packet into some private queue - but the packet was *also* sent along its regular path. By the time you pull the packet out of your queue and look at it, it has flowed through the whole regular process and been deleted. By making a copy, you of course avoid that - but the packet may be being processed twice. As I've said, I could be wrong about what is going on, but this is the possible scenario I was trying to explain. Regards - Eliot _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org