Changes

29 bytes removed ,  13:57, 15 November 2017
Line 600: Line 600:  
|}
 
|}
   −
* Every level comes in pairs (concatenated), so the actual size of each level is twice as large as recorded in the "size" field. Level n (n = 1 or 2) is a bit-array (encoded in u32 array, with MSB as the first bit of each 32 bits), in which each bit corresponds to a block in level (n+1), indicating in which of the pair the block is the active one (0 means the first one, 1 means the second one). In this way, the actual valid data is scattered between the two IVFC partition images.  
+
* Every level comes in pairs (concatenated), so the actual size of each level is twice as large as recorded in the "size" field. Level n (n = 1 or 2) is a bit-array (encoded in u32 array, with MSB as the first bit of each 32 bits), in which each bit corresponds to a block in level (n+1), indicating in which of the pair the block is the active one (0 means the first one, 1 means the second one). In this way, the actual valid data is scattered between the two IVFC partition images (Except for DATA partition, because its IVFC level 4 is out side DPFS level 3 and thus is not duplicated).  
* The valid one in level 1 pair is probably chosen by the same bit of "Active  partition table". However in this case, 0 means the second one and 1 means the first one (in the same order as the partition tables).
+
* The valid one in level 1 pair is chosen by "DPFS level 1 selector" in DIFI.
 
* The offsets contained in the DPFS are relative to the partition offset in the DISA/DIFF. The offsets from the IVFC are related to the IVFC partition (DPFS Level 3), after assembling the valid data.
 
* The offsets contained in the DPFS are relative to the partition offset in the DISA/DIFF. The offsets from the IVFC are related to the IVFC partition (DPFS Level 3), after assembling the valid data.
  
242

edits