arm: Refactor aarch64 table walk logic to remove redundancy
The functional case is already handled within the fetchDescriptor() function. We can thus use that function for both atomic and functional mode when we start the table walk. Change-Id: Iacaed28cd9024d259fd37a58150efd00ff94d86e
This commit is contained in:
parent
f9a6f68e0b
commit
eac27759e7
1 changed files with 1 additions and 11 deletions
|
@ -992,21 +992,11 @@ TableWalker::processWalkAArch64()
|
|||
stateQueues[start_lookup_level].size());
|
||||
stateQueues[start_lookup_level].push_back(currState);
|
||||
currState = NULL;
|
||||
} else if (!currState->functional) {
|
||||
} else {
|
||||
fetchDescriptor(desc_addr, (uint8_t*)&currState->longDesc.data,
|
||||
sizeof(uint64_t), flag, -1, NULL,
|
||||
&TableWalker::doLongDescriptor);
|
||||
f = currState->fault;
|
||||
} else {
|
||||
RequestPtr req = new Request(desc_addr, sizeof(uint64_t), flag,
|
||||
masterId);
|
||||
PacketPtr pkt = new Packet(req, MemCmd::ReadReq);
|
||||
pkt->dataStatic((uint8_t*) &currState->longDesc.data);
|
||||
port->sendFunctional(pkt);
|
||||
doLongDescriptor();
|
||||
delete req;
|
||||
delete pkt;
|
||||
f = currState->fault;
|
||||
}
|
||||
|
||||
return f;
|
||||
|
|
Loading…
Reference in a new issue