exetrace.cc (4001:5acecff20547) exetrace.cc (4008:ccad3906006a)
1/*
2 * Copyright (c) 2001-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;

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

445
446 for (int i = 0; i < 64; i++) {
447 if (shared_data->itb[i] != thread->getITBPtr()->TteRead(i))
448 diffTlb = true;
449 if (shared_data->dtb[i] != thread->getDTBPtr()->TteRead(i))
450 diffTlb = true;
451 }
452
1/*
2 * Copyright (c) 2001-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;

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

445
446 for (int i = 0; i < 64; i++) {
447 if (shared_data->itb[i] != thread->getITBPtr()->TteRead(i))
448 diffTlb = true;
449 if (shared_data->dtb[i] != thread->getDTBPtr()->TteRead(i))
450 diffTlb = true;
451 }
452
453 if ((diffPC || diffCC || diffInst || diffIntRegs ||
453 if (diffPC || diffCC || diffInst || diffIntRegs ||
454 diffFpRegs || diffTpc || diffTnpc || diffTstate ||
455 diffTt || diffHpstate || diffHtstate || diffHtba ||
456 diffPstate || diffY || diffCcr || diffTl || diffFsr ||
457 diffGl || diffAsi || diffPil || diffCwp || diffCansave ||
458 diffCanrestore || diffOtherwin || diffCleanwin || diffTlb)
454 diffFpRegs || diffTpc || diffTnpc || diffTstate ||
455 diffTt || diffHpstate || diffHtstate || diffHtba ||
456 diffPstate || diffY || diffCcr || diffTl || diffFsr ||
457 diffGl || diffAsi || diffPil || diffCwp || diffCansave ||
458 diffCanrestore || diffOtherwin || diffCleanwin || diffTlb)
459 && !((staticInst->machInst & 0xC1F80000) == 0x81D00000)
460 && !(((staticInst->machInst & 0xC0000000) == 0xC0000000)
461 && shared_data->tl == thread->readMiscReg(MISCREG_TL) + 1)
462 ) {
459 {
463
464 outs << "Differences found between M5 and Legion:";
465 if (diffPC)
466 outs << " [PC]";
467 if (diffCC)
468 outs << " [CC]";
469 if (diffInst)
470 outs << " [Instruction]";

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

634 shared_data->intregs[y*8+x]);
635 }
636 }
637 if (diffFpRegs) {
638 for (int x = 0; x < 32; x++) {
639 char label[8];
640 sprintf(label, "%%f%d", x);
641 printRegPair(outs, label,
460
461 outs << "Differences found between M5 and Legion:";
462 if (diffPC)
463 outs << " [PC]";
464 if (diffCC)
465 outs << " [CC]";
466 if (diffInst)
467 outs << " [Instruction]";

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

631 shared_data->intregs[y*8+x]);
632 }
633 }
634 if (diffFpRegs) {
635 for (int x = 0; x < 32; x++) {
636 char label[8];
637 sprintf(label, "%%f%d", x);
638 printRegPair(outs, label,
642 thread->readFloatRegBits(x,FloatRegFile::DoubleWidth),
639 thread->readFloatRegBits(x*2,FloatRegFile::DoubleWidth),
643 shared_data->fpregs[x]);
644 }
645 }
646 if (diffTlb) {
647 printColumnLabels(outs);
648 char label[8];
649 for (int x = 0; x < 64; x++) {
650 if (shared_data->itb[x] != ULL(0xFFFFFFFFFFFFFFFF) ||

--- 140 unchanged lines hidden ---
640 shared_data->fpregs[x]);
641 }
642 }
643 if (diffTlb) {
644 printColumnLabels(outs);
645 char label[8];
646 for (int x = 0; x < 64; x++) {
647 if (shared_data->itb[x] != ULL(0xFFFFFFFFFFFFFFFF) ||

--- 140 unchanged lines hidden ---