----- Original Message ----- 
  
  
  Sent: Monday, November 30, 2009 3:32 PM
  Subject: questions about how to modify the 
  makeRequest interface function
  
  Hi all,
   
  I want to modify the makeRequest() function, which is the 
  interface function between functional module OPAL(simics) and memory 
  module RUBY. Here I would like to add a new field "access_seq" for 
  each "memop" instruction and pass that value to the RUBY 
  and SLICC protocol module so that the RUBY and the cache 
  controller will be aware of the sequence of any memop 
  instructions.
   
  The makeRequest() function interface in RUBY 
  module is like this:
   
   void  OpalInterface::makeRequest(int  
  cpuNumber, la_t logicalAddr, pa_t 
  physicalAddr,
                                 
  int  requestSize, OpalMemop_t 
  typeOfRequest,
                                 
  la_t virtualPC, int isPriv, int thread)
   
  The modified version:
  void  OpalInterface::makeRequest(int  cpuNumber, 
  la_t logicalAddr, pa_t 
  physicalAddr,
                                 
  int  requestSize, OpalMemop_t 
  typeOfRequest,
                                 
  la_t virtualPC, int isPriv, int thread, int 
  access_seq)
   
  Also, the makeRequest function interface in OPAL module is 
  modified accordingly: 
   
  rubycache_t:        void 
  (*makeRequest)( int cpuNumber, la_t logicalAddr, pa_t 
  physicalAddr,
                                 
  int requestSize, OpalMemop_t 
  typeOfRequest,
                                 
  la_t virtualPC, int isPriv, int thread, int 
  access_seq);
   
  There are also makeRequest() function instances within the 
  Ruby/Sequencer.C file. But the comments suggests that it was related with 
  SIMICS(I am running RUBY+OPAL).
   
   
  I am not sure whether the modification 
  above would be right and I am looking 
  forward to your advices!
   
  Any help will be appreciated!
   
  Regards,
  shuchang