tlb.cc (5237:6c819dbe8045) tlb.cc (5242:280a99136427)
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 *

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

375 // Do legacy PSE.
376 state = PSEPD;
377 } else {
378 // Do legacy non PSE.
379 state = PD;
380 }
381 }
382 }
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 *

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

375 // Do legacy PSE.
376 state = PSEPD;
377 } else {
378 // Do legacy non PSE.
379 state = PD;
380 }
381 }
382 }
383
383 nextState = Ready;
384 entry.vaddr = vaddr;
385
386 enableNX = efer.nxe;
387
388 RequestPtr request =
389 new Request(top, size, PHYSICAL | cr3.pcd ? UNCACHEABLE : 0);
390 read = new Packet(request, MemCmd::ReadExReq, Packet::Broadcast);

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

590 }
591 }
592 return NULL;
593}
594
595void
596TLB::invalidateAll()
597{
384 nextState = Ready;
385 entry.vaddr = vaddr;
386
387 enableNX = efer.nxe;
388
389 RequestPtr request =
390 new Request(top, size, PHYSICAL | cr3.pcd ? UNCACHEABLE : 0);
391 read = new Packet(request, MemCmd::ReadExReq, Packet::Broadcast);

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

591 }
592 }
593 return NULL;
594}
595
596void
597TLB::invalidateAll()
598{
599 DPRINTF(TLB, "Invalidating all entries.\n");
600 while (!entryList.empty()) {
601 TlbEntry *entry = entryList.front();
602 entryList.pop_front();
603 freeList.push_back(entry);
604 }
598}
599
600void
601TLB::invalidateNonGlobal()
602{
605}
606
607void
608TLB::invalidateNonGlobal()
609{
610 DPRINTF(TLB, "Invalidating all non global entries.\n");
611 EntryList::iterator entryIt;
612 for (entryIt = entryList.begin(); entryIt != entryList.end();) {
613 if (!(*entryIt)->global) {
614 freeList.push_back(*entryIt);
615 entryList.erase(entryIt++);
616 } else {
617 entryIt++;
618 }
619 }
603}
604
605void
606TLB::demapPage(Addr va)
607{
608}
609
610template<class TlbFault>

--- 442 unchanged lines hidden ---
620}
621
622void
623TLB::demapPage(Addr va)
624{
625}
626
627template<class TlbFault>

--- 442 unchanged lines hidden ---