table_walker.hh (9016:18093957a102) table_walker.hh (9152:86c0e6ca5e7c)
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 /** Queue of requests that have passed are waiting because the walker is
360 * currently busy. */
361 std::list<WalkerState *> pendingQueue;
362
363
364 /** Port to issue translation requests from */
365 SnoopingDmaPort port;
366
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 /** Queue of requests that have passed are waiting because the walker is
360 * currently busy. */
361 std::list<WalkerState *> pendingQueue;
362
363
364 /** Port to issue translation requests from */
365 SnoopingDmaPort port;
366
367 /** If we're draining keep the drain event around until we're drained */
368 Event *drainEvent;
369
367 /** TLB that is initiating these table walks */
368 TLB *tlb;
369
370 /** Cached copy of the sctlr as it existed when translation began */
371 SCTLR sctlr;
372
373 WalkerState *currState;
374

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

384 virtual ~TableWalker();
385
386 const Params *
387 params() const
388 {
389 return dynamic_cast<const Params *>(_params);
390 }
391
370 /** TLB that is initiating these table walks */
371 TLB *tlb;
372
373 /** Cached copy of the sctlr as it existed when translation began */
374 SCTLR sctlr;
375
376 WalkerState *currState;
377

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

387 virtual ~TableWalker();
388
389 const Params *
390 params() const
391 {
392 return dynamic_cast<const Params *>(_params);
393 }
394
395 /** Checks if all state is cleared and if so, completes drain */
396 void completeDrain();
392 virtual unsigned int drain(Event *de);
393 virtual void resume();
394 virtual MasterPort& getMasterPort(const std::string &if_name,
395 int idx = -1);
396
397 Fault walk(RequestPtr req, ThreadContext *tc, uint8_t cid, TLB::Mode mode,
398 TLB::Translation *_trans, bool timing, bool functional = false);
399

--- 26 unchanged lines hidden ---
397 virtual unsigned int drain(Event *de);
398 virtual void resume();
399 virtual MasterPort& getMasterPort(const std::string &if_name,
400 int idx = -1);
401
402 Fault walk(RequestPtr req, ThreadContext *tc, uint8_t cid, TLB::Mode mode,
403 TLB::Translation *_trans, bool timing, bool functional = false);
404

--- 26 unchanged lines hidden ---