Hi Ahmad, At that point the packet has already been passed to the next module, and the command is thus changed.
The trace should be fine. Let me know how it goes. Andreas From: Ahmad Hassan <ahmad.has...@gmail.com<mailto:ahmad.has...@gmail.com>> Reply-To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Date: Monday, 10 February 2014 17:03 To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Subject: Re: [gem5-users] Adding CommMonitor between CPU and L1d-cache Hi Andreas, I didn't modify the packet. I just modified the following print statement in recvTimingReq of CommMonitor DPRINTF(CommMonitor, "Forwarded read request"); ==> DPRINTF(CommMonitor, "Forwarded read request %s", pkt->cmdString()); I am running full system x86 simulation in detailed mode. Thanks. Ahmad On 10 February 2014 16:53, Andreas Hansson <andreas.hans...@arm.com<mailto:andreas.hans...@arm.com>> wrote: Hi Ahmad, I’m not sure what print-outs you are referring to. Are you printing the trace after capture? The monitor takes special care to store the fields of the packet before forwarding it. If you have added your own print statements, then the packet is most likely changed already, explaining why you see only responses. Andreas From: Ahmad Hassan <ahmad.has...@gmail.com<mailto:ahmad.has...@gmail.com>> Reply-To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Date: Monday, 10 February 2014 15:17 To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Subject: Re: [gem5-users] Adding CommMonitor between CPU and L1d-cache Hi Andreas, I successfully managed to attach CommMonitor between CPU and L1 and got the trace as per your code suggestion: cpu.L1MONITOR = CommMonitor(trace_file = “cpu.ptrc”) cpu.dcache_port = cpu.L1MONITOR.slave cpu.L1MONITOR.master = cache.cpu_side But I do not see any read and write packets. I only see pkt->cmdString of type 'ReadResp' or 'WriteResp' in commonitor. In other words, I only see the response packets from L1 to CPU but no traffic from CPU to L1. My config looks like below: [cid:ii_1441c5e34f728e1f] Any clues please? Thanks, Ahmad On 30 January 2014 23:44, Andreas Hansson <andreas.hans...@arm.com<mailto:andreas.hans...@arm.com>> wrote: Hi Aditya, The monitor is a sort of “extension cord”, so you have to modify the point where two ports are connected, e.g. cpu.dcache_port = cache.cpu_side would instead become: cpu.monitor = CommMonitor(trace_file = “cpu.ptrc”) # note that the trace is not an ASCII text file, but a binary protobuf file cpu.dcache_port = cpu.monitor.slave cpu.monitor.master = cache.cpu_side I hope that helps. Andreas From: Aditya Deshpande <adityamdeshpa...@gmail.com<mailto:adityamdeshpa...@gmail.com>> Reply-To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Date: Thursday, 30 January 2014 22:44 To: "gem5-users@gem5.org<mailto:gem5-users@gem5.org>" <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Subject: [gem5-users] Adding CommMonitor between CPU and L1d-cache Hi, I want to add the CommMonitor between CPU and L1d-cache in SE mode to trace all the memory operation requests in the system. I am running in x-86 SE mode I added following lines in the /src/cpu/BaseCPU.py file system.monitor3 = CommMonitor(trace_file="CT_mon3.txt") MasterPort("Data Port") = system.monitor3.master system.monitor3.slave = dcache_port and commented the following line dcache_port = MasterPort("Data Port") The code executes but the trace file does not get generated. The CommMonitor3 also does not get recorded in config.ini. How to generate this trace? Any alternate ideas that I can try. Regards, Aditya -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users -- 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. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
<<attachment: image.png>>
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users