aboutsummaryrefslogtreecommitdiff
path: root/core/test
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2016-10-25 15:54:58 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-10-25 16:43:39 +1100
commit8652ced003f7977e1126149b8011c184b88fe24e (patch)
tree5c73a04fb13b109d9f730507d86cb913ba90715d /core/test
parent26895ba411d5d4d86cbb377862cd2e43fcc07cf8 (diff)
downloadskiboot-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.c6
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;