faults.cc (7741:340b6f01d69b) faults.cc (8539:7d3ea3c65c66)
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;

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

638
639void
640FastDataAccessMMUMiss::invoke(ThreadContext *tc, StaticInstPtr inst)
641{
642 Process *p = tc->getProcessPtr();
643 TlbEntry entry;
644 bool success = p->pTable->lookup(vaddr, entry);
645 if (!success) {
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;

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

638
639void
640FastDataAccessMMUMiss::invoke(ThreadContext *tc, StaticInstPtr inst)
641{
642 Process *p = tc->getProcessPtr();
643 TlbEntry entry;
644 bool success = p->pTable->lookup(vaddr, entry);
645 if (!success) {
646 p->checkAndAllocNextPage(vaddr);
647 success = p->pTable->lookup(vaddr, entry);
646 if (p->fixupStackFault(vaddr))
647 success = p->pTable->lookup(vaddr, entry);
648 }
649 if (!success) {
650 panic("Tried to access unmapped address %#x.\n", vaddr);
651 } else {
652 Addr alignedVaddr = p->pTable->pageAlign(vaddr);
653 tc->getDTBPtr()->insert(alignedVaddr, 0 /*partition id*/,
654 p->M5_pid /*context id*/, false, entry.pte);
655 }

--- 57 unchanged lines hidden ---
648 }
649 if (!success) {
650 panic("Tried to access unmapped address %#x.\n", vaddr);
651 } else {
652 Addr alignedVaddr = p->pTable->pageAlign(vaddr);
653 tc->getDTBPtr()->insert(alignedVaddr, 0 /*partition id*/,
654 p->M5_pid /*context id*/, false, entry.pte);
655 }

--- 57 unchanged lines hidden ---