tlb.cc (7606:c0d90ba69082) | tlb.cc (7608:17aabeaa1a8f) |
---|---|
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 --- 349 unchanged lines hidden (view full) --- 358 // If this is a clrex instruction, provide a PA of 0 with no fault 359 // This will force the monitor to set the tracked address to 0 360 // a bit of a hack but this effectively clrears this processors monitor 361 if (flags & Clrex){ 362 req->setPaddr(0); 363 req->setFlags(Request::UNCACHEABLE); 364 return NoFault; 365 } | 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 --- 349 unchanged lines hidden (view full) --- 358 // If this is a clrex instruction, provide a PA of 0 with no fault 359 // This will force the monitor to set the tracked address to 0 360 // a bit of a hack but this effectively clrears this processors monitor 361 if (flags & Clrex){ 362 req->setPaddr(0); 363 req->setFlags(Request::UNCACHEABLE); 364 return NoFault; 365 } |
366 if ((req->isInstFetch() && (!sctlr.i)) || 367 ((!req->isInstFetch()) && (!sctlr.c))){ 368 req->setFlags(Request::UNCACHEABLE); 369 } |
|
366 if (!is_fetch) { 367 assert(flags & MustBeOne); 368 if (sctlr.a || !(flags & AllowUnaligned)) { 369 if (vaddr & flags & AlignmentMask) { 370 return new DataAbort(vaddr, 0, is_write, ArmFault::AlignmentFault); 371 } 372 } 373 } --- 199 unchanged lines hidden --- | 370 if (!is_fetch) { 371 assert(flags & MustBeOne); 372 if (sctlr.a || !(flags & AllowUnaligned)) { 373 if (vaddr & flags & AlignmentMask) { 374 return new DataAbort(vaddr, 0, is_write, ArmFault::AlignmentFault); 375 } 376 } 377 } --- 199 unchanged lines hidden --- |