Hello everyone,
I want to extend SLICC with C++ objects MessageFilter as the ISCA'2011 tutorial 
describes.
The source files (MessageFilter.hh & MessageFilter.cc) are in 
src\mem\ruby\filters, but when building, 
I find that these two files are not copied to build/ALPHA_FS/mem/protocol/. 
So there is an building error like this:

# scons build/ALPHA_FS/gem5.opt PROTOCOL=MI_example RUBY=True 
...
In file included from build/ALPHA_FS/mem/protocol/DMA_Controller.hh:17,
                 from build/ALPHA_FS/mem/protocol/DMA_Controller.cc:15:
build/ALPHA_FS/mem/protocol/Types.hh:64:41: error: 
mem/protocol/MessageFilter.hh: No such file or directory
scons: *** [build/ALPHA_FS/mem/protocol/DMA_Controller.o] Error 1
scons: building terminated because of errors.

The build/ALPHA_FS/mem/protocol/Types.hh which includes MessageFilter.hh cannot 
find this header file, 
what should I do to tell the building tool to copy MessageFilter.hh to 
build/ALPHA_FS/mem/protocol/?

Here are the source code:

// MessageFilter.hh
class MessageFilter {
public:
MessageFilter(int param1);
int filter(RequestMsg msg);
};

// MessageFilter.cc
int MessageFilter::filter(RequestMsg msg)
{
return 0;
}

// MI_example-cache.sm
structure(MessageFilter, external="yes") {
int filter(RequestMsg);
};
MessageFilter requestFilter,
constructor_hack="param";
action(af_allocateUnlessFiltered, "af") {
  if (requestFilter.filter(in_msg) != 1) {
    cacheMemory.allocate(address, new Entry);
  }
}

Best regards,



Xuhao Chen
PhD student
School of Computer
National University of Defense Technology
Changsha, Hunan, P.R.China, 410073
Tel:  +86-159-741-03340 (Mobile)
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to