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 ---