MOESI_CMP_token-L2cache.sm (14184:11ac1337c5e2) MOESI_CMP_token-L2cache.sm (14300:22183ae13998)
1/*
2 * Copyright (c) 1999-2013 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 435 unchanged lines hidden (view full) ---

444 trigger(Event:Writeback_Shared_Data, in_msg.addr, cache_entry);
445 }
446 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) {
447 //assert(in_msg.Dirty == false);
448 trigger(Event:Writeback_Owned, in_msg.addr, cache_entry);
449 }
450 }
451 else {
1/*
2 * Copyright (c) 1999-2013 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 435 unchanged lines hidden (view full) ---

444 trigger(Event:Writeback_Shared_Data, in_msg.addr, cache_entry);
445 }
446 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) {
447 //assert(in_msg.Dirty == false);
448 trigger(Event:Writeback_Owned, in_msg.addr, cache_entry);
449 }
450 }
451 else {
452 trigger(Event:L2_Replacement,
453 L2cache.cacheProbe(in_msg.addr),
454 getCacheEntry(L2cache.cacheProbe(in_msg.addr)));
452 Addr victim := L2cache.cacheProbe(in_msg.addr);
453 trigger(Event:L2_Replacement, victim, getCacheEntry(victim));
455 }
456 } else if (in_msg.Type == CoherenceResponseType:INV) {
457 trigger(Event:L1_INV, in_msg.addr, cache_entry);
458 } else {
459 error("Unexpected message");
460 }
461 } else {
462 if (in_msg.Type == CoherenceResponseType:ACK) {

--- 18 unchanged lines hidden (view full) ---

481 assert(in_msg.Dirty == false);
482 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry);
483 }
484 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) {
485 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry);
486 }
487 }
488 else {
454 }
455 } else if (in_msg.Type == CoherenceResponseType:INV) {
456 trigger(Event:L1_INV, in_msg.addr, cache_entry);
457 } else {
458 error("Unexpected message");
459 }
460 } else {
461 if (in_msg.Type == CoherenceResponseType:ACK) {

--- 18 unchanged lines hidden (view full) ---

480 assert(in_msg.Dirty == false);
481 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry);
482 }
483 else if (in_msg.Type == CoherenceResponseType:WB_OWNED) {
484 trigger(Event:Writeback_All_Tokens, in_msg.addr, cache_entry);
485 }
486 }
487 else {
489 trigger(Event:L2_Replacement,
490 L2cache.cacheProbe(in_msg.addr),
491 getCacheEntry(L2cache.cacheProbe(in_msg.addr)));
488 Addr victim := L2cache.cacheProbe(in_msg.addr);
489 trigger(Event:L2_Replacement, victim, getCacheEntry(victim));
492 }
493 } else if (in_msg.Type == CoherenceResponseType:INV) {
494 trigger(Event:L1_INV, in_msg.addr, cache_entry);
495 } else {
496 DPRINTF(RubySlicc, "%s\n", in_msg.Type);
497 error("Unexpected message");
498 }
499 }

--- 1010 unchanged lines hidden ---
490 }
491 } else if (in_msg.Type == CoherenceResponseType:INV) {
492 trigger(Event:L1_INV, in_msg.addr, cache_entry);
493 } else {
494 DPRINTF(RubySlicc, "%s\n", in_msg.Type);
495 error("Unexpected message");
496 }
497 }

--- 1010 unchanged lines hidden ---