tlb.hh (10687:276da6265ab8) tlb.hh (10717:4f8c1bd6fdb8)
1/*
2 * Copyright (c) 2010-2013 ARM Limited
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

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

158
159 virtual ~TLB();
160
161 void takeOverFrom(BaseTLB *otlb);
162
163 /// setup all the back pointers
164 virtual void init();
165
1/*
2 * Copyright (c) 2010-2013 ARM Limited
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

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

158
159 virtual ~TLB();
160
161 void takeOverFrom(BaseTLB *otlb);
162
163 /// setup all the back pointers
164 virtual void init();
165
166 void setMMU(Stage2MMU *m);
166 TableWalker *getTableWalker() { return tableWalker; }
167
167
168 void setMMU(Stage2MMU *m, MasterID master_id);
169
168 int getsize() const { return size; }
169
170 void insert(Addr vaddr, TlbEntry &pte);
171
172 Fault getTE(TlbEntry **te, RequestPtr req, ThreadContext *tc, Mode mode,
173 Translation *translation, bool timing, bool functional,
174 bool is_secure, ArmTranslationType tranType);
175

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

303 * returned, hence the use of a pointer rather than a
304 * reference. For ARM this method will always return a valid port
305 * pointer.
306 *
307 * @return A pointer to the walker master port
308 */
309 virtual BaseMasterPort* getMasterPort();
310
170 int getsize() const { return size; }
171
172 void insert(Addr vaddr, TlbEntry &pte);
173
174 Fault getTE(TlbEntry **te, RequestPtr req, ThreadContext *tc, Mode mode,
175 Translation *translation, bool timing, bool functional,
176 bool is_secure, ArmTranslationType tranType);
177

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

305 * returned, hence the use of a pointer rather than a
306 * reference. For ARM this method will always return a valid port
307 * pointer.
308 *
309 * @return A pointer to the walker master port
310 */
311 virtual BaseMasterPort* getMasterPort();
312
311 /**
312 * Allow the MMU (overseeing both stage 1 and stage 2 TLBs) to
313 * access the table walker port of this TLB so that it can
314 * orchestrate staged translations.
315 *
316 * @return The table walker DMA port
317 */
318 DmaPort& getWalkerPort();
319
320 // Caching misc register values here.
321 // Writing to misc registers needs to invalidate them.
322 // translateFunctional/translateSe/translateFs checks if they are
323 // invalid and call updateMiscReg if necessary.
324protected:
325 bool aarch64;
326 ExceptionLevel aarch64EL;
327 SCTLR sctlr;

--- 47 unchanged lines hidden ---
313 // Caching misc register values here.
314 // Writing to misc registers needs to invalidate them.
315 // translateFunctional/translateSe/translateFs checks if they are
316 // invalid and call updateMiscReg if necessary.
317protected:
318 bool aarch64;
319 ExceptionLevel aarch64EL;
320 SCTLR sctlr;

--- 47 unchanged lines hidden ---