Sequencer.cc (8165:5955406f7ed0) Sequencer.cc (8171:19444b1f092c)
1/*
2 * Copyright (c) 1999-2008 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;

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

72 m_dataCache_ptr = p->dcache;
73 m_max_outstanding_requests = p->max_outstanding_requests;
74 m_deadlock_threshold = p->deadlock_threshold;
75
76 assert(m_max_outstanding_requests > 0);
77 assert(m_deadlock_threshold > 0);
78 assert(m_instCache_ptr != NULL);
79 assert(m_dataCache_ptr != NULL);
1/*
2 * Copyright (c) 1999-2008 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;

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

72 m_dataCache_ptr = p->dcache;
73 m_max_outstanding_requests = p->max_outstanding_requests;
74 m_deadlock_threshold = p->deadlock_threshold;
75
76 assert(m_max_outstanding_requests > 0);
77 assert(m_deadlock_threshold > 0);
78 assert(m_instCache_ptr != NULL);
79 assert(m_dataCache_ptr != NULL);
80
81 m_usingNetworkTester = p->using_network_tester;
80}
81
82Sequencer::~Sequencer()
83{
84}
85
86void
87Sequencer::wakeup()

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

385 (request->ruby_request.type == RubyRequestType_Store_Conditional) ||
386 (request->ruby_request.type == RubyRequestType_Locked_RMW_Read) ||
387 (request->ruby_request.type == RubyRequestType_Locked_RMW_Write));
388
389 //
390 // For Alpha, properly handle LL, SC, and write requests with respect to
391 // locked cache blocks.
392 //
82}
83
84Sequencer::~Sequencer()
85{
86}
87
88void
89Sequencer::wakeup()

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

387 (request->ruby_request.type == RubyRequestType_Store_Conditional) ||
388 (request->ruby_request.type == RubyRequestType_Locked_RMW_Read) ||
389 (request->ruby_request.type == RubyRequestType_Locked_RMW_Write));
390
391 //
392 // For Alpha, properly handle LL, SC, and write requests with respect to
393 // locked cache blocks.
394 //
393 bool success = handleLlsc(address, request);
395 // Not valid for Network_test protocl
396 //
397 bool success = true;
398 if(!m_usingNetworkTester)
399 success = handleLlsc(address, request);
394
395 if (request->ruby_request.type == RubyRequestType_Locked_RMW_Read) {
396 m_controller->blockOnQueue(address, m_mandatory_q_ptr);
397 } else if (request->ruby_request.type == RubyRequestType_Locked_RMW_Write) {
398 m_controller->unblock(address);
399 }
400
401 hitCallback(request, mach, data, success,

--- 332 unchanged lines hidden ---
400
401 if (request->ruby_request.type == RubyRequestType_Locked_RMW_Read) {
402 m_controller->blockOnQueue(address, m_mandatory_q_ptr);
403 } else if (request->ruby_request.type == RubyRequestType_Locked_RMW_Write) {
404 m_controller->unblock(address);
405 }
406
407 hitCallback(request, mach, data, success,

--- 332 unchanged lines hidden ---