tlb.hh (11168:f98eb2da15a4) tlb.hh (11175:2324ed5fa9f4)
1/*
2 * Copyright (c) 2007 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

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

69
70 uint32_t configAddress;
71
72 public:
73
74 typedef X86TLBParams Params;
75 TLB(const Params *p);
76
1/*
2 * Copyright (c) 2007 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

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

69
70 uint32_t configAddress;
71
72 public:
73
74 typedef X86TLBParams Params;
75 TLB(const Params *p);
76
77 void takeOverFrom(BaseTLB *otlb) {}
77 void takeOverFrom(BaseTLB *otlb) override {}
78
79 TlbEntry *lookup(Addr va, bool update_lru = true);
80
81 void setConfigAddress(uint32_t addr);
82
83 protected:
84
85 EntryList::iterator lookupIt(Addr va, bool update_lru = true);
86
87 Walker * walker;
88
89 public:
90 Walker *getWalker();
91
78
79 TlbEntry *lookup(Addr va, bool update_lru = true);
80
81 void setConfigAddress(uint32_t addr);
82
83 protected:
84
85 EntryList::iterator lookupIt(Addr va, bool update_lru = true);
86
87 Walker * walker;
88
89 public:
90 Walker *getWalker();
91
92 void flushAll();
92 void flushAll() override;
93
94 void flushNonGlobal();
95
93
94 void flushNonGlobal();
95
96 void demapPage(Addr va, uint64_t asn);
96 void demapPage(Addr va, uint64_t asn) override;
97
98 protected:
99 uint32_t size;
100
101 std::vector<TlbEntry> tlb;
102
103 EntryList freeList;
104

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

156 * migrating port connections during a CPU takeOverFrom()
157 * call. For architectures that do not have a table walker,
158 * NULL is returned, hence the use of a pointer rather than a
159 * reference. For X86 this method will always return a valid
160 * port pointer.
161 *
162 * @return A pointer to the walker master port
163 */
97
98 protected:
99 uint32_t size;
100
101 std::vector<TlbEntry> tlb;
102
103 EntryList freeList;
104

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

156 * migrating port connections during a CPU takeOverFrom()
157 * call. For architectures that do not have a table walker,
158 * NULL is returned, hence the use of a pointer rather than a
159 * reference. For X86 this method will always return a valid
160 * port pointer.
161 *
162 * @return A pointer to the walker master port
163 */
164 virtual BaseMasterPort *getMasterPort();
164 BaseMasterPort *getMasterPort() override;
165 };
166}
167
168#endif // __ARCH_X86_TLB_HH__
165 };
166}
167
168#endif // __ARCH_X86_TLB_HH__