----- Original Message -----
Sent: Thursday, January 18, 2007 11:34
PM
Subject: [Gems-users] How to add to
CoherenceRequestType?
Dear List,
I wanted to add a new type for
CoherenceRequestType and use that in my slicc .sm file. I did this by adding a
new enum in generated file CoherenceRequestType.h as follows:
enum CoherenceRequestType {
CoherenceRequestType_FIRST,
CoherenceRequestType_GETX =
CoherenceRequestType_FIRST,
CoherenceRequestType_UPGRADE,
CoherenceRequestType_GETS,
CoherenceRequestType_GET_INSTR,
CoherenceRequestType_PUTX,
CoherenceRequestType_PUTS,
CoherenceRequestType_INV,
CoherenceRequestType_INV_S,
CoherenceRequestType_L1_DG,
CoherenceRequestType_WB_ACK,
CoherenceRequestType_EXE_ACK,
CoherenceRequestType_NUM,
// a new
request type
CoherenceRequestType_FRED
};
Then when I attempt to compile the protocol, I
got an error message indicating that Type 'CoherenceRequestType' does not have
enumeration 'FRED'. I also tried to modify protocols/RubySlicc_Exports.sm,
enumeration(GenericRequestType, desc="...",
default="GenericRequestType_NULL") {
GETS, desc="gets request";
GET_INSTR, desc="get instr request";
GETX, desc="getx request";
UPGRADE, desc="upgrade request";
DOWNGRADE, desc="downgrade request";
INV, desc="invalidate
request";
INV_S,
desc="invalidate shared copy request";
PUTS, desc="puts request";
PUTO, desc="puto request";
PUTX, desc="putx request";
L2_PF, desc="L2 prefetch";
LD,
desc="Load";
ST,
desc="Store";
ATOMIC, desc="Atomic
Load/Store";
IFETCH, desc="Instruction
fetch";
IO,
desc="I/O";
// a new request type
FRED, desc="FRED
request";
NACK,
desc="Nack";
REPLACEMENT, desc="Replacement";
WB_ACK, desc="WriteBack ack";
EXE_ACK, desc="Execlusive ack";
COMMIT, desc="Commit version";
LD_XACT, desc="Transactional Load";
LDX_XACT, desc="Transactional
Load-Intend-Modify";
ST_XACT,
desc="Transactional Store";
BEGIN_XACT, desc="Begin
Transaction";
COMMIT_XACT, desc="Commit Transaction";
ABORT_XACT, desc="Abort Transaction";
NULL, desc="null request
type";
}
That gives me the same error. I suspect that this is a slicc limitation.
Could anyone please give me a hint on how to add a new type to
CoherenceRequestType?
Thanks in advance!
Lei
_______________________________________________
Gems-users mailing
list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use
Google to search the GEMS Users mailing list by adding
"site:https://lists.cs.wisc.edu/archive/gems-users/" to your
search.