cpu.cc (8818:8f354c5a1634) cpu.cc (8832:247fee427324)
1/*
2 * Copyright (c) 2011 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

--- 46 unchanged lines hidden (view full) ---

55#include "sim/tlb.hh"
56
57using namespace std;
58using namespace TheISA;
59
60void
61CheckerCPU::init()
62{
1/*
2 * Copyright (c) 2011 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

--- 46 unchanged lines hidden (view full) ---

55#include "sim/tlb.hh"
56
57using namespace std;
58using namespace TheISA;
59
60void
61CheckerCPU::init()
62{
63 masterId = systemPtr->getMasterId(name());
63}
64
65CheckerCPU::CheckerCPU(Params *p)
66 : BaseCPU(p), thread(NULL), tc(NULL)
67{
68 memReq = NULL;
69 curStaticInst = NULL;
70 curMacroStaticInst = NULL;

--- 165 unchanged lines hidden (view full) ---

236 Addr secondAddr = roundDown(addr + size - 1, blockSize);
237
238 if (secondAddr > addr)
239 size = secondAddr - addr;
240
241 // Need to account for a multiple access like Atomic and Timing CPUs
242 while (1) {
243 memReq = new Request();
64}
65
66CheckerCPU::CheckerCPU(Params *p)
67 : BaseCPU(p), thread(NULL), tc(NULL)
68{
69 memReq = NULL;
70 curStaticInst = NULL;
71 curMacroStaticInst = NULL;

--- 165 unchanged lines hidden (view full) ---

237 Addr secondAddr = roundDown(addr + size - 1, blockSize);
238
239 if (secondAddr > addr)
240 size = secondAddr - addr;
241
242 // Need to account for a multiple access like Atomic and Timing CPUs
243 while (1) {
244 memReq = new Request();
244 memReq->setVirt(0, addr, size, flags, thread->pcState().instAddr());
245 memReq->setVirt(0, addr, size, flags, masterId, thread->pcState().instAddr());
245
246 // translate to physical address
247 fault = dtb->translateFunctional(memReq, tc, BaseTLB::Write);
248
249 if (!checked_flags && fault == NoFault && unverifiedReq) {
250 flags_match = checkFlags(unverifiedReq, memReq->getVaddr(),
251 memReq->getPaddr(), memReq->getFlags());
252 pAddr = memReq->getPaddr();

--- 96 unchanged lines hidden ---
246
247 // translate to physical address
248 fault = dtb->translateFunctional(memReq, tc, BaseTLB::Write);
249
250 if (!checked_flags && fault == NoFault && unverifiedReq) {
251 flags_match = checkFlags(unverifiedReq, memReq->getVaddr(),
252 memReq->getPaddr(), memReq->getFlags());
253 pAddr = memReq->getPaddr();

--- 96 unchanged lines hidden ---