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 --- |