tlb.cc (9738:304a37519d11) | tlb.cc (9950:4b7f60080149) |
---|---|
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 --- 460 unchanged lines hidden (view full) --- 469 Addr vaddr = req->getVaddr(); 470 uint32_t flags = req->getFlags(); 471 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); | 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 --- 460 unchanged lines hidden (view full) --- 469 Addr vaddr = req->getVaddr(); 470 uint32_t flags = req->getFlags(); 471 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); |
|
477 478 DPRINTF(TLBVerbose, "CPSR is priv:%d UserMode:%d\n", 479 isPriv, flags & UserMode); 480 // If this is a clrex instruction, provide a PA of 0 with no fault 481 // This will force the monitor to set the tracked address to 0 482 // a bit of a hack but this effectively clrears this processors monitor 483 if (flags & Request::CLEAR_LL){ 484 req->setPaddr(0); --- 266 unchanged lines hidden --- | 479 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); --- 266 unchanged lines hidden --- |