faults.cc (5856:f770af5600c9) faults.cc (5857:8cd8e1393990)
1/*
2 * Copyright (c) 2003-2007 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;

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

118 MicroPC entry;
119 if (m5reg.mode == LongMode) {
120 entry = extern_label_longModeInterrupt;
121 } else {
122 entry = extern_label_legacyModeInterrupt;
123 }
124 tc->setIntReg(INTREG_MICRO(1), vector);
125 tc->setIntReg(INTREG_MICRO(7), tc->readPC());
1/*
2 * Copyright (c) 2003-2007 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;

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

118 MicroPC entry;
119 if (m5reg.mode == LongMode) {
120 entry = extern_label_longModeInterrupt;
121 } else {
122 entry = extern_label_legacyModeInterrupt;
123 }
124 tc->setIntReg(INTREG_MICRO(1), vector);
125 tc->setIntReg(INTREG_MICRO(7), tc->readPC());
126 tc->setIntReg(INTREG_MICRO(15), (uint64_t)(-1));
126 if (errorCode != (uint64_t)(-1)) {
127 tc->setIntReg(INTREG_MICRO(15), errorCode);
128 }
127 tc->setMicroPC(romMicroPC(entry));
128 tc->setNextMicroPC(romMicroPC(entry) + 1);
129 }
130
131 void FakeITLBFault::invoke(ThreadContext * tc)
132 {
133 // Start the page table walker.
134 tc->getITBPtr()->walk(tc, vaddr);

--- 49 unchanged lines hidden ---
129 tc->setMicroPC(romMicroPC(entry));
130 tc->setNextMicroPC(romMicroPC(entry) + 1);
131 }
132
133 void FakeITLBFault::invoke(ThreadContext * tc)
134 {
135 // Start the page table walker.
136 tc->getITBPtr()->walk(tc, vaddr);

--- 49 unchanged lines hidden ---