ruby: cleaning up RubyQueue and RubyNetwork dprintfs
[gem5.git] / src / mem / protocol / MOESI_SMP_token-msg.sm
1 /*
2 * $Id: MOESI_token-msg.sm 1.3 04/06/05 22:43:20-00:00 kmoore@cottons.cs.wisc.edu $
3 *
4 */
5
6 //int max_tokens();
7
8 // CoherenceRequestType
9 enumeration(CoherenceRequestType, desc="...") {
10 GETX, desc="Get eXclusive";
11 GETS, desc="Get Shared";
12 }
13
14 // StarvationType
15 enumeration(PersistentRequestType, desc="...") {
16 GETX_PERSISTENT, desc="...";
17 GETS_PERSISTENT, desc="...";
18 DEACTIVATE_PERSISTENT, desc="...";
19 }
20
21 // CoherenceResponseType
22 enumeration(CoherenceResponseType, desc="...") {
23 DATA_OWNER, desc="Data, with the owner token";
24 DATA_SHARED, desc="Data, without the owner token";
25 ACK, desc="ACKnowledgment";
26 ACK_OWNER, desc="ACKnowledgment, includes the clean owner token";
27 }
28
29 // StarvationMsg
30 structure(PersistentMsg, desc="...", interface="NetworkMessage") {
31 Address Address, desc="Physical address for this request";
32 PersistentRequestType Type, desc="Type of starvation request";
33 MachineID Requestor, desc="Node who initiated the request";
34 NetDest Destination, desc="Destination set";
35 MessageSizeType MessageSize, desc="size category of the message";
36 }
37
38 // RequestMsg
39 structure(RequestMsg, desc="...", interface="NetworkMessage") {
40 Address Address, desc="Physical address for this request";
41 CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
42 MachineID Requestor, desc="Node who initiated the request";
43 NetDest Destination, desc="Multicast destination mask";
44 MachineType DestMachine, desc="What component receives the data";
45 MessageSizeType MessageSize, desc="size category of the message";
46 }
47
48 // ResponseMsg
49 structure(ResponseMsg, desc="...", interface="NetworkMessage") {
50 Address Address, desc="Physical address for this request";
51 CoherenceResponseType Type, desc="Type of response (Ack, Data, etc)";
52 MachineID Sender, desc="Node who sent the data";
53 MachineType SenderMachine, desc="What component sent the data";
54 NetDest Destination, desc="Node to whom the data is sent";
55 MachineType DestMachine, desc="What component receives the data";
56 int Tokens, desc="Number of tokens being transfered for this line";
57 DataBlock DataBlk, desc="data for the cache line";
58 bool Dirty, desc="Is the data dirty (different than memory)?";
59 MessageSizeType MessageSize, desc="size category of the message";
60 }
61