flash_device.hh (10905:a6ca6831e775) | flash_device.hh (10913:38dbdeea7f1f) |
---|---|
1/* 2 * Copyright (c) 2013-2015 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 --- 48 unchanged lines hidden (view full) --- 57{ 58 public: 59 60 /** Initialize functions*/ 61 FlashDevice(const FlashDeviceParams*); 62 ~FlashDevice(); 63 64 /** Checkpoint functions*/ | 1/* 2 * Copyright (c) 2013-2015 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 --- 48 unchanged lines hidden (view full) --- 57{ 58 public: 59 60 /** Initialize functions*/ 61 FlashDevice(const FlashDeviceParams*); 62 ~FlashDevice(); 63 64 /** Checkpoint functions*/ |
65 unsigned int drain(DrainManager *dm); | 65 DrainState drain() M5_ATTR_OVERRIDE; |
66 void checkDrain(); 67 68 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE; 69 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE; 70 71 private: 72 /** Defines the possible actions to the flash*/ 73 enum Actions { --- 97 unchanged lines hidden (view full) --- 171 /** Disk dimensions in pages and blocks */ 172 uint32_t pagesPerBlock; 173 uint32_t pagesPerDisk; 174 uint32_t blocksPerDisk; 175 176 uint32_t planeMask; 177 178 /** | 66 void checkDrain(); 67 68 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE; 69 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE; 70 71 private: 72 /** Defines the possible actions to the flash*/ 73 enum Actions { --- 97 unchanged lines hidden (view full) --- 171 /** Disk dimensions in pages and blocks */ 172 uint32_t pagesPerBlock; 173 uint32_t pagesPerDisk; 174 uint32_t blocksPerDisk; 175 176 uint32_t planeMask; 177 178 /** |
179 * drain manager 180 * Needed to be able to implement checkpoint functionality 181 */ 182 183 DrainManager *drainManager; 184 185 /** | |
186 * when the disk is first started we are unsure of the number of 187 * used pages, this variable will help determining what we do know. 188 */ 189 std::vector<uint32_t> unknownPages; 190 /** address to logic place has a block and a page field*/ 191 std::vector<struct PageMapEntry> locationTable; 192 /** number of valid entries per block*/ 193 std::vector<uint32_t> blockValidEntries; 194 /** number of empty entries*/ 195 std::vector<uint32_t> blockEmptyEntries; 196 197 /**This vector of queues keeps track of all the callbacks per plane*/ 198 std::vector<std::deque<struct CallBackEntry> > planeEventQueue; 199 200 /** Completion event */ 201 EventWrapper<FlashDevice, &FlashDevice::actionComplete> planeEvent; 202}; 203#endif //__DEV_ARM_FLASH_DEVICE_HH__ | 179 * when the disk is first started we are unsure of the number of 180 * used pages, this variable will help determining what we do know. 181 */ 182 std::vector<uint32_t> unknownPages; 183 /** address to logic place has a block and a page field*/ 184 std::vector<struct PageMapEntry> locationTable; 185 /** number of valid entries per block*/ 186 std::vector<uint32_t> blockValidEntries; 187 /** number of empty entries*/ 188 std::vector<uint32_t> blockEmptyEntries; 189 190 /**This vector of queues keeps track of all the callbacks per plane*/ 191 std::vector<std::deque<struct CallBackEntry> > planeEventQueue; 192 193 /** Completion event */ 194 EventWrapper<FlashDevice, &FlashDevice::actionComplete> planeEvent; 195}; 196#endif //__DEV_ARM_FLASH_DEVICE_HH__ |