Deleted Added
sdiff udiff text old ( 6658:f4de76601762 ) new ( 6739:48d10ba361c9 )
full compact
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
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;

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

268}
269
270void
271TimingSimpleCPU::sendData(Fault fault, RequestPtr req,
272 uint8_t *data, uint64_t *res, bool read)
273{
274 _status = Running;
275 if (fault != NoFault) {
276 if (req->isPrefetch())
277 fault = NoFault;
278 delete data;
279 delete req;
280
281 translationFault(fault);
282 return;
283 }
284 PacketPtr pkt;
285 buildPacket(pkt, req, read);

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

312
313void
314TimingSimpleCPU::sendSplitData(Fault fault1, Fault fault2,
315 RequestPtr req1, RequestPtr req2, RequestPtr req,
316 uint8_t *data, bool read)
317{
318 _status = Running;
319 if (fault1 != NoFault || fault2 != NoFault) {
320 if (req1->isPrefetch())
321 fault1 = NoFault;
322 if (req2->isPrefetch())
323 fault2 = NoFault;
324 delete data;
325 delete req1;
326 delete req2;
327 if (fault1 != NoFault)
328 translationFault(fault1);
329 else if (fault2 != NoFault)
330 translationFault(fault2);
331 return;

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

361 }
362 }
363 }
364}
365
366void
367TimingSimpleCPU::translationFault(Fault fault)
368{
369 // fault may be NoFault in cases where a fault is suppressed,
370 // for instance prefetches.
371 numCycles += tickToCycles(curTick - previousTick);
372 previousTick = curTick;
373
374 if (traceData) {
375 // Since there was a fault, we shouldn't trace this instruction.
376 delete traceData;
377 traceData = NULL;
378 }

--- 695 unchanged lines hidden ---