drain.hh (9342:6fec8f26e56d) | drain.hh (9346:7a9b5e0335a6) |
---|---|
1/* 2 * Copyright (c) 2012 ARM Limited 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 --- 188 unchanged lines hidden (view full) --- 197 /** 198 * Resume execution after a successful drain. 199 * 200 * @note This method is normally only called from the simulation 201 * scripts. 202 */ 203 virtual void drainResume(); 204 | 1/* 2 * Copyright (c) 2012 ARM Limited 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 --- 188 unchanged lines hidden (view full) --- 197 /** 198 * Resume execution after a successful drain. 199 * 200 * @note This method is normally only called from the simulation 201 * scripts. 202 */ 203 virtual void drainResume(); 204 |
205 /** 206 * Write back dirty buffers to memory using functional writes. 207 * 208 * After returning, an object implementing this method should have 209 * written all its dirty data back to memory. This method is 210 * typically used to prepare a system with caches for 211 * checkpointing. 212 */ 213 virtual void memWriteback() {}; 214 215 /** 216 * Invalidate the contents of memory buffers. 217 * 218 * When the switching to hardware virtualized CPU models, we need 219 * to make sure that we don't have any cached state in the system 220 * that might become stale when we return. This method is used to 221 * flush all such state back to main memory. 222 * 223 * @warn This does <i>not</i> cause any dirty state to be written 224 * back to memory. 225 */ 226 virtual void memInvalidate() {}; 227 |
|
205 State getDrainState() const { return _drainState; } 206 207 protected: 208 void setDrainState(State new_state) { _drainState = new_state; } 209 210 211 private: 212 State _drainState; 213 214}; 215 216#endif | 228 State getDrainState() const { return _drainState; } 229 230 protected: 231 void setDrainState(State new_state) { _drainState = new_state; } 232 233 234 private: 235 State _drainState; 236 237}; 238 239#endif |