tlb.cc (7301:04d8488d0d36) | tlb.cc (7362:9ea92e0eb4a9) |
---|---|
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 --- 285 unchanged lines hidden (view full) --- 294 SCTLR sctlr = tc->readMiscReg(MISCREG_SCTLR); 295 uint32_t flags = req->getFlags(); 296 297 if (mode != Execute) { 298 assert(flags & MustBeOne); 299 300 if (sctlr.a || (flags & AllowUnaligned) == 0) { 301 if ((vaddr & flags & AlignmentMask) != 0) { | 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 --- 285 unchanged lines hidden (view full) --- 294 SCTLR sctlr = tc->readMiscReg(MISCREG_SCTLR); 295 uint32_t flags = req->getFlags(); 296 297 if (mode != Execute) { 298 assert(flags & MustBeOne); 299 300 if (sctlr.a || (flags & AllowUnaligned) == 0) { 301 if ((vaddr & flags & AlignmentMask) != 0) { |
302 return new DataAbort; | 302 return new DataAbort(vaddr, (mode == Write), 0, 303 ArmFault::AlignmentFault); |
303 } 304 } 305 } 306#if !FULL_SYSTEM 307 Process * p = tc->getProcessPtr(); 308 309 Addr paddr; 310 if (!p->pTable->translate(vaddr, paddr)) --- 41 unchanged lines hidden --- | 304 } 305 } 306 } 307#if !FULL_SYSTEM 308 Process * p = tc->getProcessPtr(); 309 310 Addr paddr; 311 if (!p->pTable->translate(vaddr, paddr)) --- 41 unchanged lines hidden --- |