tlb.cc (5245:d94bb8af9f76) | tlb.cc (5294:7222bdaed33b) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * Redistribution and use of this software in source and binary forms, 6 * with or without modification, are permitted provided that the 7 * following conditions are met: 8 * --- 162 unchanged lines hidden (view full) --- 171Fault 172TLB::translate(RequestPtr &req, ThreadContext *tc, bool write, bool execute) 173{ 174 Addr vaddr = req->getVaddr(); 175 DPRINTF(TLB, "Translating vaddr %#x.\n", vaddr); 176 uint32_t flags = req->getFlags(); 177 bool storeCheck = flags & StoreCheck; 178 | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * Redistribution and use of this software in source and binary forms, 6 * with or without modification, are permitted provided that the 7 * following conditions are met: 8 * --- 162 unchanged lines hidden (view full) --- 171Fault 172TLB::translate(RequestPtr &req, ThreadContext *tc, bool write, bool execute) 173{ 174 Addr vaddr = req->getVaddr(); 175 DPRINTF(TLB, "Translating vaddr %#x.\n", vaddr); 176 uint32_t flags = req->getFlags(); 177 bool storeCheck = flags & StoreCheck; 178 |
179 int seg = flags & mask(3); | 179 int seg = flags & mask(4); |
180 181 //XXX Junk code to surpress the warning 182 if (storeCheck); 183 184 // If this is true, we're dealing with a request to read an internal 185 // value. | 180 181 //XXX Junk code to surpress the warning 182 if (storeCheck); 183 184 // If this is true, we're dealing with a request to read an internal 185 // value. |
186 if (seg == SEGMENT_REG_INT) { | 186 if (seg == SEGMENT_REG_MS) { |
187 DPRINTF(TLB, "Addresses references internal memory.\n"); 188 Addr prefix = vaddr & IntAddrPrefixMask; 189 if (prefix == IntAddrPrefixCPUID) { 190 panic("CPUID memory space not yet implemented!\n"); 191 } else if (prefix == IntAddrPrefixMSR) { 192 req->setMmapedIpr(true); 193 Addr regNum = 0; 194 switch (vaddr & ~IntAddrPrefixMask) { --- 419 unchanged lines hidden --- | 187 DPRINTF(TLB, "Addresses references internal memory.\n"); 188 Addr prefix = vaddr & IntAddrPrefixMask; 189 if (prefix == IntAddrPrefixCPUID) { 190 panic("CPUID memory space not yet implemented!\n"); 191 } else if (prefix == IntAddrPrefixMSR) { 192 req->setMmapedIpr(true); 193 Addr regNum = 0; 194 switch (vaddr & ~IntAddrPrefixMask) { --- 419 unchanged lines hidden --- |