base.cc (7338:0d6c08d25fe7) | base.cc (7408:ee6949c5bb5b) |
---|---|
1/* 2 * Copyright (c) 2010 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 --- 343 unchanged lines hidden (view full) --- 352void 353BaseSimpleCPU::checkForInterrupts() 354{ 355#if FULL_SYSTEM 356 if (checkInterrupts(tc)) { 357 Fault interrupt = interrupts->getInterrupt(tc); 358 359 if (interrupt != NoFault) { | 1/* 2 * Copyright (c) 2010 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 --- 343 unchanged lines hidden (view full) --- 352void 353BaseSimpleCPU::checkForInterrupts() 354{ 355#if FULL_SYSTEM 356 if (checkInterrupts(tc)) { 357 Fault interrupt = interrupts->getInterrupt(tc); 358 359 if (interrupt != NoFault) { |
360 predecoder.reset(); | |
361 fetchOffset = 0; 362 interrupts->updateIntrInfo(tc); 363 interrupt->invoke(tc); | 360 fetchOffset = 0; 361 interrupts->updateIntrInfo(tc); 362 interrupt->invoke(tc); |
363 predecoder.reset(); |
|
364 } 365 } 366#endif 367} 368 369 370void 371BaseSimpleCPU::setupFetchRequest(Request *req) --- 131 unchanged lines hidden (view full) --- 503 504void 505BaseSimpleCPU::advancePC(Fault fault) 506{ 507 //Since we're moving to a new pc, zero out the offset 508 fetchOffset = 0; 509 if (fault != NoFault) { 510 curMacroStaticInst = StaticInst::nullStaticInstPtr; | 364 } 365 } 366#endif 367} 368 369 370void 371BaseSimpleCPU::setupFetchRequest(Request *req) --- 131 unchanged lines hidden (view full) --- 503 504void 505BaseSimpleCPU::advancePC(Fault fault) 506{ 507 //Since we're moving to a new pc, zero out the offset 508 fetchOffset = 0; 509 if (fault != NoFault) { 510 curMacroStaticInst = StaticInst::nullStaticInstPtr; |
511 predecoder.reset(); | |
512 fault->invoke(tc); | 511 fault->invoke(tc); |
512 predecoder.reset(); |
|
513 } else { 514 //If we're at the last micro op for this instruction 515 if (curStaticInst && curStaticInst->isLastMicroop()) { 516 //We should be working with a macro op or be in the ROM 517 assert(curMacroStaticInst || 518 isRomMicroPC(thread->readMicroPC())); 519 //Close out this macro op, and clean up the 520 //microcode state --- 55 unchanged lines hidden --- | 513 } else { 514 //If we're at the last micro op for this instruction 515 if (curStaticInst && curStaticInst->isLastMicroop()) { 516 //We should be working with a macro op or be in the ROM 517 assert(curMacroStaticInst || 518 isRomMicroPC(thread->readMicroPC())); 519 //Close out this macro op, and clean up the 520 //microcode state --- 55 unchanged lines hidden --- |