tlb.hh (3569:ef68c162610f) | tlb.hh (3602:3a279d93f248) |
---|---|
1/* 2 * Copyright (c) 2006 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; --- 17 unchanged lines hidden (view full) --- 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * 28 * Authors: Ali Saidi 29 */ 30 31#ifndef __ARCH_SPARC_TLB_HH__ 32#define __ARCH_SPARC_TLB_HH__ 33 | 1/* 2 * Copyright (c) 2006 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; --- 17 unchanged lines hidden (view full) --- 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * 28 * Authors: Ali Saidi 29 */ 30 31#ifndef __ARCH_SPARC_TLB_HH__ 32#define __ARCH_SPARC_TLB_HH__ 33 |
34#include "base/misc.hh" |
|
34#include "mem/request.hh" 35#include "sim/faults.hh" 36#include "sim/sim_object.hh" 37 38class ThreadContext; 39 40namespace SparcISA 41{ --- 9 unchanged lines hidden (view full) --- 51 { 52 public: 53 ITB(const std::string &name, int size) : TLB(name, size) 54 { 55 } 56 57 Fault translate(RequestPtr &req, ThreadContext *tc) const 58 { | 35#include "mem/request.hh" 36#include "sim/faults.hh" 37#include "sim/sim_object.hh" 38 39class ThreadContext; 40 41namespace SparcISA 42{ --- 9 unchanged lines hidden (view full) --- 52 { 53 public: 54 ITB(const std::string &name, int size) : TLB(name, size) 55 { 56 } 57 58 Fault translate(RequestPtr &req, ThreadContext *tc) const 59 { |
60 //For now, always assume the address is already physical. 61 //Also assume that there are 40 bits of physical address space. 62 req->setPaddr(req->getVaddr() & ((1ULL << 40) - 1)); |
|
59 return NoFault; 60 } 61 }; 62 63 class DTB : public TLB 64 { 65 public: 66 DTB(const std::string &name, int size) : TLB(name, size) 67 { 68 } 69 70 Fault translate(RequestPtr &req, ThreadContext *tc, bool write) const 71 { | 63 return NoFault; 64 } 65 }; 66 67 class DTB : public TLB 68 { 69 public: 70 DTB(const std::string &name, int size) : TLB(name, size) 71 { 72 } 73 74 Fault translate(RequestPtr &req, ThreadContext *tc, bool write) const 75 { |
76 //For now, always assume the address is already physical. 77 //Also assume that there are 40 bits of physical address space. 78 req->setPaddr(req->getVaddr() & ((1ULL << 40) - 1)); |
|
72 return NoFault; 73 } 74 }; 75} 76 77#endif // __ARCH_SPARC_TLB_HH__ | 79 return NoFault; 80 } 81 }; 82} 83 84#endif // __ARCH_SPARC_TLB_HH__ |