tlb.cc (5891:73084c6bb183) tlb.cc (5894:8091ac99341a)
1/*
2 * Copyright (c) 2001-2005 The Regents of The University of Michigan
3 * Copyright (c) 2007 MIPS Technologies, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

305 ;
306
307 hits = read_hits + write_hits;
308 misses = read_misses + write_misses;
309 accesses = read_accesses + write_accesses;
310}
311
312Fault
1/*
2 * Copyright (c) 2001-2005 The Regents of The University of Michigan
3 * Copyright (c) 2007 MIPS Technologies, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

305 ;
306
307 hits = read_hits + write_hits;
308 misses = read_misses + write_misses;
309 accesses = read_accesses + write_accesses;
310}
311
312Fault
313ITB::translateAtomic(RequestPtr &req, ThreadContext *tc)
313ITB::translateAtomic(RequestPtr req, ThreadContext *tc)
314{
315#if !FULL_SYSTEM
316 Process * p = tc->getProcessPtr();
317
318 Fault fault = p->pTable->translate(req);
319 if(fault != NoFault)
320 return fault;
321

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

421 Flt->Context_BadVPN2 = (VPN >> 2);
422 return Flt;
423 }
424 }
425 return checkCacheability(req);
426#endif
427}
428
314{
315#if !FULL_SYSTEM
316 Process * p = tc->getProcessPtr();
317
318 Fault fault = p->pTable->translate(req);
319 if(fault != NoFault)
320 return fault;
321

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

421 Flt->Context_BadVPN2 = (VPN >> 2);
422 return Flt;
423 }
424 }
425 return checkCacheability(req);
426#endif
427}
428
429void
430ITB::translateTiming(RequestPtr req, ThreadContext *tc,
431 Translation *translation)
432{
433 assert(translation);
434 translation->finish(translateAtomic(req, tc), req, tc, false);
435}
436
429Fault
437Fault
430DTB::translateAtomic(RequestPtr &req, ThreadContext *tc, bool write)
438DTB::translateAtomic(RequestPtr req, ThreadContext *tc, bool write)
431{
432#if !FULL_SYSTEM
433 Process * p = tc->getProcessPtr();
434
435 Fault fault = p->pTable->translate(req);
436 if(fault != NoFault)
437 return fault;
438

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

559 Flt->Context_BadVPN2 = (VPN >> 2);
560 return Flt;
561 }
562 }
563 return checkCacheability(req);
564#endif
565}
566
439{
440#if !FULL_SYSTEM
441 Process * p = tc->getProcessPtr();
442
443 Fault fault = p->pTable->translate(req);
444 if(fault != NoFault)
445 return fault;
446

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

567 Flt->Context_BadVPN2 = (VPN >> 2);
568 return Flt;
569 }
570 }
571 return checkCacheability(req);
572#endif
573}
574
575void
576DTB::translateTiming(RequestPtr req, ThreadContext *tc,
577 Translation *translation, bool write)
578{
579 assert(translation);
580 translation->finish(translateAtomic(req, tc, write), req, tc, write);
581}
582
567///////////////////////////////////////////////////////////////////////
568//
569// Mips ITB
570//
571ITB::ITB(const Params *p)
572 : TLB(p)
573{}
574

--- 68 unchanged lines hidden ---
583///////////////////////////////////////////////////////////////////////
584//
585// Mips ITB
586//
587ITB::ITB(const Params *p)
588 : TLB(p)
589{}
590

--- 68 unchanged lines hidden ---