tlb.hh (12455:c88f0b37f433) tlb.hh (12749:223c83ed9979)
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

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

101 uint64_t lruSeq;
102
103 // Statistics
104 Stats::Scalar rdAccesses;
105 Stats::Scalar wrAccesses;
106 Stats::Scalar rdMisses;
107 Stats::Scalar wrMisses;
108
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

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

101 uint64_t lruSeq;
102
103 // Statistics
104 Stats::Scalar rdAccesses;
105 Stats::Scalar wrAccesses;
106 Stats::Scalar rdMisses;
107 Stats::Scalar wrMisses;
108
109 Fault translateInt(RequestPtr req, ThreadContext *tc);
109 Fault translateInt(const RequestPtr &req, ThreadContext *tc);
110
110
111 Fault translate(RequestPtr req, ThreadContext *tc,
111 Fault translate(const RequestPtr &req, ThreadContext *tc,
112 Translation *translation, Mode mode,
113 bool &delayedResponse, bool timing);
114
115 public:
116
117 void evictLRU();
118
119 uint64_t
120 nextSeq()
121 {
122 return ++lruSeq;
123 }
124
125 Fault translateAtomic(
112 Translation *translation, Mode mode,
113 bool &delayedResponse, bool timing);
114
115 public:
116
117 void evictLRU();
118
119 uint64_t
120 nextSeq()
121 {
122 return ++lruSeq;
123 }
124
125 Fault translateAtomic(
126 RequestPtr req, ThreadContext *tc, Mode mode) override;
126 const RequestPtr &req, ThreadContext *tc, Mode mode) override;
127 void translateTiming(
127 void translateTiming(
128 RequestPtr req, ThreadContext *tc,
128 const RequestPtr &req, ThreadContext *tc,
129 Translation *translation, Mode mode) override;
130
131 /**
132 * Do post-translation physical address finalization.
133 *
134 * Some addresses, for example requests going to the APIC,
135 * need post-translation updates. Such physical addresses are
136 * remapped into a "magic" part of the physical address space
137 * by this method.
138 *
139 * @param req Request to updated in-place.
140 * @param tc Thread context that created the request.
141 * @param mode Request type (read/write/execute).
142 * @return A fault on failure, NoFault otherwise.
143 */
129 Translation *translation, Mode mode) override;
130
131 /**
132 * Do post-translation physical address finalization.
133 *
134 * Some addresses, for example requests going to the APIC,
135 * need post-translation updates. Such physical addresses are
136 * remapped into a "magic" part of the physical address space
137 * by this method.
138 *
139 * @param req Request to updated in-place.
140 * @param tc Thread context that created the request.
141 * @param mode Request type (read/write/execute).
142 * @return A fault on failure, NoFault otherwise.
143 */
144 Fault finalizePhysical(RequestPtr req, ThreadContext *tc,
144 Fault finalizePhysical(const RequestPtr &req, ThreadContext *tc,
145 Mode mode) const override;
146
147 TlbEntry *insert(Addr vpn, const TlbEntry &entry);
148
149 /*
150 * Function to register Stats
151 */
152 void regStats() override;

--- 20 unchanged lines hidden ---
145 Mode mode) const override;
146
147 TlbEntry *insert(Addr vpn, const TlbEntry &entry);
148
149 /*
150 * Function to register Stats
151 */
152 void regStats() override;

--- 20 unchanged lines hidden ---