2c2
< * Copyright (c) 2010, 2012-2014 ARM Limited
---
> * Copyright (c) 2010, 2012-2015 ARM Limited
59,61c59,62
< : MemObject(p), port(this, p->sys), drainManager(NULL),
< stage2Mmu(NULL), isStage2(p->is_stage2), tlb(NULL),
< currState(NULL), pending(false), masterId(p->sys->getMasterId(name())),
---
> : MemObject(p), drainManager(NULL),
> stage2Mmu(NULL), port(NULL), masterId(Request::invldMasterId),
> isStage2(p->is_stage2), tlb(NULL),
> currState(NULL), pending(false),
74c75
< armSys = dynamic_cast<ArmSystem *>(p->sys);
---
> ArmSystem *armSys = dynamic_cast<ArmSystem *>(p->sys);
82d82
< armSys = NULL;
94a95,123
> void
> TableWalker::setMMU(Stage2MMU *m, MasterID master_id)
> {
> stage2Mmu = m;
> port = &m->getPort();
> masterId = master_id;
> }
>
> void
> TableWalker::init()
> {
> fatal_if(!stage2Mmu, "Table walker must have a valid stage-2 MMU\n");
> fatal_if(!port, "Table walker must have a valid port\n");
> fatal_if(!tlb, "Table walker must have a valid TLB\n");
> }
>
> BaseMasterPort&
> TableWalker::getMasterPort(const std::string &if_name, PortID idx)
> {
> if (if_name == "port") {
> if (!isStage2) {
> return *port;
> } else {
> fatal("Cannot access table walker port through stage-two walker\n");
> }
> }
> return MemObject::getMasterPort(if_name, idx);
> }
>
122,123d150
< unsigned int count = port.drain(dm);
<
139c166
< return count + 1;
---
> return 1;
145c172
< return count;
---
> return 0;
160,168d186
< BaseMasterPort&
< TableWalker::getMasterPort(const std::string &if_name, PortID idx)
< {
< if (if_name == "port") {
< return port;
< }
< return MemObject::getMasterPort(if_name, idx);
< }
<
949c967
< port.dmaAction(MemCmd::ReadReq, desc_addr, sizeof(uint64_t),
---
> port->dmaAction(MemCmd::ReadReq, desc_addr, sizeof(uint64_t),
958c976
< port.dmaAction(MemCmd::ReadReq, desc_addr, sizeof(uint64_t),
---
> port->dmaAction(MemCmd::ReadReq, desc_addr, sizeof(uint64_t),
968c986
< port.sendFunctional(pkt);
---
> port->sendFunctional(pkt);
1919c1937
< flags, masterId);
---
> flags);
1923c1941
< currState->vaddr, descAddr, data, numBytes, flags, masterId,
---
> currState->vaddr, descAddr, data, numBytes, flags,
1942c1960
< port.dmaAction(MemCmd::ReadReq, descAddr, numBytes, event, data,
---
> port->dmaAction(MemCmd::ReadReq, descAddr, numBytes, event, data,
1951c1969
< port.dmaAction(MemCmd::ReadReq, descAddr, numBytes, NULL, data,
---
> port->dmaAction(MemCmd::ReadReq, descAddr, numBytes, NULL, data,
1959c1977
< port.sendFunctional(pkt);
---
> port->sendFunctional(pkt);