BootConfig: Difference between revisions

No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:


= Format =
= Format =
Despite having 0x4000 for storage, the actual loaded BootConfig is only 0x640 bytes, with the following format:
Despite having 0x4000 for storage, the actual loaded BootConfig is only 0x400 bytes, with the following format:


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 23: Line 23:
| 0x100
| 0x100
| [[#Signed Configuration]]
| [[#Signed Configuration]]
|-
| 0x400
| 0x240
| Reserved
|}
|}


Line 39: Line 35:
|-
|-
| 0x0
| 0x0
| 0x10
| 0x4
|  
| Version (yyMMddHHmm in uint32)
|-
| 0x4
| 0xC
| Reserved
|-
|-
| 0x10
| 0x10
| 0x1
| 0x1
| IsDebugMode (bit 1) and TakeExtabtSerrorToEl3 (bit 2)
| [[SMC#IsDebugMode|IsDebugMode]] (bit 1) and TakeExtabtSerrorToEl3 (bit 2)
|-
|-
| 0x11
| 0x11
Line 52: Line 52:
| 0x12
| 0x12
| 0xF
| 0xF
|  
| Reserved
|-
|-
| 0x21
| 0x21
Line 60: Line 60:
| 0x22
| 0x22
| 0x1
| 0x1
|  
| Reserved
|-
|-
| 0x23
| 0x23
Line 72: Line 72:
| 0x25
| 0x25
| 0xB
| 0xB
|  
| Reserved
|-
|-
| 0x30
| 0x30
Line 80: Line 80:
| 0x38
| 0x38
| 0x1C8
| 0x1C8
|  
| Reserved
|}
|}


Line 92: Line 92:
| 0x0
| 0x0
| 0x8
| 0x8
|  
| Version
|-
|-
| 0x8
| 0x8
| 0x1
| 0x1
| Package2 Configuration. Bit 0 set means Package2 is stored unencrypted. Bit 1 set means Package2 is unsigned.
| IsPackage2Plaintext (bit 0) and IsPackage2Unsigned (bit 1)
|-
|-
| 0x9
| 0x9
| 0x7
| 0x7
|  
| Reserved
|-
|-
| 0x10
| 0x10
| 0x10
| 0x10
| Hardware Info. Must match the Hardware Info read from fuses, or else the loaded Signed Config will be memset to 0 even if signed. This allows Nintendo to set signed configuration on a per-unit basis.
| HardwareInfo (must match the HardwareInfo read from fuses, or else the loaded Signed Config will be memset to 0 even if signed; this allows Nintendo to set signed configuration on a per-unit basis)
|-
|-
| 0x20
| 0x20
| 0x1
| 0x1
| [[Filesystem_services#SetEnabledProgramVerification|DisableProgramVerification]]. Controls the default value for how to check NCA signatures.
| [[Filesystem_services#SetEnabledProgramVerification|DisableProgramVerification]] (controls the default value for how to check NCA signatures)
|-
|-
| 0x21
| 0x21
| 0xDF
| 0xDF
|  
| Reserved
|}
|}