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 -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
