Changes

Jump to navigation Jump to search
480 bytes added ,  23:17, 4 October 2018
no edit summary
Line 27: Line 27:  
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Slot          !! Initial Valid !! Initial Protection !! Protection (1.69)  !! Ever Valid (1.69) !! Set By? !! Description
+
! Slot          !! Initial Valid !! Initial Protection !! Protection (1.69)  !! Ever Valid (1.69) !! Per Console? (1.69) !! Set By? !! Description
 
|-
 
|-
| 0            || N || 0x0442 || 0x0442      || Y || ?          || ?
+
| 0            || N || 0x0442 || 0x0442      || Y || ? || ?          || ?
 
|-
 
|-
| 1            || N || 0x0442 || 0x0442      || N || ?          || ?
+
| 1            || N || 0x0442 || 0x0442      || N || ? ||  ?          || ?
 
|-
 
|-
| 2-7          || N || 0x0442 || 0x0040      || N || ?          || ?
+
| 2-7          || N || 0x0442 || 0x0040      || N || ? ||  ?          || ?
 
|-
 
|-
| 8            || N || 0x049F || 0x0081      || Y || ?        || enp per-console key
+
| 8            || N || 0x049F || 0x0081      || Y || Y ||  ?        || enp per-console key
 
|-
 
|-
| 9          || N || 0x049F || 0x0080      || N || ?          || ?
+
| 9          || N || 0x049F || 0x0080      || N || ? ||  ?          || ?
 
|-
 
|-
| 0xA-0xF        || N || 0x049F || 0x0080      || Y || ?          || ?
+
| 0xA-0xF        || N || 0x049F || 0x0080      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x10          || N || 0x0502 || 0x0502      || N || ?          || supports decryption only
+
| 0x10          || N || 0x0502 || 0x0502      || N || ? ||  ?          || supports decryption only
 
|-
 
|-
| 0x11-0x1F      || N    || 0x0502 || 0x0100      || N || ?          || ?
+
| 0x11-0x1F      || N    || 0x0502 || 0x0100      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x20          || N || 0x061F || 0x0200      || Y || ?          || Derived from 0x344, used for hmac-sha256 over enc files
+
| 0x20          || N || 0x061F || 0x0200      || Y || ? ||  ?          || Derived from 0x344, used for hmac-sha256 over enc files
 
|-
 
|-
| 0x21-0x24      || N || 0x061F || 0x061F      || N || ?          || supports encryption and decryption
+
| 0x21-0x24      || N || 0x061F || 0x061F      || N || ? ||  ?          || supports encryption and decryption
 
|-
 
|-
| 0x25-0x2F    || N  || 0x061F || 0x0200      || N || ?          || ?
+
| 0x25-0x2F    || N  || 0x061F || 0x0200      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x30-0x34      || N || 0x041F || 0x041F      || N || ?          || ?
+
| 0x30-0x34      || N || 0x041F || 0x041F      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x35-0x7F      || N || 0x041F || 0x0000      || N || ?          || ?
+
| 0x35-0x7F      || N || 0x041F || 0x0000      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x80-0xFF      || X || 0x0000 || 0x0000      || X || ?          || Not used
+
| 0x80-0xFF      || X || 0x0000 || 0x0000      || X || ? ||  ?          || Not used
 
|-
 
|-
| 0x100          || N || 0x041F || 0x041F      || N  || ?          || ?
+
| 0x100          || N || 0x041F || 0x041F      || N  || ? ||  ?          || ?
 
|-
 
|-
| 0x101-0x17F  || N || 0x041F || 0x0000      || N || ?          || ?
+
| 0x101-0x17F  || N || 0x041F || 0x0000      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x180-0x1FF  || X  || 0x0000 || 0x0000      || X || ?          || Not used
+
| 0x180-0x1FF  || X  || 0x0000 || 0x0000      || X || ? ||  ?          || Not used
 
|-
 
|-
| 0x200-0x203    || Y || 0x0002 || 0x0000      || Y || ?          || ?
+
| 0x200-0x203    || Y || 0x0002 || 0x0000      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x204-0x205    || Y || 0x006F || 0x006F      || Y || ?          || ?
+
| 0x204-0x205    || Y || 0x006F || 0x006F      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x206          || Y || 0x00AF || 0x00A0      || Y || ?          || Used to derive key used to decrypt personalized layer over enc. Should be per-console.
+
| 0x206          || Y || 0x00AF || 0x00A0      || Y || ? ||  ?          || Used to derive key used to decrypt personalized layer over enc. Should be per-console.
 
|-
 
|-
| 0x207          || Y || 0x00AF || 0x00A0      || Y || ?          || Used instead of the above key when secret debug mode is set. (Possibly non-per-console?)
+
| 0x207          || Y || 0x00AF || 0x00A0      || Y || ? ||  ?          || Used instead of the above key when secret debug mode is set. (Possibly non-per-console?)
 
|-
 
|-
| 0x208-0x20D    || Y || 0x00AF || 0x00A0      || Y || ?          || 6 keys used to decrypt enc metadata, which one is used depends on key revision in enc header
+
| 0x208-0x20D    || Y || 0x00AF || 0x00A0      || Y || ? ||  ?          || 6 keys used to decrypt enc metadata, which one is used depends on key revision in enc header
 
|-
 
|-
| 0x20E-0x20F    || Y || ? || 0x0010      || Y || ?          || Maybe per-console emmc crypto keys? Protected by second_loader.
+
| 0x20E-0x20F    || Y || ? || 0x0010      || Y || ? ||  ?          || Maybe per-console emmc crypto keys? Protected by second_loader.
 
|-
 
|-
| 0x210-0x211    || Y || 0x001F || 0x0000      || Y || ?          || ?
+
| 0x210-0x211    || Y || 0x001F || 0x0000      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x212    || Y|| 0x001F || 0x001F      || Y || ?          || ?
+
| 0x212    || Y|| 0x001F || 0x001F      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x213    || Y|| 0x001F || 0x001F      || Y || ?          || Used to derive SMI keys, which are used for factory fw decryption. Per-console.
+
| 0x213    || Y|| 0x001F || 0x001F      || Y || ? ||  ?          || Used to derive SMI keys, which are used for factory fw decryption. Per-console.
 
|-
 
|-
| 0x214    || Y|| 0x001F || 0x0000      || Y || ?          || Used to derive keyslots 0x514, 0x515 in second_loader
+
| 0x214    || Y|| 0x001F || 0x0000      || Y || ? ||  ?          || Used to derive keyslots 0x514, 0x515 in second_loader
 
|-
 
|-
| 0x215    || Y|| 0x001F || 0x0000      || Y || ?          || ?
+
| 0x215    || Y|| 0x001F || 0x0000      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x216          || Y|| 0x001F || 0x001F      || Y || ?          || Derive 0x502-0x504 by encrypting data in second_loader.
+
| 0x216          || Y|| 0x001F || 0x001F      || Y || ? ||  ?          || Derive 0x502-0x504 by encrypting data in second_loader.
 
|-
 
|-
| 0x217          || Y || 0x001F || 0x0000      || Y || ?          || ?
+
| 0x217          || Y || 0x001F || 0x0000      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x218-0x2FF    || X || 0x0000 || 0x0000      || X || ?          || Not used
+
| 0x218-0x2FF    || X || 0x0000 || 0x0000      || X || ? ||  ?          || Not used
 
|-
 
|-
| 0x300-0x33F    || Y || 0x0002 || 0x0000      || Y || ?          || ?
+
| 0x300-0x33F    || Y || 0x0002 || 0x0000      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x340          || Y || 0x012F || 0x012F      || Y || ?          || Used to decrypt keys into the 0x10 key slot
+
| 0x340          || Y || 0x012F || 0x012F      || Y || ? ||  ?          || Used to decrypt keys into the 0x10 key slot
 
|-
 
|-
| 0x341-0x343    || Y || 0x012F || 0x0120      || Y || ?          || ?
+
| 0x341-0x343    || Y || 0x012F || 0x0120      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x344          || Y || 0x022F || 0x0220      || Y || ?          || Used to derive key 0x20 in brom.
+
| 0x344          || Y || 0x022F || 0x0220      || Y || ? ||  ?          || Used to derive key 0x20 in brom.
 
|-
 
|-
| 0x345-0x348    || Y || 0x022F || 0x022F      || Y || ?          || Used to decrypt keys into one of the 0x21-0x24 key slot
+
| 0x345-0x348    || Y || 0x022F || 0x022F      || Y || ? ||  ?          || Used to decrypt keys into one of the 0x21-0x24 key slot
 
|-
 
|-
| 0x349-0x353    || Y || 0x022F ||0x0220      || Y || ?          || ?
+
| 0x349-0x353    || Y || 0x022F ||0x0220      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x354-0x3FF    || Y || 0x001F || 0x0000      || Y || ?          || ?
+
| 0x354-0x3FF    || Y || 0x001F || 0x0000      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x400-0x47F    || N || 0x1800 || 0x0000      || N || ?          || ?
+
| 0x400-0x47F    || N || 0x1800 || 0x0000      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x480-0x4FF    || X || 0x0000 || 0x0000      || X || ?          || Not used
+
| 0x480-0x4FF    || X || 0x0000 || 0x0000      || X || ? ||  ?          || Not used
 
|-
 
|-
| 0x500          || N || 0x1800 || 0x1800      || N || ?          || ?
+
| 0x500          || N || 0x1800 || 0x1800      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x501          || N || 0x1800 || 0x1000      || Y || first_loader          || Used by bootrom first_loader to figure out whether to load from eMMC or ARM comms after reset
+
| 0x501          || N || 0x1800 || 0x1000      || Y || N ||  first_loader          || Used by bootrom first_loader to figure out whether to load from eMMC or ARM comms after reset
 
|-
 
|-
| 0x502-0x504    || N || 0x1800 || 0x1800      || Y || ?        || Related to Ernie SNVS
+
| 0x502-0x504    || N || 0x1800 || 0x1800      || Y || Y ||  ?        || Related to Ernie SNVS
 
|-
 
|-
| 0x505          || N || 0x1800 || 0x0000      || N || ?          || ?
+
| 0x505          || N || 0x1800 || 0x0000      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x506          || N || 0x1800 || 0x1800      || Y || ?          || ?
+
| 0x506          || N || 0x1800 || 0x1800      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x507          || N || 0x1800 || 0x1800      || Y || ?          || ?
+
| 0x507          || N || 0x1800 || 0x1800      || Y || N ||  ?          || ?
 
|-
 
|-
| 0x508          || N || 0x1800 || 0x1800      || Y || ?          || Ernie HW version (from syscon cmd 0x1). Set to 0x100060D on 1.692, 0x100010A on 1.05, 0x0100010B on 1.50
+
| 0x508          || N || 0x1800 || 0x1800      || Y || N ||  ?          || Ernie HW version (from syscon cmd 0x1). Set to 0x100060D on 1.692, 0x100010A on 1.05, 0x0100010B on 1.50
 
|-
 
|-
| 0x509          || N || 0x1800 || 0x1800      || Y || ?        || IDPS of unit (console id)
+
| 0x509          || N || 0x1800 || 0x1800      || Y || Y ||  ?        || IDPS of unit (console id)
 
|-
 
|-
| 0x50A          || N || 0x1800 || 0x1800      || Y || ?          || Byte15bit0,byte14bit0,byte14bit1,byte11bit4: Revocation related. Byte13bit0: Enable F00D debug prints.
+
| 0x50A          || N || 0x1800 || 0x1800      || Y || ? ||  ?          || Byte15bit0,byte14bit0,byte14bit1,byte11bit4: Revocation related. Byte13bit0: Enable F00D debug prints.
 
|-
 
|-
| 0x50B          || N || 0x1800 || 0x1800      || Y || ?          || From 0xD2 SNVS block 0, 8 bytes
+
| 0x50B          || N || 0x1800 || 0x1800      || Y || ? ||  ?          || From 0xD2 SNVS block 0, 8 bytes
 
|-
 
|-
| 0x50C          || N || 0x1800 || 0x1800      || Y || ?          || Flags. Set to 1 on 1.692 and newer, 0 on older
+
| 0x50C          || N || 0x1800 || 0x1800      || Y || N ||  ?          || Flags. Set to 1 on 1.692 and newer, 0 on older
 
|-
 
|-
| 0x50D          || N || 0x1800 || 0x1800      || Y || ?        || OpenPSID
+
| 0x50D          || N || 0x1800 || 0x1800      || Y || Y ||  ?        || OpenPSID
 
|-
 
|-
| 0x50E          || N || 0x1800 || 0x1800      || Y || ?        || Current firmware version. Comes from SNVS.
+
| 0x50E          || N || 0x1800 || 0x1800      || Y || Y ||  ?        || Current firmware version. Comes from SNVS.
 
|-
 
|-
| 0x50F          || N || 0x1800 || 0x1800      || Y || ?        || Factory firmware version. Comes from idstorage.
+
| 0x50F          || N || 0x1800 || 0x1800      || Y || Y ||  ?        || Factory firmware version. Comes from idstorage.
 
|-
 
|-
| 0x510          || N || 0x1800 || 0x1800      || Y || ?        || Some bit flags, comes from syscon cmd 0x90 offset 0xE0
+
| 0x510          || N || 0x1800 || 0x1800      || Y || Y ||  ?        || Some bit flags, comes from syscon cmd 0x90 offset 0xE0
 
|-
 
|-
| 0x511          || N || 0x1800 || 0x1800      || Y || ?          || Unique per boot session id, Syscon shared 0xD0 session key
+
| 0x511          || N || 0x1800 || 0x1800      || Y || Y ||  ?          || Unique per boot session id, Syscon shared 0xD0 session key
 
|-
 
|-
| 0x512          || N || 0x1800 || 0x1800      || Y || ?        || Tick count? Used in Syscon encrypted communication. Set to a random value when session key is set.
+
| 0x512          || N || 0x1800 || 0x1800      || Y || Y ||  ?        || Tick count? Used in Syscon encrypted communication. Set to a random value when session key is set.
 
|-
 
|-
| 0x513          || N || 0x1800 || 0x1800      || Y || ?          || DRAM size. Set to 0x20000000 on retail, 0x40000000 on devkit.
+
| 0x513          || N || 0x1800 || 0x1800      || Y || N ||  ?          || DRAM size. Set to 0x20000000 on retail, 0x40000000 on devkit.
 
|-
 
|-
| 0x514        || N  || 0x1800 || 0x1800      || Y || ?        || F00d-cmd F01 AES-256-CMAC key. Protected on 1.05.
+
| 0x514        || N  || 0x1800 || 0x1800      || Y || N? ||  ?        || F00d-cmd F01 AES-256-CMAC key. Protected on 1.05.
 
|-
 
|-
| 0x515          || N || 0x1800 || 0x1800      || Y || ?        || F00d-cmd F01 AES-256-CBC key. Protected on 1.05.
+
| 0x515          || N || 0x1800 || 0x1800      || Y || N? ||  ?        || F00d-cmd F01 AES-256-CBC key. Protected on 1.05.
 
|-
 
|-
| 0x516          || N || 0x1800 || 0x1800      || Y || ?          || F00d-cmd F01 writes (u32)1 here when exporting the infoblk. Next time main() executes this flag is cleared.
+
| 0x516          || N || 0x1800 || 0x1800      || Y || ? ||  ?          || F00d-cmd F01 writes (u32)1 here when exporting the infoblk. Next time main() executes this flag is cleared.
 
|-
 
|-
| 0x517          || N || 0x1800 || 0x1800      || Y || ?            || When initializing the EEPROM, this is zeroed if 0x50D has bit8 clear (on 1.692).
+
| 0x517          || N || 0x1800 || 0x1800      || Y || ? ||  ?            || When initializing the EEPROM, this is zeroed if 0x50D has bit8 clear (on 1.692).
 
|-
 
|-
| 0x518          || N || 0x1800 || 0x1800      || Y || ?          || Another current FW version (3.60+?) Comes from SNVS.
+
| 0x518          || N || 0x1800 || 0x1800      || Y || N ||  ?          || Another current FW version (3.60+?) Comes from SNVS.
 
|-
 
|-
| 0x519          || N || 0x1800 || 0x1800      || Y || ?          || 00s
+
| 0x519          || N || 0x1800 || 0x1800      || Y || N ||  ?          || 00s
 
|-
 
|-
| 0x51A          || N || 0x1800 || 0x1800      || Y || ?          || Randomized 0x20 byte key unique every boot/reboot/resume used for kernel coredump encryption
+
| 0x51A          || N || 0x1800 || 0x1800      || Y || Y ||  ?          || Randomized 0x20 byte key unique every boot/reboot/resume used for kernel coredump encryption
 
|-
 
|-
| 0x51B          || N || 0x1800 || 0x1800      || Y || ?          || Some kind of model info 0x406000 on retail and 0x416000 on devkit, obtained from syscon command 5
+
| 0x51B          || N || 0x1800 || 0x1800      || Y || N ||  ?          || Some kind of model info 0x406000 on retail and 0x416000 on devkit, obtained from syscon command 5
 
|-
 
|-
| 0x51C-0x57F    || N || 0x1800 || 0x0000      || N || ?          || ?
+
| 0x51C-0x57F    || N || 0x1800 || 0x0000      || N || ? ||  ?          || ?
 
|-
 
|-
| 0x580-0x5FF    || X || 0x0000  || 0x0000      || X || ?          || Not used
+
| 0x580-0x5FF    || X || 0x0000  || 0x0000      || X || ? ||  ?          || Not used
 
|-
 
|-
| 0x600  || Y || 0x1000 || 0x1000      || Y || ?        || <code>aimgr_sm.self</code> cmd 0x3 return, VisibleId/FuseId
+
| 0x600  || Y || 0x1000 || 0x1000      || Y || Y ||  ?        || <code>aimgr_sm.self</code> cmd 0x3 return, VisibleId/FuseId
 
|-
 
|-
| 0x601  || Y || 0x1000 || 0x1000      || Y || ?        || ?
+
| 0x601  || Y || 0x1000 || 0x1000      || Y || Y ||  ?        || ?
 
|-
 
|-
| 0x602  || Y || 0x1000 || 0x1000      || Y || ?        || ?
+
| 0x602  || Y || 0x1000 || 0x1000      || Y || Y ||  ?        || ?
 
|-
 
|-
| 0x603          || Y || 0x1000 || 0x1000      || Y || ?          || ?
+
| 0x603          || Y || 0x1000 || 0x1000      || Y || N ||  ?          || ?
 
|-
 
|-
| 0x604          || Y || 0x1000 || 0x1000      || Y || ?          || ?
+
| 0x604          || Y || 0x1000 || 0x1000      || Y || N ||  ?          || ?
 
|-
 
|-
| 0x605-0x607    || Y || 0x1000 || 0x0000      || Y || ?          || ?
+
| 0x605-0x607    || Y || 0x1000 || 0x0000      || Y || ? ||  ?          || ?
 
|-
 
|-
| 0x608-0x6FF    || X || 0x0000 || 0x0000      || X || ?          || Not used
+
| 0x608-0x6FF    || X || 0x0000 || 0x0000      || X || ? ||  ?          || Not used
 
|-
 
|-
| 0x700-0x7FF    || Y || 0x1000 || 0x0000      || Y || ?          || 16 public RSA keys for enc, which one is used depends on public key revision from enc header.
+
| 0x700-0x7FF    || Y || 0x1000 || 0x0000      || Y || N ||  ?          || 16 public RSA keys for enc, which one is used depends on public key revision from enc header.
 
|}
 
|}

Navigation menu