tlb.hh (12455:c88f0b37f433) | tlb.hh (12749:223c83ed9979) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 92 unchanged lines hidden (view full) --- 101 uint64_t lruSeq; 102 103 // Statistics 104 Stats::Scalar rdAccesses; 105 Stats::Scalar wrAccesses; 106 Stats::Scalar rdMisses; 107 Stats::Scalar wrMisses; 108 | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 92 unchanged lines hidden (view full) --- 101 uint64_t lruSeq; 102 103 // Statistics 104 Stats::Scalar rdAccesses; 105 Stats::Scalar wrAccesses; 106 Stats::Scalar rdMisses; 107 Stats::Scalar wrMisses; 108 |
109 Fault translateInt(RequestPtr req, ThreadContext *tc); | 109 Fault translateInt(const RequestPtr &req, ThreadContext *tc); |
110 | 110 |
111 Fault translate(RequestPtr req, ThreadContext *tc, | 111 Fault translate(const RequestPtr &req, ThreadContext *tc, |
112 Translation *translation, Mode mode, 113 bool &delayedResponse, bool timing); 114 115 public: 116 117 void evictLRU(); 118 119 uint64_t 120 nextSeq() 121 { 122 return ++lruSeq; 123 } 124 125 Fault translateAtomic( | 112 Translation *translation, Mode mode, 113 bool &delayedResponse, bool timing); 114 115 public: 116 117 void evictLRU(); 118 119 uint64_t 120 nextSeq() 121 { 122 return ++lruSeq; 123 } 124 125 Fault translateAtomic( |
126 RequestPtr req, ThreadContext *tc, Mode mode) override; | 126 const RequestPtr &req, ThreadContext *tc, Mode mode) override; |
127 void translateTiming( | 127 void translateTiming( |
128 RequestPtr req, ThreadContext *tc, | 128 const RequestPtr &req, ThreadContext *tc, |
129 Translation *translation, Mode mode) override; 130 131 /** 132 * Do post-translation physical address finalization. 133 * 134 * Some addresses, for example requests going to the APIC, 135 * need post-translation updates. Such physical addresses are 136 * remapped into a "magic" part of the physical address space 137 * by this method. 138 * 139 * @param req Request to updated in-place. 140 * @param tc Thread context that created the request. 141 * @param mode Request type (read/write/execute). 142 * @return A fault on failure, NoFault otherwise. 143 */ | 129 Translation *translation, Mode mode) override; 130 131 /** 132 * Do post-translation physical address finalization. 133 * 134 * Some addresses, for example requests going to the APIC, 135 * need post-translation updates. Such physical addresses are 136 * remapped into a "magic" part of the physical address space 137 * by this method. 138 * 139 * @param req Request to updated in-place. 140 * @param tc Thread context that created the request. 141 * @param mode Request type (read/write/execute). 142 * @return A fault on failure, NoFault otherwise. 143 */ |
144 Fault finalizePhysical(RequestPtr req, ThreadContext *tc, | 144 Fault finalizePhysical(const RequestPtr &req, ThreadContext *tc, |
145 Mode mode) const override; 146 147 TlbEntry *insert(Addr vpn, const TlbEntry &entry); 148 149 /* 150 * Function to register Stats 151 */ 152 void regStats() override; --- 20 unchanged lines hidden --- | 145 Mode mode) const override; 146 147 TlbEntry *insert(Addr vpn, const TlbEntry &entry); 148 149 /* 150 * Function to register Stats 151 */ 152 void regStats() override; --- 20 unchanged lines hidden --- |