tlb.hh (11168:f98eb2da15a4) tlb.hh (11169:44b5c183c3cd)
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;

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

80 void nextnlu() { if (++nlu >= table.size()) nlu = 0; }
81 TlbEntry *lookup(Addr vpn, uint8_t asn);
82
83 public:
84 typedef AlphaTLBParams Params;
85 TLB(const Params *p);
86 virtual ~TLB();
87
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;

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

80 void nextnlu() { if (++nlu >= table.size()) nlu = 0; }
81 TlbEntry *lookup(Addr vpn, uint8_t asn);
82
83 public:
84 typedef AlphaTLBParams Params;
85 TLB(const Params *p);
86 virtual ~TLB();
87
88 void takeOverFrom(BaseTLB *otlb) {}
88 void takeOverFrom(BaseTLB *otlb) override {}
89
89
90 virtual void regStats();
90 void regStats() override;
91
92 int getsize() const { return table.size(); }
93
94 TlbEntry &index(bool advance = true);
95 void insert(Addr vaddr, TlbEntry &entry);
96
91
92 int getsize() const { return table.size(); }
93
94 TlbEntry &index(bool advance = true);
95 void insert(Addr vaddr, TlbEntry &entry);
96
97 void flushAll();
97 void flushAll() override;
98 void flushProcesses();
99 void flushAddr(Addr addr, uint8_t asn);
100
101 void
98 void flushProcesses();
99 void flushAddr(Addr addr, uint8_t asn);
100
101 void
102 demapPage(Addr vaddr, uint64_t asn)
102 demapPage(Addr vaddr, uint64_t asn) override
103 {
104 assert(asn < (1 << 8));
105 flushAddr(vaddr, asn);
106 }
107
108 // static helper functions... really EV5 VM traits
109 static bool
110 validVirtualAddress(Addr vaddr)

--- 46 unchanged lines hidden ---
103 {
104 assert(asn < (1 << 8));
105 flushAddr(vaddr, asn);
106 }
107
108 // static helper functions... really EV5 VM traits
109 static bool
110 validVirtualAddress(Addr vaddr)

--- 46 unchanged lines hidden ---