//Requests from L15 to L2
// Should always make #0 an error
`define MSG_TYPE_RESERVED 8'd0
`define MSG_TYPE_LOAD_REQ 8'd31
`define MSG_TYPE_PREFETCH_REQ 8'd1
`define MSG_TYPE_STORE_REQ 8'd2
`define MSG_TYPE_BLK_STORE_REQ 8'd3
`define MSG_TYPE_BLKINIT_STORE_REQ 8'd4
`define MSG_TYPE_CAS_REQ 8'd5
`define MSG_TYPE_CAS_P1_REQ 8'd6
//condition satisfied
`define MSG_TYPE_CAS_P2Y_REQ 8'd7
//condition not satisfied
`define MSG_TYPE_CAS_P2N_REQ 8'd8
//Both SWAP and LDSTUB are the same for L2
`define MSG_TYPE_SWAP_REQ 8'd9
`define MSG_TYPE_SWAP_P1_REQ 8'd10
`define MSG_TYPE_SWAP_P2_REQ 8'd11
`define MSG_TYPE_WB_REQ 8'd12
`define MSG_TYPE_WBGUARD_REQ 8'd13
`define MSG_TYPE_NC_LOAD_REQ 8'd14
`define MSG_TYPE_NC_STORE_REQ 8'd15
`define MSG_TYPE_INTERRUPT_FWD 8'd32
//RISC-V AMO requests
`define MSG_TYPE_AMO_ADD_REQ 8'd36
`define MSG_TYPE_AMO_AND_REQ 8'd37
`define MSG_TYPE_AMO_OR_REQ 8'd38
`define MSG_TYPE_AMO_XOR_REQ 8'd39
`define MSG_TYPE_AMO_MAX_REQ 8'd40
`define MSG_TYPE_AMO_MAXU_REQ 8'd41
`define MSG_TYPE_AMO_MIN_REQ 8'd42
`define MSG_TYPE_AMO_MINU_REQ 8'd43
//RISC-V AMO L2-internal phase 1
`define MSG_TYPE_AMO_ADD_P1_REQ 8'd44
`define MSG_TYPE_AMO_AND_P1_REQ 8'd45
`define MSG_TYPE_AMO_OR_P1_REQ 8'd46
`define MSG_TYPE_AMO_XOR_P1_REQ 8'd47
`define MSG_TYPE_AMO_MAX_P1_REQ 8'd48
`define MSG_TYPE_AMO_MAXU_P1_REQ 8'd49
`define MSG_TYPE_AMO_MIN_P1_REQ 8'd50
`define MSG_TYPE_AMO_MINU_P1_REQ 8'd51
//RISC-V AMO L2-internal phase 2
`define MSG_TYPE_AMO_ADD_P2_REQ 8'd52
`define MSG_TYPE_AMO_AND_P2_REQ 8'd53
`define MSG_TYPE_AMO_OR_P2_REQ 8'd54
`define MSG_TYPE_AMO_XOR_P2_REQ 8'd55
`define MSG_TYPE_AMO_MAX_P2_REQ 8'd56
`define MSG_TYPE_AMO_MAXU_P2_REQ 8'd57
`define MSG_TYPE_AMO_MIN_P2_REQ 8'd58
`define MSG_TYPE_AMO_MINU_P2_REQ 8'd59
`define MSG_TYPE_LR_REQ 8'd60
...