pagetable_walker.hh (13892:0182a0601f66) pagetable_walker.hh (14096:bde52fccbf0f)
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

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

106 std::vector<PacketPtr> writes;
107 Fault timingFault;
108 TLB::Translation * translation;
109 BaseTLB::Mode mode;
110 bool functional;
111 bool timing;
112 bool retrying;
113 bool started;
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

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

106 std::vector<PacketPtr> writes;
107 Fault timingFault;
108 TLB::Translation * translation;
109 BaseTLB::Mode mode;
110 bool functional;
111 bool timing;
112 bool retrying;
113 bool started;
114 bool squashed;
114 public:
115 WalkerState(Walker * _walker, BaseTLB::Translation *_translation,
116 const RequestPtr &_req, bool _isFunctional = false) :
117 walker(_walker), req(_req), state(Ready),
118 nextState(Ready), inflight(0),
119 translation(_translation),
120 functional(_isFunctional), timing(false),
115 public:
116 WalkerState(Walker * _walker, BaseTLB::Translation *_translation,
117 const RequestPtr &_req, bool _isFunctional = false) :
118 walker(_walker), req(_req), state(Ready),
119 nextState(Ready), inflight(0),
120 translation(_translation),
121 functional(_isFunctional), timing(false),
121 retrying(false), started(false)
122 retrying(false), started(false), squashed(false)
122 {
123 }
124 void initState(ThreadContext * _tc, BaseTLB::Mode _mode,
125 bool _isTiming = false);
126 Fault startWalk();
127 Fault startFunctional(Addr &addr, unsigned &logBytes);
128 bool recvPacket(PacketPtr pkt);
123 {
124 }
125 void initState(ThreadContext * _tc, BaseTLB::Mode _mode,
126 bool _isTiming = false);
127 Fault startWalk();
128 Fault startFunctional(Addr &addr, unsigned &logBytes);
129 bool recvPacket(PacketPtr pkt);
130 unsigned numInflight() const;
129 bool isRetrying();
130 bool wasStarted();
131 bool isTiming();
132 void retry();
131 bool isRetrying();
132 bool wasStarted();
133 bool isTiming();
134 void retry();
135 void squash();
133 std::string name() const {return walker->name();}
134
135 private:
136 void setupWalk(Addr vaddr);
137 Fault stepWalk(PacketPtr &write);
138 void sendPackets();
139 void endWalk();
140 Fault pageFault(bool present);

--- 73 unchanged lines hidden ---
136 std::string name() const {return walker->name();}
137
138 private:
139 void setupWalk(Addr vaddr);
140 Fault stepWalk(PacketPtr &write);
141 void sendPackets();
142 void endWalk();
143 Fault pageFault(bool present);

--- 73 unchanged lines hidden ---