Editing Non Volatile Storage
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 7: | Line 7: | ||
= Syscon NVS = | = Syscon NVS = | ||
See [[Syscon | See [[Syscon]]. | ||
https://fail0verflow.com/blog/2018/ps4-syscon/ | |||
Syscon NVS is accessible from [[EMC]] but only after doing the handshake to unlock EMC functionalities. | |||
Syscon NVS contains the Secure NVS which is encrypted. | |||
= Serial Flash NVS = | = Serial Flash NVS = | ||
Line 17: | Line 23: | ||
== Serial Flash NVS Banks == | == Serial Flash NVS Banks == | ||
A total of 7 NVS blocks are separated into 2 banks: main bank and backup bank. The kernel makes use only of the bank 0 block 4 and the bank 1 block 1, even though it is allowed to read/write the other 5 banks. Indeed, <code>/dev/sflash0s0x34</code> access is provided to System applications and to Kernel. [[EMC]] is also able to access Serial Flash NVS through ICC | A total of 7 NVS blocks are separated into 2 banks: main bank and backup bank. The kernel makes use only of the bank 0 block 4 and the bank 1 block 1, even though it is allowed to read/write the other 5 banks. Indeed, <code>/dev/sflash0s0x34</code> access is provided to System applications and to Kernel. [[EMC]] is also certainly able to access Serial Flash NVS through ICC. | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 23: | Line 29: | ||
! Bank Index !! Block Index !! Offset in /dev/sflash0s0x34 !! Size !! Notes | ! Bank Index !! Block Index !! Offset in /dev/sflash0s0x34 !! Size !! Notes | ||
|- | |- | ||
| 0 || 0 || 0 || 0x3000 || emc region | | 0 || 0 || 0 || 0x3000 || emc region | ||
|- | |- | ||
| 0 || 1 || 0x3000 || 0x1000 || pd region | | 0 || 1 || 0x3000 || 0x1000 || pd region | ||
Line 46: | Line 52: | ||
! Bank Index !! Block Index !! Offset in /dev/iccnvs<block> !! Size !! Notes | ! Bank Index !! Block Index !! Offset in /dev/iccnvs<block> !! Size !! Notes | ||
|- | |- | ||
| 0 || 0 || 0 || 0x8 || | | 0 || 0 || 0 || 0x8 || Platform ID (e.g 04 01 01 01 01 01 04 01) | ||
|- | |- | ||
| 0 || 0 || 0x21 || 0x6 || Ethernet | | 0 || 0 || 0x21 || 0x6 || Ethernet MAC Address #1 (e.g BC 60 A7 28 83 66) | ||
|- | |- | ||
| 0 || 0 || 0x27 || 0x6 || Ethernet | | 0 || 0 || 0x27 || 0x6 || Ethernet MAC Address #2 (e.g BC 60 A7 28 83 67) | ||
|- | |- | ||
| 0 || 0 || 0x4E || 0x2 || Unknown (e.g 25 16) | | 0 || 0 || 0x4E || 0x2 || Unknown (e.g 25 16) | ||
Line 112: | Line 118: | ||
| 0 || 0 || 0x100C || 0x4 || eap wakeup source beep (Possible Values 00 00 00 04) or (anything between 00 00 00 00 and FF 03 00 00) | | 0 || 0 || 0x100C || 0x4 || eap wakeup source beep (Possible Values 00 00 00 04) or (anything between 00 00 00 00 and FF 03 00 00) | ||
|- | |- | ||
| 0 || 0 || 0x1030 || 0x4 || NumberOfBootShutdown | | 0 || 0 || 0x1030 || 0x4 || NumberOfBootShutdown | ||
|- | |- | ||
| 0 || 0 || 0x1034 || 0x4 || NumberOfBootShutdown | | 0 || 0 || 0x1034 || 0x4 || NumberOfBootShutdown as well | ||
|- | |- | ||
| 0 || 0 || 0x1038 || 0x8 || dbi_time | | 0 || 0 || 0x1038 || 0x8 || dbi_time | ||
|- | |- | ||
| 0 || 0 || 0x1040 || 0x4 || NumberOfBootShutdown | | 0 || 0 || 0x1040 || 0x4 || NumberOfBootShutdown as well | ||
|- | |- | ||
| 0 || 0 || 0x1044 || 0x4 || NumberOfBootShutdown | | 0 || 0 || 0x1044 || 0x4 || NumberOfBootShutdown as well | ||
|- | |- | ||
| 0 || 0 || 0x1048 || 0x8 || dbi_time | | 0 || 0 || 0x1048 || 0x8 || dbi_time as well | ||
|- | |- | ||
| 0 || 0 || 0x1050 || 0x4 || | | 0 || 0 || 0x1050 || 0x4 || NumberOfBootShutdown as well | ||
|- | |- | ||
| 0 || 0 || 0x1054 || 0x4 || | | 0 || 0 || 0x1054 || 0x4 || NumberOfBootShutdown as well | ||
|- | |- | ||
| 0 || 0 || 0x1058 || 0x8 || dbi_time | | 0 || 0 || 0x1058 || 0x8 || dbi_time as well | ||
|- | |- | ||
| 0 || 0 || 0x1220 || 0x18 || Unknown | | 0 || 0 || 0x1220 || 0x18 || Unknown | ||
Line 190: | Line 196: | ||
| 0 || 0 || 0x15C0 || 0x18 || Unknown | | 0 || 0 || 0x15C0 || 0x18 || Unknown | ||
|- | |- | ||
| 0 || 0 || 0x2000 || 0x8 || Unknown | | 0 || 0 || 0x2000 || 0x8 || Unknown | ||
|} | |} | ||
Line 318: | Line 310: | ||
| 0 || 4 || 0x7C || 0x4 || manu_mode related (SDK version?) | | 0 || 4 || 0x7C || 0x4 || manu_mode related (SDK version?) | ||
|- | |- | ||
| 0 || 4 || 0x80 || 0x68 | | 0 || 4 || 0x80 || varies (0x68-0x6C) || [[Activation ACF]] token <- checked by sceSblDevActVerifyCheckExpire | ||
|- | |- | ||
| 0 || 4 || 0x100 || 0xF0 || sce_cam_error_put | | 0 || 4 || 0x100 || 0xF0 || sce_cam_error_put | ||
Line 359: | Line 351: | ||
| 1 || 0 || 0x0 || 0x2000 || Equivalent (active/inactive bank) of NVS area 0x5000-0x6FFF (part of OSAREA). First 0x1000 bytes are usually a 1:1 copy but the rest depends on Registry Settings. | | 1 || 0 || 0x0 || 0x2000 || Equivalent (active/inactive bank) of NVS area 0x5000-0x6FFF (part of OSAREA). First 0x1000 bytes are usually a 1:1 copy but the rest depends on Registry Settings. | ||
|- | |- | ||
| 1 || 0 || 0x2000 || 0x1000 || Equivalent (active/inactive bank) of NVS area 0x1000-0x1FFF (part of EMCAREA). | | 1 || 0 || 0x2000 || 0x1000 || Equivalent (active/inactive bank) of NVS area 0x1000-0x1FFF (part of EMCAREA). | ||
|} | |} | ||
Line 411: | Line 401: | ||
| 0 || 4 || 0x150 || 0x290 || qafutkn_ioctl? | | 0 || 4 || 0x150 || 0x290 || qafutkn_ioctl? | ||
|- | |- | ||
| 0 || 4 || 0x900 || 0x100 || [[Activation ACF]] RSA | | 0 || 4 || 0x900 || 0x100 || [[Activation ACF]] RSA signature | ||
|} | |} | ||
Line 437: | Line 427: | ||
| 0 || 4 || 0x1600 || 0x1 || SCE_REGMGR_ENT_KEY_SYSTEM_SPECIFIC_idu_mode (0x01 enabled, 0x00 or 0xFF disabled) | | 0 || 4 || 0x1600 || 0x1 || SCE_REGMGR_ENT_KEY_SYSTEM_SPECIFIC_idu_mode (0x01 enabled, 0x00 or 0xFF disabled) | ||
|- | |- | ||
| 0 || 4 || 0x1601 || 0X1 || SCE_REGMGR_ENT_KEY_SYSTEM_update_mode (0xFF or 0x00 disabled | | 0 || 4 || 0x1601 || 0X1 || SCE_REGMGR_ENT_KEY_SYSTEM_update_mode (0xFF or 0x00 disabled) (0x10, 0x20, 0x30, 0x31, 0x32, 0x50 enabled) | ||
|- | |- | ||
| 0 || 4 || | | 0 || 4 || 0x1602 || 0x1 || SCE_REGMGR_ENT_KEY_SYSTEM_SPECIFIC_show_mode (0x01 Enabled, 0x00 Disabled) (TestKit only) | ||
|- | |- | ||
| 0 || 4 || | | 0 || 4 || 0x1603 || 0x1 || SCE_REGMGR_ENT_KEY_REGISTRY_recover | ||
|- | |- | ||
| 0 || 4 || | | 0 || 4 || 0x1604 || 0x4 || SCE_REGMGR_ENT_KEY_SYSTEM_soft_version (deprecated) (DevKit only?) | ||
|- | |- | ||
| 0 || 4 || 0x1609 || 0x1 || SCE_REGMGR_ENT_KEY_SYSTEM_SPECIFIC_arcade_mode | | 0 || 4 || 0x1609 || 0x1 || SCE_REGMGR_ENT_KEY_SYSTEM_SPECIFIC_arcade_mode | ||
|} | |} |