commit_impl.hh (4636:afc8da9f526e) | commit_impl.hh (4650:bb9977571ff4) |
---|---|
1/* 2 * Copyright (c) 2004-2006 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; --- 628 unchanged lines hidden (view full) --- 637 if (interrupt != NoFault) { 638 // Wait until the ROB is empty and all stores have drained in 639 // order to enter the interrupt. 640 if (rob->isEmpty() && !iewStage->hasStoresToWB()) { 641 // Squash or record that I need to squash this cycle if 642 // an interrupt needed to be handled. 643 DPRINTF(Commit, "Interrupt detected.\n"); 644 | 1/* 2 * Copyright (c) 2004-2006 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; --- 628 unchanged lines hidden (view full) --- 637 if (interrupt != NoFault) { 638 // Wait until the ROB is empty and all stores have drained in 639 // order to enter the interrupt. 640 if (rob->isEmpty() && !iewStage->hasStoresToWB()) { 641 // Squash or record that I need to squash this cycle if 642 // an interrupt needed to be handled. 643 DPRINTF(Commit, "Interrupt detected.\n"); 644 |
645 Fault new_interrupt = cpu->getInterrupts(); 646 assert(new_interrupt != NoFault); 647 | |
648 // Clear the interrupt now that it's going to be handled 649 toIEW->commitInfo[0].clearInterrupt = true; 650 651 assert(!thread[0]->inSyscall); 652 thread[0]->inSyscall = true; 653 654 // CPU will handle interrupt. 655 cpu->processInterrupts(interrupt); --- 726 unchanged lines hidden --- | 645 // Clear the interrupt now that it's going to be handled 646 toIEW->commitInfo[0].clearInterrupt = true; 647 648 assert(!thread[0]->inSyscall); 649 thread[0]->inSyscall = true; 650 651 // CPU will handle interrupt. 652 cpu->processInterrupts(interrupt); --- 726 unchanged lines hidden --- |