ev5.cc (5639:67cc7f0427e7) ev5.cc (5640:c811ced9efc1)
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;

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

542void
543copyIprs(ThreadContext *src, ThreadContext *dest)
544{
545 for (int i = 0; i < NumInternalProcRegs; ++i)
546 dest->setMiscRegNoEffect(i, src->readMiscRegNoEffect(i));
547}
548
549} // namespace AlphaISA
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;

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

542void
543copyIprs(ThreadContext *src, ThreadContext *dest)
544{
545 for (int i = 0; i < NumInternalProcRegs; ++i)
546 dest->setMiscRegNoEffect(i, src->readMiscRegNoEffect(i));
547}
548
549} // namespace AlphaISA
550
551#if FULL_SYSTEM
552
553using namespace AlphaISA;
554
555/**
556 * Check for special simulator handling of specific PAL calls.
557 * If return value is false, actual PAL call will be suppressed.
558 */
559bool
560SimpleThread::simPalCheck(int palFunc)
561{
562 if (kernelStats)
563 kernelStats->callpal(palFunc, tc);
564
565 switch (palFunc) {
566 case PAL::halt:
567 halt();
568 if (--System::numSystemsRunning == 0)
569 exitSimLoop("all cpus halted");
570 break;
571
572 case PAL::bpt:
573 case PAL::bugchk:
574 if (system->breakpoint())
575 return false;
576 break;
577 }
578
579 return true;
580}
581
582#endif // FULL_SYSTEM