base.cc (5250:42577371ff31) base.cc (5281:61e396061986)
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();
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 fault->invoke(tc);
470 thread->setMicroPC(0);
471 thread->setNextMicroPC(1);
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;

--- 60 unchanged lines hidden ---
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;

--- 60 unchanged lines hidden ---