table_walker.cc (7653:968302e54850) | table_walker.cc (7694:de057cccee82) |
---|---|
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 --- 96 unchanged lines hidden (view full) --- 105 currState->timing = _timing; 106 currState->mode = _mode; 107 108 /** @todo These should be cached or grabbed from cached copies in 109 the TLB, all these miscreg reads are expensive */ 110 currState->vaddr = currState->req->getVaddr() & ~PcModeMask; 111 currState->sctlr = currState->tc->readMiscReg(MISCREG_SCTLR); 112 sctlr = currState->sctlr; | 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 --- 96 unchanged lines hidden (view full) --- 105 currState->timing = _timing; 106 currState->mode = _mode; 107 108 /** @todo These should be cached or grabbed from cached copies in 109 the TLB, all these miscreg reads are expensive */ 110 currState->vaddr = currState->req->getVaddr() & ~PcModeMask; 111 currState->sctlr = currState->tc->readMiscReg(MISCREG_SCTLR); 112 sctlr = currState->sctlr; |
113 currState->cpsr = currState->tc->readMiscReg(MISCREG_CPSR); | |
114 currState->N = currState->tc->readMiscReg(MISCREG_TTBCR); 115 116 currState->isFetch = (currState->mode == TLB::Execute); 117 currState->isWrite = (currState->mode == TLB::Write); | 113 currState->N = currState->tc->readMiscReg(MISCREG_TTBCR); 114 115 currState->isFetch = (currState->mode == TLB::Execute); 116 currState->isWrite = (currState->mode == TLB::Write); |
118 currState->isPriv = (currState->cpsr.mode != MODE_USER); | |
119 120 Addr ttbr = 0; 121 122 // If translation isn't enabled, we shouldn't be here 123 assert(currState->sctlr.m); 124 125 DPRINTF(TLB, "Begining table walk for address %#x, TTBCR: %#x, bits:%#x\n", 126 currState->vaddr, currState->N, mbits(currState->vaddr, 31, --- 526 unchanged lines hidden --- | 117 118 Addr ttbr = 0; 119 120 // If translation isn't enabled, we shouldn't be here 121 assert(currState->sctlr.m); 122 123 DPRINTF(TLB, "Begining table walk for address %#x, TTBCR: %#x, bits:%#x\n", 124 currState->vaddr, currState->N, mbits(currState->vaddr, 31, --- 526 unchanged lines hidden --- |