| 
 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 
 |