1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * Copyright (c) 2009 Advanced Micro Devices, Inc. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 97 unchanged lines hidden (view full) --- 106 Request *req = new Request(m_address.getAddress(), 0, flags, 107 m_tester_ptr->masterId(), curTick(), m_pc.getAddress()); 108 req->setThreadContext(index, 0); 109 110 PacketPtr pkt = new Packet(req, cmd); 111 112 // push the subblock onto the sender state. The sequencer will 113 // update the subblock on the return |
114 pkt->senderState = new SenderState(m_address, req->getSize()); |
115 116 if (port->sendTimingReq(pkt)) { 117 DPRINTF(RubyTest, "successfully initiated prefetch.\n"); 118 } else { 119 // If the packet did not issue, must delete |
120 delete pkt->senderState; |
121 delete pkt->req; 122 delete pkt; 123 124 DPRINTF(RubyTest, 125 "prefetch initiation failed because Port was busy.\n"); 126 } 127} 128 --- 14 unchanged lines hidden (view full) --- 143 Packet::Command cmd; 144 145 cmd = MemCmd::FlushReq; 146 147 PacketPtr pkt = new Packet(req, cmd); 148 149 // push the subblock onto the sender state. The sequencer will 150 // update the subblock on the return |
151 pkt->senderState = new SenderState(m_address, req->getSize()); |
152 153 if (port->sendTimingReq(pkt)) { 154 DPRINTF(RubyTest, "initiating Flush - successful\n"); 155 } 156} 157 158void 159Check::initiateAction() --- 29 unchanged lines hidden (view full) --- 189 *writeData = m_value + m_store_count; 190 pkt->dataDynamic(writeData); 191 192 DPRINTF(RubyTest, "data 0x%x check 0x%x\n", 193 *(pkt->getPtr<uint8_t>()), *writeData); 194 195 // push the subblock onto the sender state. The sequencer will 196 // update the subblock on the return |
197 pkt->senderState = new SenderState(writeAddr, req->getSize()); |
198 199 if (port->sendTimingReq(pkt)) { 200 DPRINTF(RubyTest, "initiating action - successful\n"); 201 DPRINTF(RubyTest, "status before action update: %s\n", 202 (TesterStatus_to_string(m_status)).c_str()); 203 m_status = TesterStatus_Action_Pending; 204 } else { 205 // If the packet did not issue, must delete 206 // Note: No need to delete the data, the packet destructor 207 // will delete it |
208 delete pkt->senderState; |
209 delete pkt->req; 210 delete pkt; 211 212 DPRINTF(RubyTest, "failed to initiate action - sequencer not ready\n"); 213 } 214 215 DPRINTF(RubyTest, "status after action update: %s\n", 216 (TesterStatus_to_string(m_status)).c_str()); --- 21 unchanged lines hidden (view full) --- 238 239 req->setThreadContext(index, 0); 240 PacketPtr pkt = new Packet(req, MemCmd::ReadReq); 241 uint8_t *dataArray = new uint8_t[CHECK_SIZE]; 242 pkt->dataDynamicArray(dataArray); 243 244 // push the subblock onto the sender state. The sequencer will 245 // update the subblock on the return |
246 pkt->senderState = new SenderState(m_address, req->getSize()); |
247 248 if (port->sendTimingReq(pkt)) { 249 DPRINTF(RubyTest, "initiating check - successful\n"); 250 DPRINTF(RubyTest, "status before check update: %s\n", 251 TesterStatus_to_string(m_status).c_str()); 252 m_status = TesterStatus_Check_Pending; 253 } else { 254 // If the packet did not issue, must delete 255 // Note: No need to delete the data, the packet destructor 256 // will delete it |
257 delete pkt->senderState; |
258 delete pkt->req; 259 delete pkt; 260 261 DPRINTF(RubyTest, "failed to initiate check - cpu port not ready\n"); 262 } 263 264 DPRINTF(RubyTest, "status after check update: %s\n", 265 TesterStatus_to_string(m_status).c_str()); --- 111 unchanged lines hidden --- |