faults.cc (12110:c24ee249b8ba) | faults.cc (12406:86bde4a026b5) |
---|---|
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; --- 188 unchanged lines hidden (view full) --- 197 198 Process *p = tc->getProcessPtr(); 199 TlbEntry entry; 200 bool success = p->pTable->lookup(pc, entry); 201 if (!success) { 202 panic("Tried to execute unmapped address %#x.\n", pc); 203 } else { 204 VAddr vaddr(pc); | 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; --- 188 unchanged lines hidden (view full) --- 197 198 Process *p = tc->getProcessPtr(); 199 TlbEntry entry; 200 bool success = p->pTable->lookup(pc, entry); 201 if (!success) { 202 panic("Tried to execute unmapped address %#x.\n", pc); 203 } else { 204 VAddr vaddr(pc); |
205 tc->getITBPtr()->insert(vaddr.page(), entry); | 205 dynamic_cast<TLB *>(tc->getITBPtr())->insert(vaddr.page(), entry); |
206 } 207} 208 209void 210NDtbMissFault::invoke(ThreadContext *tc, const StaticInstPtr &inst) 211{ 212 if (FullSystem) { 213 DtbFault::invoke(tc, inst); --- 5 unchanged lines hidden (view full) --- 219 bool success = p->pTable->lookup(vaddr, entry); 220 if (!success) { 221 if (p->fixupStackFault(vaddr)) 222 success = p->pTable->lookup(vaddr, entry); 223 } 224 if (!success) { 225 panic("Tried to access unmapped address %#x.\n", (Addr)vaddr); 226 } else { | 206 } 207} 208 209void 210NDtbMissFault::invoke(ThreadContext *tc, const StaticInstPtr &inst) 211{ 212 if (FullSystem) { 213 DtbFault::invoke(tc, inst); --- 5 unchanged lines hidden (view full) --- 219 bool success = p->pTable->lookup(vaddr, entry); 220 if (!success) { 221 if (p->fixupStackFault(vaddr)) 222 success = p->pTable->lookup(vaddr, entry); 223 } 224 if (!success) { 225 panic("Tried to access unmapped address %#x.\n", (Addr)vaddr); 226 } else { |
227 tc->getDTBPtr()->insert(vaddr.page(), entry); | 227 dynamic_cast<TLB *>(tc->getDTBPtr())->insert(vaddr.page(), entry); |
228 } 229} 230 231} // namespace AlphaISA 232 | 228 } 229} 230 231} // namespace AlphaISA 232 |