diff options
author | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-10-25 15:54:58 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-10-25 16:43:39 +1100 |
commit | 8652ced003f7977e1126149b8011c184b88fe24e (patch) | |
tree | 5c73a04fb13b109d9f730507d86cb913ba90715d /core/test | |
parent | 26895ba411d5d4d86cbb377862cd2e43fcc07cf8 (diff) | |
download | skiboot-8652ced003f7977e1126149b8011c184b88fe24e.zip skiboot-8652ced003f7977e1126149b8011c184b88fe24e.tar.gz skiboot-8652ced003f7977e1126149b8011c184b88fe24e.tar.bz2 |
core/flash-subpartition: compute partition size from subpartition struct
From the subpartition structure, we have the ability to compute
the full partition size. Do that.
This lets us only read the amount of a subpartition that is valid
and needed to be read, rather than having to read the entire thing.
We continue the current behaviour of loading flash partitions though.
Based-on-patch-by: Claudio Carvalho <cclaudio@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'core/test')
-rw-r--r-- | core/test/run-flash-subpartition.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/core/test/run-flash-subpartition.c b/core/test/run-flash-subpartition.c index 169362e..419de88 100644 --- a/core/test/run-flash-subpartition.c +++ b/core/test/run-flash-subpartition.c @@ -35,20 +35,24 @@ char capp[4096] = {0x43, 0x41, 0x50, 0x50, 0x00, 0x00, 0x00, 0x01, int main(void) { int rc; + uint32_t part_actual; uint32_t offset; uint32_t size; uint32_t subids[] = { 0x100ea, 0x200ea, 0x200ef, 0x201ef, 0x100d3 }; for (int i = 0; i < sizeof(subids)/sizeof(uint32_t); i++) { offset = 0; - rc = flash_subpart_info(capp, 0x24000, subids[i], + rc = flash_subpart_info(capp, sizeof(capp), 0x24000, + &part_actual, subids[i], &offset, &size); printf("\nsubid %x\n", subids[i]); + printf("part_actual %u\n", part_actual); printf("offset %u\n", offset); printf("size %u\n", size); assert (rc == 0); assert (size == 36432); assert (offset == 4096); + assert (part_actual == 40960); } return 0; |