GPUCoalescer.cc (11523:81332eb10367) GPUCoalescer.cc (11660:cfa97c37117a)
1/*
2 * Copyright (c) 2013-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

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

137
138 assert(m_max_outstanding_requests > 0);
139 assert(m_deadlock_threshold > 0);
140 assert(m_instCache_ptr);
141 assert(m_dataCache_ptr);
142
143 m_data_cache_hit_latency = p->dcache_hit_latency;
144
1/*
2 * Copyright (c) 2013-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

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

137
138 assert(m_max_outstanding_requests > 0);
139 assert(m_deadlock_threshold > 0);
140 assert(m_instCache_ptr);
141 assert(m_dataCache_ptr);
142
143 m_data_cache_hit_latency = p->dcache_hit_latency;
144
145 m_usingNetworkTester = p->using_network_tester;
145 m_runningGarnetStandalone = p->garnet_standalone;
146 assumingRfOCoherence = p->assume_rfo;
147}
148
149GPUCoalescer::~GPUCoalescer()
150{
151}
152
153void

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

511 (request->m_type == RubyRequestType_Locked_RMW_Write) ||
512 (request->m_type == RubyRequestType_FLUSH));
513
514
515 //
516 // For Alpha, properly handle LL, SC, and write requests with respect to
517 // locked cache blocks.
518 //
146 assumingRfOCoherence = p->assume_rfo;
147}
148
149GPUCoalescer::~GPUCoalescer()
150{
151}
152
153void

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

511 (request->m_type == RubyRequestType_Locked_RMW_Write) ||
512 (request->m_type == RubyRequestType_FLUSH));
513
514
515 //
516 // For Alpha, properly handle LL, SC, and write requests with respect to
517 // locked cache blocks.
518 //
519 // Not valid for Network_test protocl
519 // Not valid for Garnet_standalone protocl
520 //
521 bool success = true;
520 //
521 bool success = true;
522 if (!m_usingNetworkTester)
522 if (!m_runningGarnetStandalone)
523 success = handleLlsc(address, request);
524
525 if (request->m_type == RubyRequestType_Locked_RMW_Read) {
526 m_controller->blockOnQueue(address, m_mandatory_q_ptr);
527 } else if (request->m_type == RubyRequestType_Locked_RMW_Write) {
528 m_controller->unblock(address);
529 }
530

--- 869 unchanged lines hidden ---
523 success = handleLlsc(address, request);
524
525 if (request->m_type == RubyRequestType_Locked_RMW_Read) {
526 m_controller->blockOnQueue(address, m_mandatory_q_ptr);
527 } else if (request->m_type == RubyRequestType_Locked_RMW_Write) {
528 m_controller->unblock(address);
529 }
530

--- 869 unchanged lines hidden ---