Deleted Added
sdiff udiff text old ( 5222:bb733a878f85 ) new ( 5237:6c819dbe8045 )
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;

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

461void
462BaseSimpleCPU::advancePC(Fault fault)
463{
464 //Since we're moving to a new pc, zero out the offset
465 fetchOffset = 0;
466 if (fault != NoFault) {
467 curMacroStaticInst = StaticInst::nullStaticInstPtr;
468 predecoder.reset();
469 thread->setMicroPC(0);
470 thread->setNextMicroPC(1);
471 fault->invoke(tc);
472 } else {
473 //If we're at the last micro op for this instruction
474 if (curStaticInst && curStaticInst->isLastMicroop()) {
475 //We should be working with a macro op
476 assert(curMacroStaticInst);
477 //Close out this macro op, and clean up the
478 //microcode state
479 curMacroStaticInst = StaticInst::nullStaticInstPtr;

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

498
499 Addr oldpc;
500 do {
501 oldpc = thread->readPC();
502 system->pcEventQueue.service(tc);
503 } while (oldpc != thread->readPC());
504}
505