SPARC: Fixes for invalidateAll and demapAll in the SPARC TLBs.

--HG--
extra : convert_revision : 8de6c60b0e3e725eac11047a9d9888097dd359ff
This commit is contained in:
Gabe Black 2007-11-30 16:49:27 -08:00
parent 38e804f7cd
commit 7433032b39

View file

@ -331,10 +331,9 @@ TLB::demapAll(int partition_id)
DPRINTF(TLB, "TLB: Demapping All pid=%#d\n", partition_id); DPRINTF(TLB, "TLB: Demapping All pid=%#d\n", partition_id);
cacheValid = false; cacheValid = false;
for (x = 0; x < size; x++) { for (x = 0; x < size; x++) {
if (!tlb[x].pte.locked() && tlb[x].range.partitionId == partition_id) { if (tlb[x].valid && !tlb[x].pte.locked() &&
if (tlb[x].valid == true){ tlb[x].range.partitionId == partition_id) {
freeList.push_front(&tlb[x]); freeList.push_front(&tlb[x]);
}
tlb[x].valid = false; tlb[x].valid = false;
if (tlb[x].used) { if (tlb[x].used) {
tlb[x].used = false; tlb[x].used = false;
@ -351,7 +350,6 @@ TLB::invalidateAll()
int x; int x;
cacheValid = false; cacheValid = false;
freeList.clear();
lookupTable.clear(); lookupTable.clear();
for (x = 0; x < size; x++) { for (x = 0; x < size; x++) {
if (tlb[x].valid == true) if (tlb[x].valid == true)