tlb.cc (9294:8fb03b13de02) tlb.cc (9423:43caa4ca5979)
1/*
2 * Copyright (c) 2007-2008 The Hewlett-Packard Development Company
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

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

124{
125 TlbEntry *entry = trie.lookup(va);
126 if (entry && update_lru)
127 entry->lruSeq = nextSeq();
128 return entry;
129}
130
131void
1/*
2 * Copyright (c) 2007-2008 The Hewlett-Packard Development Company
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

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

124{
125 TlbEntry *entry = trie.lookup(va);
126 if (entry && update_lru)
127 entry->lruSeq = nextSeq();
128 return entry;
129}
130
131void
132TLB::invalidateAll()
132TLB::flushAll()
133{
134 DPRINTF(TLB, "Invalidating all entries.\n");
135 for (unsigned i = 0; i < size; i++) {
136 if (tlb[i].trieHandle) {
137 trie.remove(tlb[i].trieHandle);
138 tlb[i].trieHandle = NULL;
139 freeList.push_back(&tlb[i]);
140 }
141 }
142}
143
144void
145TLB::setConfigAddress(uint32_t addr)
146{
147 configAddress = addr;
148}
149
150void
133{
134 DPRINTF(TLB, "Invalidating all entries.\n");
135 for (unsigned i = 0; i < size; i++) {
136 if (tlb[i].trieHandle) {
137 trie.remove(tlb[i].trieHandle);
138 tlb[i].trieHandle = NULL;
139 freeList.push_back(&tlb[i]);
140 }
141 }
142}
143
144void
145TLB::setConfigAddress(uint32_t addr)
146{
147 configAddress = addr;
148}
149
150void
151TLB::invalidateNonGlobal()
151TLB::flushNonGlobal()
152{
153 DPRINTF(TLB, "Invalidating all non global entries.\n");
154 for (unsigned i = 0; i < size; i++) {
155 if (tlb[i].trieHandle && !tlb[i].global) {
156 trie.remove(tlb[i].trieHandle);
157 tlb[i].trieHandle = NULL;
158 freeList.push_back(&tlb[i]);
159 }

--- 291 unchanged lines hidden ---
152{
153 DPRINTF(TLB, "Invalidating all non global entries.\n");
154 for (unsigned i = 0; i < size; i++) {
155 if (tlb[i].trieHandle && !tlb[i].global) {
156 trie.remove(tlb[i].trieHandle);
157 tlb[i].trieHandle = NULL;
158 freeList.push_back(&tlb[i]);
159 }

--- 291 unchanged lines hidden ---