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