faults.cc (3595:71574f980a5d) | faults.cc (3603:714467743f9b) |
---|---|
1/* 2 * Copyright (c) 2003-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; --- 480 unchanged lines hidden (view full) --- 489 CWP = (CWP + NWindows) % NWindows; 490 tc->setMiscRegWithEffect(MISCREG_CWP, CWP); 491 } 492} 493 494void getREDVector(MiscReg TT, Addr & PC, Addr & NPC) 495{ 496 //XXX The following constant might belong in a header file. | 1/* 2 * Copyright (c) 2003-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; --- 480 unchanged lines hidden (view full) --- 489 CWP = (CWP + NWindows) % NWindows; 490 tc->setMiscRegWithEffect(MISCREG_CWP, CWP); 491 } 492} 493 494void getREDVector(MiscReg TT, Addr & PC, Addr & NPC) 495{ 496 //XXX The following constant might belong in a header file. |
497 const Addr RSTVAddr = 0xFFFFFFFFF0000000ULL; | 497 const Addr RSTVAddr = 0xFFF0000000ULL; |
498 PC = RSTVAddr | ((TT << 5) & 0xFF); 499 NPC = PC + sizeof(MachInst); 500} 501 502void getHyperVector(ThreadContext * tc, Addr & PC, Addr & NPC, MiscReg TT) 503{ 504 Addr HTBA = tc->readMiscReg(MISCREG_HTBA); 505 PC = (HTBA & ~mask(14)) | ((TT << 5) & mask(14)); --- 182 unchanged lines hidden --- | 498 PC = RSTVAddr | ((TT << 5) & 0xFF); 499 NPC = PC + sizeof(MachInst); 500} 501 502void getHyperVector(ThreadContext * tc, Addr & PC, Addr & NPC, MiscReg TT) 503{ 504 Addr HTBA = tc->readMiscReg(MISCREG_HTBA); 505 PC = (HTBA & ~mask(14)) | ((TT << 5) & mask(14)); --- 182 unchanged lines hidden --- |