tlb.cc (3928:9486450f013f) tlb.cc (3929:3640569369a5)
1/*
2 * Copyright (c) 2001-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 156 unchanged lines hidden (view full) ---

165 // Update the last ently if their all locked
166 if (!new_entry) {
167 new_entry = &tlb[size-1];
168 }
169
170 freeList.remove(new_entry);
171 if (new_entry->valid && new_entry->used)
172 usedEntries--;
1/*
2 * Copyright (c) 2001-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 156 unchanged lines hidden (view full) ---

165 // Update the last ently if their all locked
166 if (!new_entry) {
167 new_entry = &tlb[size-1];
168 }
169
170 freeList.remove(new_entry);
171 if (new_entry->valid && new_entry->used)
172 usedEntries--;
173 if (new_entry->valid)
174 lookupTable.erase(new_entry->range);
173
175
174 lookupTable.erase(new_entry->range);
175
176
176
177 DPRINTF(TLB, "Using entry: %#X\n", new_entry);
178
179 assert(PTE.valid());
180 new_entry->range.va = va;
181 new_entry->range.size = PTE.size() - 1;
182 new_entry->range.partitionId = partition_id;
183 new_entry->range.contextId = context_id;
184 new_entry->range.real = real;

--- 392 unchanged lines hidden (view full) ---

577 ASI asi;
578 asi = (ASI)req->getAsi();
579 bool implicit = false;
580 bool hpriv = bits(tlbdata,0,0);
581
582 DPRINTF(TLB, "TLB: DTB Request to translate va=%#x size=%d asi=%#x\n",
583 vaddr, size, asi);
584
177 DPRINTF(TLB, "Using entry: %#X\n", new_entry);
178
179 assert(PTE.valid());
180 new_entry->range.va = va;
181 new_entry->range.size = PTE.size() - 1;
182 new_entry->range.partitionId = partition_id;
183 new_entry->range.contextId = context_id;
184 new_entry->range.real = real;

--- 392 unchanged lines hidden (view full) ---

577 ASI asi;
578 asi = (ASI)req->getAsi();
579 bool implicit = false;
580 bool hpriv = bits(tlbdata,0,0);
581
582 DPRINTF(TLB, "TLB: DTB Request to translate va=%#x size=%d asi=%#x\n",
583 vaddr, size, asi);
584
585 if (lookupTable.size() != 64 - freeList.size())
586 panic("Lookup table size: %d tlb size: %d\n", lookupTable.size(),
587 freeList.size());
585 if (asi == ASI_IMPLICIT)
586 implicit = true;
587
588 if (hpriv && implicit) {
589 req->setPaddr(vaddr & PAddrImplMask);
590 return NoFault;
591 }
592

--- 712 unchanged lines hidden ---
588 if (asi == ASI_IMPLICIT)
589 implicit = true;
590
591 if (hpriv && implicit) {
592 req->setPaddr(vaddr & PAddrImplMask);
593 return NoFault;
594 }
595

--- 712 unchanged lines hidden ---