Hi Shaikhul, "trigger" isn't really a function. It's a language statement (like, `if` in C/C++).
SLICC doesn't always give the most helpful errors. However, I notice that the eros is actually showing line 124, not line 219. That seems suspicious to me, and I'd look more into that. Also, you can find a working and tested version of the MSI protocol in src/learning_gem5/part3/. You can check yours against that to see if there are any changes. It's possible that some things in gem5 have changed since the tutorial was last updated. Cheers, Jason On Sat, Sep 19, 2020 at 11:45 AM Shaikhul Hadi via gem5-users < gem5-users@gem5.org> wrote: > I'm trying to implement MSI protocol in gem5 using Ruby SLICC [version > SHA: 8e9b03b640e1c2074896d1123fd55fd336c37d6c] following this > <http://learning.gem5.org/book/part3/MSI/cache-intro.html> source. When I > run build, it raises exception and terminates operation. > > Exception: MSI-dir.sm:124: Error: Unrecognized function name: >> 'trigger_Event_Addr' >> > > Exception occurs at line 219 of MSI-dir.sm > <http://learning.gem5.org/book/_downloads/MSI-dir.sm> file. > > in_port(memQueue_in, MemoryMsg, responseFromMemory) { >> if (memQueue_in.isReady(clockEdge())) { >> peek(memQueue_in, MemoryMsg) { >> if (in_msg.Type == MemoryRequestType:MEMORY_READ) { >> trigger(Event:MemData, in_msg.addr); //exception >> raised here >> } else if (in_msg.Type == MemoryRequestType:MEMORY_WB) { >> trigger(Event:MemAck, in_msg.addr); >> } else { >> error("Invalid message"); >> } >> } >> } >> } >> > > I cloud not find any detail documentation of trigger function. According > to gem5 documatation > <http://www.gem5.org/documentation/general_docs/ruby/slicc/> the number > of arguments to trigger depend on the machine itself which I presume means > variable arguments.Also my implementation of trigger is valid(I assume) as > in ./src/mem/ruby/protocol also provides sample protocol file > (Garnet_standalone-dir.sm) that has trigger implementation with two > argument (trigger(Event:MemData, in_msg.addr);) just like mine. My system > do not have dma controller. > > Why this exception is being raised ? How cloud I solve this issue? > > Note: I have also asked this question in stack overflow > <https://stackoverflow.com/questions/63969494/trigger-is-not-recongnized-for-msi-protocol-withruby-in-gem5?noredirect=1#comment113119805_63969494> > > _______________________________________________ > 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
_______________________________________________ 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