Editing Devices
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 1: | Line 1: | ||
Note for ioctls: * indicates name is assumed from RE and may not be accurate. | Note for ioctls: * indicates name is assumed from RE and may not be accurate. | ||
== Device Listing == | == Device Listing == | ||
Note: only unique devices are listed. Benign devices like /dev/null are omitted for brevity's sake. | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 19: | Line 14: | ||
| /dev/auditpipe || - || - | | /dev/auditpipe || - || - | ||
|- | |- | ||
| /dev/authmgr || | | /dev/authmgr || - || - | ||
|- | |- | ||
| /dev/az{1,ctl} || - || | | /dev/az{1,ctl} || - || - | ||
|- | |- | ||
| /dev/bar || | | /dev/bar || - || - | ||
|- | |- | ||
| /dev/bfs/ctl || - || - | | /dev/bfs/ctl || - || - | ||
Line 33: | Line 28: | ||
| /dev/camera || Camera || - | | /dev/camera || Camera || - | ||
|- | |- | ||
| /dev/cloudsd || | | /dev/cloudsd || - || - | ||
|- | |- | ||
| /dev/console || Console || Usermode logging | | /dev/console || Console || Usermode logging | ||
|- | |- | ||
| /dev/crepo || | | /dev/crepo || - || - | ||
|- | |- | ||
| /dev/ctrlp{_sync} || - || | | /dev/ctrlp{_sync} || - || - | ||
|- | |- | ||
| /dev/dbggc{_control} || Debug GPU? || - | | /dev/dbggc{_control} || Debug GPU? || - | ||
Line 59: | Line 54: | ||
| /dev/dipsw || Dip Switch || - | | /dev/dipsw || Dip Switch || - | ||
|- | |- | ||
| /dev/dldbg || | | /dev/dldbg || - || - | ||
|- | |- | ||
| /dev/dmem{0,1,2} || - || - | | /dev/dmem{0,1,2} || - || - | ||
Line 65: | Line 60: | ||
| /dev/dngl || - || - | | /dev/dngl || - || - | ||
|- | |- | ||
| /dev/duid || | | /dev/duid || - || - | ||
|- | |- | ||
| /dev/encdec || EncDec || - | | /dev/encdec || EncDec || - | ||
|- | |- | ||
| /dev/envelope || | | /dev/envelope || - || - | ||
|- | |- | ||
| /dev/evlg{0,1} || | | /dev/evlg{0,1} || - || - | ||
|- | |- | ||
| /dev/exthdd || External HDD || - | | /dev/exthdd || External HDD || - | ||
Line 79: | Line 74: | ||
| /dev/fsctrl || - || - | | /dev/fsctrl || - || - | ||
|- | |- | ||
| /dev/fttrm || - || | | /dev/fttrm || - || - | ||
|- | |- | ||
| /dev/gbase || - || - | | /dev/gbase || - || - | ||
Line 99: | Line 94: | ||
| /dev/hmd_* || VR || - | | /dev/hmd_* || VR || - | ||
|- | |- | ||
| /dev/iccnvs{0,1,2,4,6} || | | /dev/iccnvs{0,1,2,4,6} || - || - | ||
|- | |- | ||
| /dev/icc_configuration || ICC Config || - | | /dev/icc_configuration || ICC Config || - | ||
Line 109: | Line 104: | ||
| /dev/icc_fan || ICC Fan || - | | /dev/icc_fan || ICC Fan || - | ||
|- | |- | ||
| /dev/icc_floyd || ICC TPM? || | | /dev/icc_floyd || ICC TPM? || - | ||
|- | |- | ||
| /dev/icc_indicator || ICC LED || - | | /dev/icc_indicator || ICC LED || - | ||
Line 125: | Line 120: | ||
| /dev/kmbp || - || - | | /dev/kmbp || - || - | ||
|- | |- | ||
| /dev/lvdctl || | | /dev/lvdctl || - || - | ||
|- | |- | ||
| /dev/lvd{0,1} || | | /dev/lvd{0,1} || - || - | ||
|- | |- | ||
| /dev/m2.ctl || m.2 NVMe Control? || - | | /dev/m2.ctl || m.2 NVMe Control? || - | ||
|- | |- | ||
| /dev/mbus || Event bus || - | | /dev/mbus || Event bus || - | ||
Line 137: | Line 130: | ||
| /dev/mbus_av || Event bus (audio video?) || - | | /dev/mbus_av || Event bus (audio video?) || - | ||
|- | |- | ||
| /dev/md0 || | | /dev/md0 || - || - | ||
|- | |- | ||
| /dev/md2 || - || - | | /dev/md2 || - || - | ||
Line 153: | Line 146: | ||
| /dev/notification{0-9} || Notification || - | | /dev/notification{0-9} || Notification || - | ||
|- | |- | ||
| /dev/npdrm || | | /dev/npdrm || - || - | ||
|- | |- | ||
| /dev/nsfsctl || | | /dev/nsfsctl || - || - | ||
|- | |- | ||
| /dev/nsid1.ctl || - || - | | /dev/nsid1.ctl || - || - | ||
Line 161: | Line 154: | ||
| /dev/otpaccess || One-Time Programmable Access? || - | | /dev/otpaccess || One-Time Programmable Access? || - | ||
|- | |- | ||
| /dev/pfsctldev || | | /dev/pfsctldev || - || - | ||
|- | |- | ||
| /dev/pfsmgr || | | /dev/pfsmgr || - || - | ||
|- | |- | ||
| /dev/playgo_emu_param{1,2,3} || PlayGo emulator params || - | | /dev/playgo_emu_param{1,2,3} || PlayGo emulator params || - | ||
|- | |- | ||
| /dev/pltauth{0,1} || | | /dev/pltauth{0,1} || - || - | ||
|- | |- | ||
| /dev/pup_update0 || PUP Update || - | | /dev/pup_update0 || PUP Update || - | ||
|- | |- | ||
| /dev/qafutkn || QA flag / | | /dev/qafutkn || QA flag / utoken || - | ||
|- | |- | ||
| /dev/rnps || React Native PS || PSN related | | /dev/rnps || React Native PS || PSN related | ||
|- | |- | ||
| /dev/rootparam || | | /dev/rootparam || - || - | ||
|- | |- | ||
| /dev/s3da || 3D Audio || - | | /dev/s3da || 3D Audio || - | ||
|- | |- | ||
| /dev/sbl_secreg || | | /dev/sbl_secreg || - || - | ||
|- | |- | ||
| /dev/sbl_srv || | | /dev/sbl_srv || - || - | ||
|- | |- | ||
| /dev/scanin || - || - | | /dev/scanin || - || - | ||
Line 191: | Line 184: | ||
| /dev/sflash0 || SPI flash || 2MB. Has EMC firmware and (non-secure) NVS. | | /dev/sflash0 || SPI flash || 2MB. Has EMC firmware and (non-secure) NVS. | ||
|- | |- | ||
| /dev/srtc || | | /dev/srtc || - || - | ||
|- | |- | ||
| /dev/ssd0.* || Internal SSD partitions || - | | /dev/ssd0.* || Internal SSD partitions || - | ||
Line 205: | Line 198: | ||
| /dev/uvd_{dec/enc/bgt} || Unified Video Decoder? || - | | /dev/uvd_{dec/enc/bgt} || Unified Video Decoder? || - | ||
|- | |- | ||
| /dev/wlanbt || | | /dev/wlanbt || - || - | ||
|- | |- | ||
| /dev/ | | /dev/xtp0 || - || - | ||
|} | |} | ||
== Platform Security Processor Core (PSP) (MP0) == | == Platform Security Processor Core (PSP) (MP0) == | ||
* All the fun things are here | |||
* All the fun things | * Named SMU PSP as well | ||
* Named | * Named ASP as well | ||
== System Management Unit (SMU) (MP1) == | == System Management Unit (SMU) (MP1) == | ||
MP1 (System Management Unit or "SMU") is an xtensa CPU responsible for power management, clock management, sampling sensor data, and other power/thermal-related tasks. The /dev/mp1 device can be used to issue commands to it. Below are known commands. | MP1 (System Management Unit or "SMU") is an xtensa CPU responsible for power management, clock management, sampling sensor data, and other power/thermal-related tasks. The /dev/mp1 device can be used to issue commands to it. Below are known commands. | ||
Line 237: | Line 229: | ||
== Sensor Fusion Processor (SFP) (MP2) == | == Sensor Fusion Processor (SFP) (MP2) == | ||
* | * doesn't exist on ps5 | ||
* mainly for mobiles | |||
== Trusted Execution Environment (TEE) (MP3) == | == Trusted Execution Environment (TEE) (MP3) == | ||
MP3 consists of the Trusted Execution Environment (TEE) running on the AMD Platform Security Processor (PSP/SP). Its primary function is Digital Rights Management (DRM) via [https://www.microsoft.com/playready/features/EnhancedContentProtection.aspx PlayReady SL3000]. In userspace, the libSceTEEClient library is used for interfacing with it, which internally uses /dev/mp3 to load secure binaries (sbins) and establish sessions. Below are known commands. | |||
MP3 consists of the Trusted Execution Environment (TEE) running on the | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! IOCTL # !! Name !! Notes | ! IOCTL # !! Name !! Notes | ||
|- | |- | ||
| 0xC010B403 || TEE_IOC_INVOKE || Invoke commands | | 0xC010B403 || TEE_IOC_INVOKE || Invoke commands | ||
|- | |- | ||
| 0xC010B408 || TEE_IOC_DLM_GET_DEBUG_TOKEN || - | | 0xC010B408 || TEE_IOC_DLM_GET_DEBUG_TOKEN || - | ||
Line 279: | Line 259: | ||
== A53MM/A53IO (MP4) == | == A53MM/A53IO (MP4) == | ||
MP4, which consists of /dev/a53mm, /dev/a53mmsys, and /dev/a53io, is used for various tasks, and its overall purpose is not fully understood. Some of the things it includes are debugging (mdbg), video encode/decode, and other various memory-management related things. Below are known commands. | MP4, which consists of /dev/a53mm, /dev/a53mmsys, and /dev/a53io, is used for various tasks, and its overall purpose is not fully understood. Some of the things it includes are debugging (mdbg), video encode/decode, and other various memory-management related things. Below are known commands. | ||
Line 309: | Line 288: | ||
| 0xC004AC0D || A53MM_WAIT_COMMAND_BUFFER_COMPLETION || - | | 0xC004AC0D || A53MM_WAIT_COMMAND_BUFFER_COMPLETION || - | ||
|- | |- | ||
| 0xC018AC0E || | | 0xC018AC0E || - || - | ||
|- | |- | ||
| 0xC018AC0F || - || - | | 0xC018AC0F || - || - | ||
|- | |- | ||
| 0xC018AC10 || | | 0xC018AC10 || A53MM_VA_TO_IOMA * || - | ||
|- | |- | ||
| 0xC004AC11 || | | 0xC004AC11 || A53MM_PAGE_TABLE_POOL_OCCUPANCY_THRESHOLD || - | ||
|- | |- | ||
| 0xC018AC12 || | | 0xC018AC12 || - || - | ||
|- | |- | ||
| 0xC004AC13 || - || - | | 0xC004AC13 || - || - | ||
Line 327: | Line 306: | ||
! IOCTL # !! Name !! Notes | ! IOCTL # !! Name !! Notes | ||
|- | |- | ||
| 0xc020b501 || | | 0xc020b501 || - || - | ||
|- | |- | ||
| 0xc028b502 || - || - | | 0xc028b502 || - || - | ||
Line 352: | Line 331: | ||
|- | |- | ||
! IOCTL # !! Name !! Notes | ! IOCTL # !! Name !! Notes | ||
|- | |- | ||
| 0xC03861A1 || BFS_A53IO_READ_BLOCK || - | | 0xC03861A1 || BFS_A53IO_READ_BLOCK || - | ||
|- | |- | ||
| 0xC03861A2 || BFS_A53IO_WRITE_BLOCK || - | | 0xC03861A2 || BFS_A53IO_WRITE_BLOCK || - | ||
|} | |} |