Changes

Jump to navigation Jump to search
63 bytes removed ,  23:51, 21 September 2023
Line 71: Line 71:  
|-
 
|-
 
| 0x5C
 
| 0x5C
| 0x2
+
| 0x1
| Version. HighByte must be <{maxver} and LowByte must be >{minver}, where {maxver} and {minver} are constants used by TZ updated with each package1 update.
+
| Package2 version. Must be >= {minimum valid package2 version} constant in TZ.
 +
|-
 +
| 0x5D
 +
| 0x1
 +
| Bootloader version. Must be <= {current bootloader version} constant in TZ.
 
|-
 
|-
 
| 0x5E
 
| 0x5E
Line 132: Line 136:  
Before being decrypted, the encrypted header's CTR additionally encodes metadata used to validate package2's contents as follows:
 
Before being decrypted, the encrypted header's CTR additionally encodes metadata used to validate package2's contents as follows:
 
* Size of the entire package2 with the raw header = ctr_word2 ^ ctr_word3 ^ ctr_word0
 
* Size of the entire package2 with the raw header = ctr_word2 ^ ctr_word3 ^ ctr_word0
* Metadata version field = ((ctr_word1 ^ (ctr_word1 >> 16)) & 0xFF) ^ (ctr_word1 >> 24)
+
* Key generation = ((ctr_word1 ^ (ctr_word1 >> 16)) & 0xFF) ^ (ctr_word1 >> 24)
   −
In [4.0.0], the metadata version field must be less or equal to 4.
+
In [4.0.0], the key generation must be less or equal to 4.
    
== Section 0 ==
 
== Section 0 ==
Line 237: Line 241:  
| 0x5C
 
| 0x5C
 
| 0x24
 
| 0x24
| Reserved (2 unused [[#Segment_Header|Segment Headers]])
+
| Reserved
 
|-
 
|-
 
| 0x80
 
| 0x80
Line 279: Line 283:  
|-
 
|-
 
! System version
 
! System version
! Package1 maxver constant
+
! Bootloader current version
! Package1 minver constant
+
! Package2 minimum valid version
! Package2 version field
   
|-
 
|-
 
| [[1.0.0]]
 
| [[1.0.0]]
 +
| 0x1
 +
| 0x4
 +
|-
 +
| [[2.0.0]]
 
| 0x2
 
| 0x2
 +
| 0x5
 +
|-
 +
| [[3.0.0]]
 
| 0x3
 
| 0x3
| 0x0104
+
| 0x6
 
|-
 
|-
| [[2.0.0]]
+
| [[3.0.2]]
| 0x3
   
| 0x4
 
| 0x4
| 0x0205
+
| 0x7
 
|-
 
|-
| [[3.0.0]]
+
| [[4.0.0]]
| 0x4
   
| 0x5
 
| 0x5
| 0x0306
+
| 0x8
 
|-
 
|-
| [[3.0.2]]
+
| [[5.0.0]]
| 0x5
   
| 0x6
 
| 0x6
| 0x0407
+
| 0x9
 
|-
 
|-
| [[4.0.0]]
+
| [[6.0.0]]
| 0x6
   
| 0x7
 
| 0x7
| 0x0508
+
| 0xA
 
|-
 
|-
| [[5.0.0]]
+
| [[6.2.0]]
| 0x7
   
| 0x8
 
| 0x8
| 0x0609
+
| 0xB
 
|-
 
|-
| [[6.0.0]]
+
| [[7.0.0]]
| 0x8
   
| 0x9
 
| 0x9
| 0x070A
+
| 0xC
 
|-
 
|-
| [[6.2.0]]
+
| [[8.1.0]]
| 0x9
   
| 0xA
 
| 0xA
| 0x080B
+
| 0xD
 
|-
 
|-
| [[7.0.0]]
+
| [[9.0.0]]
| 0xA
   
| 0xB
 
| 0xB
| 0x090C
+
| 0xE
 
|-
 
|-
| [[8.1.0]]
+
| [[9.1.0]]
| 0xB
   
| 0xC
 
| 0xC
| 0x0A0D
+
| 0xF
 
|-
 
|-
| [[9.0.0]]
+
| [[10.0.0]]
| 0xC
   
| 0xD
 
| 0xD
| 0x0B0E
+
| 0x10
 
|-
 
|-
| [[9.1.0]]
+
| [[11.0.0]]
| 0xD
   
| 0xE
 
| 0xE
| 0x0C0F
+
| 0x11
 +
|-
 +
| [[12.0.2]]
 +
| 0xF
 +
| 0x12
 
|-
 
|-
| [[10.0.0]]
+
| [[12.1.0]]
| 0xE
+
| 0xF
 +
| 0x13
 +
|-
 +
| [[13.0.0]]
 
| 0xF
 
| 0xF
| 0x0D10
+
| 0x14
 
|}
 
|}
  

Navigation menu