Hello,
In my SLICC files I have an error with these lines of code:
structure (ChildStates, external = "yes") {
int getChildState(Entry, int);
int getNumberOfChildren();
void changeChildState(Entry, ChildState, int);
int getChildStateNum(PS machineID);
void changeParentState(Entry, ParentState);
bool IsOtherChildrenNotM(Entry, int);
bool IsOtherChildrenNotP(Entry, int);
bool IsOtherChildrenNot_IWS_PWS(Entry, int);
NetDest ChildRequest_S_Current_S_C_portion(Entry);
NetDest ChildRequest_S_New_S_C_portion(Entry);
NetDest ChildRequest_M_Current_C_portion(Entry);
NetDest ParentRequest_S_C_portion(Entry);
NetDest ParentRequest_I_Current_C_portion(Entry);
void ParentRequest_I_New_C_portion(Entry);
NetDest ChildReply_S_PS_is_not_W_C_portion(Entry);
NetDest ChildReply_I_Current_first_C_portion(Entry);
NetDest ChildReply_I_Current_second_C_portion(Entry);
NetDest ChildReply_I_New_C_portion(Entry);
NetDest ParentReply_S_Current_C_portion(Entry);
NetDest ParentReply_I_Current_C_portion(Entry);
NetDest ParentReply_I_New_C_portion(Entry);
}
// CacheEntry
structure(Entry, desc="...", interface="AbstractCacheEntry") {
State CacheState, desc="cache state";
ChildStates CS, desc="children cache states"
ParentState PS, desc="parent cache state"
NetDest Sharers, desc="tracks the L1 shares on-chip";
MachineID Exclusive, desc="Exclusive holder of block";
DataBlock DataBlk, desc="data for the block";
}
When I compile the code, the SLICC compiler tells me that type 'Entry' is not
declared. The reason for that is because the cache entry is declared after the
Child States declaration. If I put the cache entry before the SLICC compiler
tells me that type 'ChildStates' is not declared. The only way I believe I can
fix this problem is by forward declaring one of these two structures, but I
don't know how it can be done. I am wondering if there is any possible way to
fix this problem?
- Alex_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users