summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dev/arm/flash_device.cc55
1 files changed, 16 insertions, 39 deletions
diff --git a/src/dev/arm/flash_device.cc b/src/dev/arm/flash_device.cc
index b0b855349..09b096790 100644
--- a/src/dev/arm/flash_device.cc
+++ b/src/dev/arm/flash_device.cc
@@ -522,28 +522,18 @@ FlashDevice::serialize(CheckpointOut &cp) const
{
SERIALIZE_SCALAR(planeMask);
- int unknown_pages_size = unknownPages.size();
- SERIALIZE_SCALAR(unknown_pages_size);
- for (uint32_t count = 0; count < unknownPages.size(); count++)
- SERIALIZE_SCALAR(unknownPages[count]);
+ SERIALIZE_CONTAINER(unknownPages);
+ SERIALIZE_CONTAINER(blockValidEntries);
+ SERIALIZE_CONTAINER(blockEmptyEntries);
int location_table_size = locationTable.size();
SERIALIZE_SCALAR(location_table_size);
for (uint32_t count = 0; count < location_table_size; count++) {
- SERIALIZE_SCALAR(locationTable[count].page);
- SERIALIZE_SCALAR(locationTable[count].block);
- }
-
- int block_valid_entries_size = blockValidEntries.size();
- SERIALIZE_SCALAR(block_valid_entries_size);
- for (uint32_t count = 0; count < blockValidEntries.size(); count++)
- SERIALIZE_SCALAR(blockValidEntries[count]);
-
- int block_empty_entries_size = blockEmptyEntries.size();
- SERIALIZE_SCALAR(block_empty_entries_size);
- for (uint32_t count = 0; count < blockEmptyEntries.size(); count++)
- SERIALIZE_SCALAR(blockEmptyEntries[count]);
-
+ paramOut(cp, csprintf("locationTable[%d].page", count),
+ locationTable[count].page);
+ paramOut(cp, csprintf("locationTable[%d].block", count),
+ locationTable[count].block);
+ }
};
/**
@@ -555,32 +545,19 @@ FlashDevice::unserialize(CheckpointIn &cp)
{
UNSERIALIZE_SCALAR(planeMask);
- int unknown_pages_size;
- UNSERIALIZE_SCALAR(unknown_pages_size);
- unknownPages.resize(unknown_pages_size);
- for (uint32_t count = 0; count < unknown_pages_size; count++)
- UNSERIALIZE_SCALAR(unknownPages[count]);
+ UNSERIALIZE_CONTAINER(unknownPages);
+ UNSERIALIZE_CONTAINER(blockValidEntries);
+ UNSERIALIZE_CONTAINER(blockEmptyEntries);
int location_table_size;
UNSERIALIZE_SCALAR(location_table_size);
locationTable.resize(location_table_size);
for (uint32_t count = 0; count < location_table_size; count++) {
- UNSERIALIZE_SCALAR(locationTable[count].page);
- UNSERIALIZE_SCALAR(locationTable[count].block);
- }
-
- int block_valid_entries_size;
- UNSERIALIZE_SCALAR(block_valid_entries_size);
- blockValidEntries.resize(block_valid_entries_size);
- for (uint32_t count = 0; count < block_valid_entries_size; count++)
- UNSERIALIZE_SCALAR(blockValidEntries[count]);
-
- int block_empty_entries_size;
- UNSERIALIZE_SCALAR(block_empty_entries_size);
- blockEmptyEntries.resize(block_empty_entries_size);
- for (uint32_t count = 0; count < block_empty_entries_size; count++)
- UNSERIALIZE_SCALAR(blockEmptyEntries[count]);
-
+ paramIn(cp, csprintf("locationTable[%d].page", count),
+ locationTable[count].page);
+ paramIn(cp, csprintf("locationTable[%d].block", count),
+ locationTable[count].block);
+ }
};
/**