cpu.cc (9608:e2b6b86fda03) | cpu.cc (9814:7ad2b0186a32) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2011 ARM Limited | 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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 126 unchanged lines hidden (view full) --- 137CheckerCPU::unserialize(Checkpoint *cp, const string §ion) 138{ 139} 140 141Fault 142CheckerCPU::readMem(Addr addr, uint8_t *data, unsigned size, unsigned flags) 143{ 144 Fault fault = NoFault; | 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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 126 unchanged lines hidden (view full) --- 137CheckerCPU::unserialize(Checkpoint *cp, const string §ion) 138{ 139} 140 141Fault 142CheckerCPU::readMem(Addr addr, uint8_t *data, unsigned size, unsigned flags) 143{ 144 Fault fault = NoFault; |
145 unsigned blockSize = dcachePort->peerBlockSize(); | |
146 int fullSize = size; | 145 int fullSize = size; |
147 Addr secondAddr = roundDown(addr + size - 1, blockSize); | 146 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); |
148 bool checked_flags = false; 149 bool flags_match = true; 150 Addr pAddr = 0x0; 151 152 153 if (secondAddr > addr) 154 size = secondAddr - addr; 155 --- 75 unchanged lines hidden (view full) --- 231CheckerCPU::writeMem(uint8_t *data, unsigned size, 232 Addr addr, unsigned flags, uint64_t *res) 233{ 234 Fault fault = NoFault; 235 bool checked_flags = false; 236 bool flags_match = true; 237 Addr pAddr = 0x0; 238 | 147 bool checked_flags = false; 148 bool flags_match = true; 149 Addr pAddr = 0x0; 150 151 152 if (secondAddr > addr) 153 size = secondAddr - addr; 154 --- 75 unchanged lines hidden (view full) --- 230CheckerCPU::writeMem(uint8_t *data, unsigned size, 231 Addr addr, unsigned flags, uint64_t *res) 232{ 233 Fault fault = NoFault; 234 bool checked_flags = false; 235 bool flags_match = true; 236 Addr pAddr = 0x0; 237 |
239 unsigned blockSize = dcachePort->peerBlockSize(); | |
240 int fullSize = size; 241 | 238 int fullSize = size; 239 |
242 Addr secondAddr = roundDown(addr + size - 1, blockSize); | 240 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); |
243 244 if (secondAddr > addr) 245 size = secondAddr - addr; 246 247 // Need to account for a multiple access like Atomic and Timing CPUs 248 while (1) { 249 memReq = new Request(); 250 memReq->setVirt(0, addr, size, flags, masterId, thread->pcState().instAddr()); --- 105 unchanged lines hidden --- | 241 242 if (secondAddr > addr) 243 size = secondAddr - addr; 244 245 // Need to account for a multiple access like Atomic and Timing CPUs 246 while (1) { 247 memReq = new Request(); 248 memReq->setVirt(0, addr, size, flags, masterId, thread->pcState().instAddr()); --- 105 unchanged lines hidden --- |