1/* 2 * Copyright (c) 2010 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 --- 127 unchanged lines hidden (view full) --- 136 137 currState->isFetch = (currState->mode == TLB::Execute); 138 currState->isWrite = (currState->mode == TLB::Write); 139 140 141 if (!currState->timing) 142 return processWalk(); 143 |
144 if (pending || pendingQueue.size()) { |
145 pendingQueue.push_back(currState); 146 currState = NULL; 147 } else { 148 pending = true; |
149 return processWalk(); |
150 } 151 152 return NoFault; 153} 154 155void 156TableWalker::processWalkWrapper() 157{ --- 31 unchanged lines hidden (view full) --- 189 DPRINTF(TLB, " - Descriptor at address %#x\n", l1desc_addr); 190 191 192 // Trickbox address check 193 Fault f; 194 f = tlb->walkTrickBoxCheck(l1desc_addr, currState->vaddr, sizeof(uint32_t), 195 currState->isFetch, currState->isWrite, 0, true); 196 if (f) { |
197 DPRINTF(TLB, "Trickbox check caused fault on %#x\n", currState->vaddr); |
198 if (currState->timing) { |
199 pending = false; 200 nextWalk(currState->tc); 201 currState = NULL; 202 } else { 203 currState->tc = NULL; 204 currState->req = NULL; 205 } 206 return f; --- 519 unchanged lines hidden --- |