faults.cc (10417:710ee116eb68) | faults.cc (11218:d135bc832ffe) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 121 unchanged lines hidden (view full) --- 130 panic("Unrecognized/invalid instruction executed:\n %s", 131 inst->machInst); 132 } 133 } 134 135 void PageFault::invoke(ThreadContext * tc, const StaticInstPtr &inst) 136 { 137 if (FullSystem) { | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 121 unchanged lines hidden (view full) --- 130 panic("Unrecognized/invalid instruction executed:\n %s", 131 inst->machInst); 132 } 133 } 134 135 void PageFault::invoke(ThreadContext * tc, const StaticInstPtr &inst) 136 { 137 if (FullSystem) { |
138 /* Invalidate any matching TLB entries before handling the page fault */ 139 tc->getITBPtr()->demapPage(addr, 0); 140 tc->getDTBPtr()->demapPage(addr, 0); |
|
138 HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG); 139 X86FaultBase::invoke(tc); 140 /* 141 * If something bad happens while trying to enter the page fault 142 * handler, I'm pretty sure that's a double fault and then all 143 * bets are off. That means it should be safe to update this 144 * state now. 145 */ --- 164 unchanged lines hidden --- | 141 HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG); 142 X86FaultBase::invoke(tc); 143 /* 144 * If something bad happens while trying to enter the page fault 145 * handler, I'm pretty sure that's a double fault and then all 146 * bets are off. That means it should be safe to update this 147 * state now. 148 */ --- 164 unchanged lines hidden --- |