atomic.cc (10651:333350e4e334) | atomic.cc (10665:aef704eaedd2) |
---|---|
1/* 2 * Copyright 2014 Google, Inc. 3 * Copyright (c) 2012-2013 ARM Limited 4 * All rights reserved. 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 303 unchanged lines hidden (view full) --- 312 313Fault 314AtomicSimpleCPU::readMem(Addr addr, uint8_t * data, 315 unsigned size, unsigned flags) 316{ 317 // use the CPU's statically allocated read request and packet objects 318 Request *req = &data_read_req; 319 | 1/* 2 * Copyright 2014 Google, Inc. 3 * Copyright (c) 2012-2013 ARM Limited 4 * All rights reserved. 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 303 unchanged lines hidden (view full) --- 312 313Fault 314AtomicSimpleCPU::readMem(Addr addr, uint8_t * data, 315 unsigned size, unsigned flags) 316{ 317 // use the CPU's statically allocated read request and packet objects 318 Request *req = &data_read_req; 319 |
320 if (traceData) { 321 traceData->setAddr(addr); 322 } | 320 if (traceData) 321 traceData->setMem(addr, size, flags); |
323 324 //The size of the data we're trying to read. 325 int fullSize = size; 326 327 //The address of the second part of this access if it needs to be split 328 //across a cache line boundary. 329 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); 330 --- 77 unchanged lines hidden (view full) --- 408 assert(flags & Request::CACHE_BLOCK_ZERO); 409 // This must be a cache block cleaning request 410 data = zero_array; 411 } 412 413 // use the CPU's statically allocated write request and packet objects 414 Request *req = &data_write_req; 415 | 322 323 //The size of the data we're trying to read. 324 int fullSize = size; 325 326 //The address of the second part of this access if it needs to be split 327 //across a cache line boundary. 328 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); 329 --- 77 unchanged lines hidden (view full) --- 407 assert(flags & Request::CACHE_BLOCK_ZERO); 408 // This must be a cache block cleaning request 409 data = zero_array; 410 } 411 412 // use the CPU's statically allocated write request and packet objects 413 Request *req = &data_write_req; 414 |
416 if (traceData) { 417 traceData->setAddr(addr); 418 } | 415 if (traceData) 416 traceData->setMem(addr, size, flags); |
419 420 //The size of the data we're trying to read. 421 int fullSize = size; 422 423 //The address of the second part of this access if it needs to be split 424 //across a cache line boundary. 425 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); 426 --- 229 unchanged lines hidden --- | 417 418 //The size of the data we're trying to read. 419 int fullSize = size; 420 421 //The address of the second part of this access if it needs to be split 422 //across a cache line boundary. 423 Addr secondAddr = roundDown(addr + size - 1, cacheLineSize()); 424 --- 229 unchanged lines hidden --- |