tlb.hh (10687:276da6265ab8) tlb.hh (10905:a6ca6831e775)
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

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

93
94 void flushNonGlobal();
95
96 void demapPage(Addr va, uint64_t asn);
97
98 protected:
99 uint32_t size;
100
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

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

93
94 void flushNonGlobal();
95
96 void demapPage(Addr va, uint64_t asn);
97
98 protected:
99 uint32_t size;
100
101 TlbEntry * tlb;
101 std::vector<TlbEntry> tlb;
102
103 EntryList freeList;
104
105 TlbEntryTrie trie;
106 uint64_t lruSeq;
107
108 Fault translateInt(RequestPtr req, ThreadContext *tc);
109

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

143 * @return A fault on failure, NoFault otherwise.
144 */
145 Fault finalizePhysical(RequestPtr req, ThreadContext *tc,
146 Mode mode) const;
147
148 TlbEntry * insert(Addr vpn, TlbEntry &entry);
149
150 // Checkpointing
102
103 EntryList freeList;
104
105 TlbEntryTrie trie;
106 uint64_t lruSeq;
107
108 Fault translateInt(RequestPtr req, ThreadContext *tc);
109

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

143 * @return A fault on failure, NoFault otherwise.
144 */
145 Fault finalizePhysical(RequestPtr req, ThreadContext *tc,
146 Mode mode) const;
147
148 TlbEntry * insert(Addr vpn, TlbEntry &entry);
149
150 // Checkpointing
151 virtual void serialize(std::ostream &os);
152 virtual void unserialize(Checkpoint *cp, const std::string &section);
151 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
152 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
153
154 /**
155 * Get the table walker master port. This is used for
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();
165 };
166}
167
168#endif // __ARCH_X86_TLB_HH__
153
154 /**
155 * Get the table walker master port. This is used for
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();
165 };
166}
167
168#endif // __ARCH_X86_TLB_HH__