Hi Samuel,

If you're using the classic memory system, the easiest option is to add
a tiny cache between the SimObject that issues the writes and the rest
of the memory system. Then your SimObject can issue simple WriteReqs and
the cache will take care of the rest.

Otherwise, you will have to implement part of the coherence protocol in
your SimObject (in your case a write will have to fetch an exclusive
copy of the cache line with a ReadExReq, update the cache line and write
it back with a WritebackDirty).

Hope this helps.

Thanks,

Nikos

On 30/06/2021 13:36, Samuel Thomas via gem5-users wrote:
Hello all,

I am running into issues where I am trying to create packets to perform writes 
in my system that originate outside the CPU. Without knowledge of which MemCmds 
do what, I naïvely declared them as WriteReqs, but there seem to be response 
packets that make it back to the CPU which causes the system to crash. Does 
anyone know of a good place to read about the different MemCmds (either gem5 
related or otherwise)?

Thank you for your help!

Best,
Sam
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to