Spaces:
Runtime error
Runtime error
| class mem_map; | |
| class mem_slot; | |
| class mem_slot { | |
| public: | |
| mem_slot(mem_map& map, uint64_t gpa, uint64_t size, void *hva); | |
| ~mem_slot(); | |
| void set_dirty_logging(bool enabled); | |
| bool dirty_logging() const; | |
| int update_dirty_log(); | |
| bool is_dirty(uint64_t gpa) const; | |
| private: | |
| void update(); | |
| private: | |
| typedef unsigned long ulong; | |
| static const int bits_per_word = sizeof(ulong) * 8; | |
| mem_map& _map; | |
| int _slot; | |
| uint64_t _gpa; | |
| uint64_t _size; | |
| void *_hva; | |
| bool _dirty_log_enabled; | |
| std::vector<ulong> _log; | |
| }; | |
| class mem_map { | |
| public: | |
| mem_map(kvm::vm& vm); | |
| private: | |
| kvm::vm& _vm; | |
| std::stack<int> _free_slots; | |
| friend class mem_slot; | |
| }; | |