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