tlb.hh (11800:54436a1784dc) tlb.hh (12140:fab402159cdf)
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
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
103 Fault translateInt(RequestPtr req, ThreadContext *tc);
104
105 Fault translate(RequestPtr req, ThreadContext *tc,
106 Translation *translation, Mode mode,
107 bool &delayedResponse, bool timing);
108
109 public:
110

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

137 * @param mode Request type (read/write/execute).
138 * @return A fault on failure, NoFault otherwise.
139 */
140 Fault finalizePhysical(RequestPtr req, ThreadContext *tc,
141 Mode mode) const;
142
143 TlbEntry * insert(Addr vpn, TlbEntry &entry);
144
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
145 // Checkpointing
146 void serialize(CheckpointOut &cp) const override;
147 void unserialize(CheckpointIn &cp) override;
148
149 /**
150 * Get the table walker master port. This is used for
151 * migrating port connections during a CPU takeOverFrom()
152 * call. For architectures that do not have a table walker,
153 * NULL is returned, hence the use of a pointer rather than a
154 * reference. For X86 this method will always return a valid
155 * port pointer.
156 *
157 * @return A pointer to the walker master port
158 */
159 BaseMasterPort *getMasterPort() override;
160 };
161}
162
163#endif // __ARCH_X86_TLB_HH__
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__