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 3: | Line 3: | ||
On PS4, there are 2 Non Volatile Storages, one in the [[Serial Flash]] and one in the [[Syscon]] EEPROM. On PS3, NVS is stored in Serial Flash (NAND or NOR) whilst on PS Vita, NVS is part of Syscon EEPROM. On PS Vita and PS4, there is also the Secure NVS (SNVS), which is a secure area of the Syscon NVS. PS4 SNVS is encrypted with some SAMU keys and can be accessed only after doing a handshake. | On PS4, there are 2 Non Volatile Storages, one in the [[Serial Flash]] and one in the [[Syscon]] EEPROM. On PS3, NVS is stored in Serial Flash (NAND or NOR) whilst on PS Vita, NVS is part of Syscon EEPROM. On PS Vita and PS4, there is also the Secure NVS (SNVS), which is a secure area of the Syscon NVS. PS4 SNVS is encrypted with some SAMU keys and can be accessed only after doing a handshake. | ||
= Syscon NVS = | |||
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 21: | ||
== 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 27: | ||
! 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 50: | ||
! 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 116: | ||
| 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 194: | ||
| 0 || 0 || 0x15C0 || 0x18 || Unknown | | 0 || 0 || 0x15C0 || 0x18 || Unknown | ||
|- | |- | ||
| 0 || 0 || 0x2000 || 0x8 || Unknown | | 0 || 0 || 0x2000 || 0x8 || Unknown | ||
|} | |} | ||
Line 359: | Line 349: | ||
| 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 437: | Line 425: | ||
| 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 || 0x1602 || 0x1 || SCE_REGMGR_ENT_KEY_SYSTEM_SPECIFIC_show_mode (0x01 | | 0 || 4 || 0x1602 || 0x1 || SCE_REGMGR_ENT_KEY_SYSTEM_SPECIFIC_show_mode (0x01 Enabled, 0x00 Disabled) (TestKit only) | ||
|- | |- | ||
| 0 || 4 || 0x1603 || 0x1 || SCE_REGMGR_ENT_KEY_REGISTRY_recover | | 0 || 4 || 0x1603 || 0x1 || SCE_REGMGR_ENT_KEY_REGISTRY_recover | ||
|- | |- | ||
| 0 || 4 || 0x1604 || 0x4 || SCE_REGMGR_ENT_KEY_SYSTEM_soft_version | | 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 | ||
|} | |} |