Deleted Added
sdiff udiff text old ( 12749:223c83ed9979 ) new ( 12766:1c347e60c7fd )
full compact
1/*
2 * Copyright (c) 2012-2013,2017 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

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

440 accessDelta(0), depth(0)
441 {
442 setVirt(asid, vaddr, size, flags, mid, pc);
443 setContext(cid);
444 }
445
446 Request(int asid, Addr vaddr, unsigned size, Flags flags, MasterID mid,
447 Addr pc, ContextID cid, AtomicOpFunctor *atomic_op)
448 : atomicOpFunctor(atomic_op)
449 {
450 setVirt(asid, vaddr, size, flags, mid, pc);
451 setContext(cid);
452 }
453
454 ~Request()
455 {
456 if (hasAtomicOpFunctor()) {
457 delete atomicOpFunctor;
458 }
459 }
460
461 /**

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

469 }
470
471 /**
472 * Set up a virtual (e.g., CPU) request in a previously
473 * allocated Request object.
474 */
475 void
476 setVirt(int asid, Addr vaddr, unsigned size, Flags flags, MasterID mid,
477 Addr pc)
478 {
479 _asid = asid;
480 _vaddr = vaddr;
481 _size = size;
482 _masterId = mid;
483 _pc = pc;
484 _time = curTick();
485
486 _flags.clear(~STICKY_FLAGS);
487 _flags.set(flags);
488 privateFlags.clear(~STICKY_PRIVATE_FLAGS);
489 privateFlags.set(VALID_VADDR|VALID_SIZE|VALID_PC);
490 depth = 0;
491 accessDelta = 0;
492 translateDelta = 0;
493 }
494
495 /**
496 * Set just the physical address. This usually used to record the
497 * result of a translation. However, when using virtualized CPUs
498 * setPhys() is sometimes called to finalize a physical address
499 * without a virtual address, so we can't check if the virtual
500 * address is valid.

--- 418 unchanged lines hidden ---