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 ---