Deleted Added
sdiff udiff text old ( 10905:a6ca6831e775 ) new ( 10913:38dbdeea7f1f )
full compact
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 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 /**
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__