table_walker.hh (9294:8fb03b13de02) table_walker.hh (9342:6fec8f26e56d)
1/*
2 * Copyright (c) 2010-2012 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

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

359 * currently busy. */
360 std::list<WalkerState *> pendingQueue;
361
362
363 /** Port to issue translation requests from */
364 SnoopingDmaPort port;
365
366 /** If we're draining keep the drain event around until we're drained */
1/*
2 * Copyright (c) 2010-2012 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

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

359 * currently busy. */
360 std::list<WalkerState *> pendingQueue;
361
362
363 /** Port to issue translation requests from */
364 SnoopingDmaPort port;
365
366 /** If we're draining keep the drain event around until we're drained */
367 Event *drainEvent;
367 DrainManager *drainManager;
368
369 /** TLB that is initiating these table walks */
370 TLB *tlb;
371
372 /** Cached copy of the sctlr as it existed when translation began */
373 SCTLR sctlr;
374
375 WalkerState *currState;

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

392 const Params *
393 params() const
394 {
395 return dynamic_cast<const Params *>(_params);
396 }
397
398 /** Checks if all state is cleared and if so, completes drain */
399 void completeDrain();
368
369 /** TLB that is initiating these table walks */
370 TLB *tlb;
371
372 /** Cached copy of the sctlr as it existed when translation began */
373 SCTLR sctlr;
374
375 WalkerState *currState;

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

392 const Params *
393 params() const
394 {
395 return dynamic_cast<const Params *>(_params);
396 }
397
398 /** Checks if all state is cleared and if so, completes drain */
399 void completeDrain();
400 virtual unsigned int drain(Event *de);
401 virtual void resume();
400 unsigned int drain(DrainManager *dm);
401 void drainResume();
402 virtual BaseMasterPort& getMasterPort(const std::string &if_name,
403 PortID idx = InvalidPortID);
404
405 Fault walk(RequestPtr req, ThreadContext *tc, uint8_t cid, TLB::Mode mode,
406 TLB::Translation *_trans, bool timing, bool functional = false);
407
408 void setTlb(TLB *_tlb) { tlb = _tlb; }
409 void memAttrs(ThreadContext *tc, TlbEntry &te, SCTLR sctlr,

--- 24 unchanged lines hidden ---
402 virtual BaseMasterPort& getMasterPort(const std::string &if_name,
403 PortID idx = InvalidPortID);
404
405 Fault walk(RequestPtr req, ThreadContext *tc, uint8_t cid, TLB::Mode mode,
406 TLB::Translation *_trans, bool timing, bool functional = false);
407
408 void setTlb(TLB *_tlb) { tlb = _tlb; }
409 void memAttrs(ThreadContext *tc, TlbEntry &te, SCTLR sctlr,

--- 24 unchanged lines hidden ---