base.cc (3520:4f4a2054fd85) base.cc (3521:0b0b3551def0)
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;

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

306 }
307}
308#endif // FULL_SYSTEM
309
310void
311BaseSimpleCPU::checkForInterrupts()
312{
313#if FULL_SYSTEM
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;

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

306 }
307}
308#endif // FULL_SYSTEM
309
310void
311BaseSimpleCPU::checkForInterrupts()
312{
313#if FULL_SYSTEM
314 if (checkInterrupts && check_interrupts() && !thread->inPalMode()) {
315 checkInterrupts = false;
314 if (checkInterrupts && check_interrupts(tc)) {
316 Fault interrupt = interrupts.getInterrupt(tc);
317
318 if (interrupt != NoFault) {
315 Fault interrupt = interrupts.getInterrupt(tc);
316
317 if (interrupt != NoFault) {
318 checkInterrupts = false;
319 interrupt->invoke(tc);
320 }
321 }
322#endif
323}
324
325
326Fault

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

366 // decode the instruction
367 inst = gtoh(inst);
368 //If we're not in the middle of a macro instruction
369 if (!curMacroStaticInst) {
370#if THE_ISA == ALPHA_ISA
371 StaticInstPtr instPtr = StaticInst::decode(makeExtMI(inst, thread->readPC()));
372#elif THE_ISA == SPARC_ISA
373 StaticInstPtr instPtr = StaticInst::decode(makeExtMI(inst, thread->getTC()));
319 interrupt->invoke(tc);
320 }
321 }
322#endif
323}
324
325
326Fault

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

366 // decode the instruction
367 inst = gtoh(inst);
368 //If we're not in the middle of a macro instruction
369 if (!curMacroStaticInst) {
370#if THE_ISA == ALPHA_ISA
371 StaticInstPtr instPtr = StaticInst::decode(makeExtMI(inst, thread->readPC()));
372#elif THE_ISA == SPARC_ISA
373 StaticInstPtr instPtr = StaticInst::decode(makeExtMI(inst, thread->getTC()));
374#elif THE_ISA == MIPS_ISA
375 //Mips doesn't do anything in it's MakeExtMI function right now,
376 //so it won't be called.
377 StaticInstPtr instPtr = StaticInst::decode(inst);
374#endif
375 if (instPtr->isMacroOp()) {
376 curMacroStaticInst = instPtr;
377 curStaticInst = curMacroStaticInst->
378 fetchMicroOp(thread->readMicroPC());
379 } else {
380 curStaticInst = instPtr;
381 }

--- 95 unchanged lines hidden ---
378#endif
379 if (instPtr->isMacroOp()) {
380 curMacroStaticInst = instPtr;
381 curStaticInst = curMacroStaticInst->
382 fetchMicroOp(thread->readMicroPC());
383 } else {
384 curStaticInst = instPtr;
385 }

--- 95 unchanged lines hidden ---