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 --- 362 unchanged lines hidden (view full) --- 371 bool is_write = (mode == Write); 372 bool is_priv = (cpsr.mode != MODE_USER) && !(flags & UserMode); 373 374 DPRINTF(TLBVerbose, "CPSR is user:%d UserMode:%d\n", cpsr.mode == MODE_USER, flags 375 & UserMode); 376 // If this is a clrex instruction, provide a PA of 0 with no fault 377 // This will force the monitor to set the tracked address to 0 378 // a bit of a hack but this effectively clrears this processors monitor |
379 if (flags & Request::CLEAR_LL){ |
380 req->setPaddr(0); 381 req->setFlags(Request::UNCACHEABLE); |
382 req->setFlags(Request::CLEAR_LL); |
383 return NoFault; 384 } 385 if ((req->isInstFetch() && (!sctlr.i)) || 386 ((!req->isInstFetch()) && (!sctlr.c))){ 387 req->setFlags(Request::UNCACHEABLE); 388 } 389 if (!is_fetch) { 390 assert(flags & MustBeOne); --- 210 unchanged lines hidden --- |