tlb.cc (9950:4b7f60080149) | tlb.cc (10024:fc10e1f9f124) |
---|---|
1/* 2 * Copyright (c) 2010-2012 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 --- 40 unchanged lines hidden (view full) --- 49#include "arch/arm/pagetable.hh" 50#include "arch/arm/system.hh" 51#include "arch/arm/table_walker.hh" 52#include "arch/arm/tlb.hh" 53#include "arch/arm/utility.hh" 54#include "base/inifile.hh" 55#include "base/str.hh" 56#include "base/trace.hh" | 1/* 2 * Copyright (c) 2010-2012 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 --- 40 unchanged lines hidden (view full) --- 49#include "arch/arm/pagetable.hh" 50#include "arch/arm/system.hh" 51#include "arch/arm/table_walker.hh" 52#include "arch/arm/tlb.hh" 53#include "arch/arm/utility.hh" 54#include "base/inifile.hh" 55#include "base/str.hh" 56#include "base/trace.hh" |
57#include "cpu/base.hh" |
|
57#include "cpu/thread_context.hh" 58#include "debug/Checkpoint.hh" 59#include "debug/TLB.hh" 60#include "debug/TLBVerbose.hh" 61#include "mem/page_table.hh" 62#include "params/ArmTLB.hh" 63#include "sim/full_system.hh" 64#include "sim/process.hh" --- 407 unchanged lines hidden (view full) --- 472 bool is_fetch = (mode == Execute); 473 bool is_write = (mode == Write); 474 bool is_priv = isPriv && !(flags & UserMode); 475 476 req->setAsid(contextId.asid); 477 if (is_priv) 478 req->setFlags(Request::PRIVILEGED); 479 | 58#include "cpu/thread_context.hh" 59#include "debug/Checkpoint.hh" 60#include "debug/TLB.hh" 61#include "debug/TLBVerbose.hh" 62#include "mem/page_table.hh" 63#include "params/ArmTLB.hh" 64#include "sim/full_system.hh" 65#include "sim/process.hh" --- 407 unchanged lines hidden (view full) --- 473 bool is_fetch = (mode == Execute); 474 bool is_write = (mode == Write); 475 bool is_priv = isPriv && !(flags & UserMode); 476 477 req->setAsid(contextId.asid); 478 if (is_priv) 479 req->setFlags(Request::PRIVILEGED); 480 |
481 req->taskId(tc->getCpuPtr()->taskId()); 482 |
|
480 DPRINTF(TLBVerbose, "CPSR is priv:%d UserMode:%d\n", 481 isPriv, flags & UserMode); 482 // If this is a clrex instruction, provide a PA of 0 with no fault 483 // This will force the monitor to set the tracked address to 0 484 // a bit of a hack but this effectively clrears this processors monitor 485 if (flags & Request::CLEAR_LL){ 486 req->setPaddr(0); 487 req->setFlags(Request::UNCACHEABLE); --- 265 unchanged lines hidden --- | 483 DPRINTF(TLBVerbose, "CPSR is priv:%d UserMode:%d\n", 484 isPriv, flags & UserMode); 485 // If this is a clrex instruction, provide a PA of 0 with no fault 486 // This will force the monitor to set the tracked address to 0 487 // a bit of a hack but this effectively clrears this processors monitor 488 if (flags & Request::CLEAR_LL){ 489 req->setPaddr(0); 490 req->setFlags(Request::UNCACHEABLE); --- 265 unchanged lines hidden --- |