Deleted Added
sdiff udiff text old ( 8832:247fee427324 ) new ( 8887:20ea02da9c53 )
full compact
1/*
2 * Copyright (c) 2011 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

239 fetch_PC = (fetch_PC & PCMask) + fetchOffset;
240
241 // If not in the middle of a macro instruction
242 if (!curMacroStaticInst) {
243 // set up memory request for instruction fetch
244 memReq = new Request(unverifiedInst->threadNumber, fetch_PC,
245 sizeof(MachInst),
246 0,
247 masterId,
248 fetch_PC, thread->contextId(),
249 unverifiedInst->threadNumber);
250 memReq->setVirt(0, fetch_PC, sizeof(MachInst),
251 Request::INST_FETCH, masterId, thread->instAddr());
252
253
254 fault = itb->translateFunctional(memReq, tc, BaseTLB::Execute);
255

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

395 panic("%lli: sn: %lli at PC: %s took a fault in driver "
396 "CPU but not in checker\n", curTick(),
397 unverifiedInst->seqNum, unverifiedInst->pcState());
398 }
399 }
400
401 // Take any faults here
402 if (fault != NoFault) {
403 if (FullSystem) {
404 fault->invoke(tc, curStaticInst);
405 willChangePC = true;
406 newPCState = thread->pcState();
407 DPRINTF(Checker, "Fault, PC is now %s\n", newPCState);
408 curMacroStaticInst = StaticInst::nullStaticInstPtr;
409 }
410 } else {
411 advancePC(fault);
412 }
413
414 if (FullSystem) {
415 // @todo: Determine if these should happen only if the
416 // instruction hasn't faulted. In the SimpleCPU case this may
417 // not be true, but in the O3 or Ozone case this may be true.

--- 260 unchanged lines hidden ---