cpu.cc (10505:38c7a9ea7729) | cpu.cc (10653:e3fc6bc7f97e) |
---|---|
1/* 2 * Copyright (c) 2011,2013 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 --- 140 unchanged lines hidden (view full) --- 149 Addr pAddr = 0x0; 150 151 152 if (secondAddr > addr) 153 size = secondAddr - addr; 154 155 // Need to account for multiple accesses like the Atomic and TimingSimple 156 while (1) { | 1/* 2 * Copyright (c) 2011,2013 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 --- 140 unchanged lines hidden (view full) --- 149 Addr pAddr = 0x0; 150 151 152 if (secondAddr > addr) 153 size = secondAddr - addr; 154 155 // Need to account for multiple accesses like the Atomic and TimingSimple 156 while (1) { |
157 memReq = new Request(); 158 memReq->setVirt(0, addr, size, flags, masterId, thread->pcState().instAddr()); | 157 memReq = new Request(0, addr, size, flags, masterId, 158 thread->pcState().instAddr(), tc->contextId(), 0); |
159 160 // translate to physical address 161 fault = dtb->translateFunctional(memReq, tc, BaseTLB::Read); 162 163 if (!checked_flags && fault == NoFault && unverifiedReq) { 164 flags_match = checkFlags(unverifiedReq, memReq->getVaddr(), 165 memReq->getPaddr(), memReq->getFlags()); 166 pAddr = memReq->getPaddr(); --- 70 unchanged lines hidden (view full) --- 237 238 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); 239 240 if (secondAddr > addr) 241 size = secondAddr - addr; 242 243 // Need to account for a multiple access like Atomic and Timing CPUs 244 while (1) { | 159 160 // translate to physical address 161 fault = dtb->translateFunctional(memReq, tc, BaseTLB::Read); 162 163 if (!checked_flags && fault == NoFault && unverifiedReq) { 164 flags_match = checkFlags(unverifiedReq, memReq->getVaddr(), 165 memReq->getPaddr(), memReq->getFlags()); 166 pAddr = memReq->getPaddr(); --- 70 unchanged lines hidden (view full) --- 237 238 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); 239 240 if (secondAddr > addr) 241 size = secondAddr - addr; 242 243 // Need to account for a multiple access like Atomic and Timing CPUs 244 while (1) { |
245 memReq = new Request(); 246 memReq->setVirt(0, addr, size, flags, masterId, thread->pcState().instAddr()); | 245 memReq = new Request(0, addr, size, flags, masterId, 246 thread->pcState().instAddr(), tc->contextId(), 0); |
247 248 // translate to physical address 249 fault = dtb->translateFunctional(memReq, tc, BaseTLB::Write); 250 251 if (!checked_flags && fault == NoFault && unverifiedReq) { 252 flags_match = checkFlags(unverifiedReq, memReq->getVaddr(), 253 memReq->getPaddr(), memReq->getFlags()); 254 pAddr = memReq->getPaddr(); --- 106 unchanged lines hidden --- | 247 248 // translate to physical address 249 fault = dtb->translateFunctional(memReq, tc, BaseTLB::Write); 250 251 if (!checked_flags && fault == NoFault && unverifiedReq) { 252 flags_match = checkFlags(unverifiedReq, memReq->getVaddr(), 253 memReq->getPaddr(), memReq->getFlags()); 254 pAddr = memReq->getPaddr(); --- 106 unchanged lines hidden --- |