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 --- 86 unchanged lines hidden (view full) --- 95 96 std::vector<TlbEntry> tlb; 97 98 EntryList freeList; 99 100 TlbEntryTrie trie; 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); 110 111 Fault translate(RequestPtr req, ThreadContext *tc, 112 Translation *translation, Mode mode, 113 bool &delayedResponse, bool timing); 114 115 public: 116 --- 26 unchanged lines hidden (view full) --- 143 * @param mode Request type (read/write/execute). 144 * @return A fault on failure, NoFault otherwise. 145 */ 146 Fault finalizePhysical(RequestPtr req, ThreadContext *tc, 147 Mode mode) const; 148 149 TlbEntry * insert(Addr vpn, TlbEntry &entry); 150 |
151 /* 152 * Function to register Stats 153 */ 154 void regStats(); 155 |
156 // Checkpointing 157 void serialize(CheckpointOut &cp) const override; 158 void unserialize(CheckpointIn &cp) override; 159 160 /** 161 * Get the table walker master port. This is used for 162 * migrating port connections during a CPU takeOverFrom() 163 * call. For architectures that do not have a table walker, 164 * NULL is returned, hence the use of a pointer rather than a 165 * reference. For X86 this method will always return a valid 166 * port pointer. 167 * 168 * @return A pointer to the walker master port 169 */ 170 BaseMasterPort *getMasterPort() override; 171 }; 172} 173 174#endif // __ARCH_X86_TLB_HH__ |