tlb.cc (10537:47fe87b0cf97) | tlb.cc (10611:3bba9f2d0c7d) |
---|---|
1/* 2 * Copyright (c) 2010-2013 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 --- 968 unchanged lines hidden (view full) --- 977 978 DPRINTF(TLBVerbose, "CPSR is priv:%d UserMode:%d secure:%d S1S2NsTran:%d\n", 979 isPriv, flags & UserMode, isSecure, tranType & S1S2NsTran); 980 981 DPRINTF(TLB, "translateFs addr %#x, mode %d, st2 %d, scr %#x sctlr %#x " 982 "flags %#x tranType 0x%x\n", vaddr_tainted, mode, isStage2, 983 scr, sctlr, flags, tranType); 984 | 1/* 2 * Copyright (c) 2010-2013 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 --- 968 unchanged lines hidden (view full) --- 977 978 DPRINTF(TLBVerbose, "CPSR is priv:%d UserMode:%d secure:%d S1S2NsTran:%d\n", 979 isPriv, flags & UserMode, isSecure, tranType & S1S2NsTran); 980 981 DPRINTF(TLB, "translateFs addr %#x, mode %d, st2 %d, scr %#x sctlr %#x " 982 "flags %#x tranType 0x%x\n", vaddr_tainted, mode, isStage2, 983 scr, sctlr, flags, tranType); 984 |
985 // Generate an alignment fault for unaligned PC 986 if (aarch64 && is_fetch && (req->getPC() & mask(2))) { 987 return std::make_shared<PCAlignmentFault>(req->getPC()); 988 } 989 | |
990 // If this is a clrex instruction, provide a PA of 0 with no fault 991 // This will force the monitor to set the tracked address to 0 992 // a bit of a hack but this effectively clrears this processors monitor 993 if (flags & Request::CLEAR_LL){ 994 // @todo: check implications of security extensions 995 req->setPaddr(0); 996 req->setFlags(Request::UNCACHEABLE); 997 req->setFlags(Request::CLEAR_LL); --- 458 unchanged lines hidden --- | 985 // If this is a clrex instruction, provide a PA of 0 with no fault 986 // This will force the monitor to set the tracked address to 0 987 // a bit of a hack but this effectively clrears this processors monitor 988 if (flags & Request::CLEAR_LL){ 989 // @todo: check implications of security extensions 990 req->setPaddr(0); 991 req->setFlags(Request::UNCACHEABLE); 992 req->setFlags(Request::CLEAR_LL); --- 458 unchanged lines hidden --- |