faults.cc (7087:fb8d5786ff30) faults.cc (7625:b1e69203bae9)
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

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

262 tc->setMiscReg(MISCREG_CS_EFF_BASE, vector << 12);
263 // This has the base value pre-added.
264 tc->setMiscReg(MISCREG_CS_LIMIT, 0xffff);
265
266 tc->setPC(tc->readMiscReg(MISCREG_CS_BASE));
267 tc->setNextPC(tc->readPC() + sizeof(MachInst));
268 }
269
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

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

262 tc->setMiscReg(MISCREG_CS_EFF_BASE, vector << 12);
263 // This has the base value pre-added.
264 tc->setMiscReg(MISCREG_CS_LIMIT, 0xffff);
265
266 tc->setPC(tc->readMiscReg(MISCREG_CS_BASE));
267 tc->setNextPC(tc->readPC() + sizeof(MachInst));
268 }
269
270#else
271
272 void
273 PageFault::invoke(ThreadContext * tc)
274 {
275 PageFaultErrorCode code = errorCode;
276 const char *modeStr = "";
277 if (code.fetch)
278 modeStr = "execute";
279 else if (code.write)
280 modeStr = "write";
281 else
282 modeStr = "read";
283 panic("Tried to %s unmapped address %#x.\n", modeStr, addr);
284 }
285
270#endif
271} // namespace X86ISA
272
286#endif
287} // namespace X86ISA
288