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: | ||
== 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" | ||
|- | |- | ||
! | ! Path !! Device Name !! Notes | ||
|- | |- | ||
| | | /dev/a53{io,mm,mmsys} || A53 Input/Output, Memory Management (sys) || See MP4 section | ||
|- | |- | ||
| | | /dev/ajm{i} || Audio Job Manager || - | ||
|- | |- | ||
| | | /dev/auditpipe || - || - | ||
|- | |- | ||
| | | /dev/authmgr || - || - | ||
|- | |- | ||
| | | /dev/az{1,ctl} || - || - | ||
|- | |- | ||
| | | /dev/bar || - || - | ||
|- | |- | ||
| | | /dev/bfs/ctl || - || - | ||
|- | |- | ||
| | | /dev/bluetooth_hid || - || - | ||
|- | |- | ||
| | | /dev/bt || - || - | ||
|- | |- | ||
| | | /dev/camera || Camera || - | ||
|- | |- | ||
| | | /dev/cloudsd || - || - | ||
|- | |- | ||
| | | /dev/console || Console || Usermode logging | ||
|- | |- | ||
| | | /dev/crepo || - || - | ||
|- | |- | ||
| | | /dev/ctrlp{_sync} || - || - | ||
|- | |- | ||
| | | /dev/dbggc{_control} || Debug GPU? || - | ||
|- | |- | ||
| | | /dev/deci_coredump || Debug Com. Interface (DECI) coredump || - | ||
|- | |- | ||
| | | /dev/deci_mp4_ioc || DECI I/O Control? || - | ||
|- | |- | ||
| | | /dev/deci_mp4_mmc || - || - | ||
|- | |- | ||
| | | /dev/deci_std{in,out,err} || DECI Input/Output/Error || - | ||
|- | |- | ||
| | | /dev/deci_tty* || DECI Terminals || - | ||
|- | |- | ||
| | | /dev/devctl || - || - | ||
|- | |- | ||
| | | /dev/diag || - || - | ||
|- | |- | ||
| | | /dev/dipsw || Dip Switch || - | ||
|- | |- | ||
| | | /dev/dldbg || - || - | ||
|- | |- | ||
| | | /dev/dmem{0,1,2} || - || - | ||
|- | |- | ||
| | | /dev/dngl || - || - | ||
|- | |- | ||
| | | /dev/duid || - || - | ||
|- | |- | ||
| | | /dev/encdec || EncDec || - | ||
|- | |- | ||
| | | /dev/envelope || - || - | ||
|- | |- | ||
| | | /dev/evlg{0,1} || - || - | ||
|- | |- | ||
| | | /dev/exthdd || External HDD || - | ||
|- | |- | ||
| | | /dev/fcram || - || - | ||
|- | |- | ||
| | | /dev/fsctrl || - || - | ||
|- | |- | ||
| | | /dev/fttrm || - || - | ||
|- | |- | ||
| | | /dev/gbase || - || - | ||
|- | |- | ||
| | | /dev/gc || GPU command || - | ||
|- | |- | ||
| | | /dev/geom.ctl || - || - | ||
|- | |- | ||
| | | /dev/gic || - || - | ||
|- | |- | ||
| | | /dev/gsched_bds.ctl || - || - | ||
|- | |- | ||
| | | /dev/hdmi || HDMI || - | ||
|- | |- | ||
| | | /dev/hid || - || - | ||
|- | |- | ||
| | | /dev/hmd2_* || VR 2? || - | ||
|- | |- | ||
| | | /dev/hmd_* || VR || - | ||
|- | |- | ||
| | | /dev/iccnvs{0,1,2,4,6} || - || - | ||
|- | |- | ||
| | | /dev/icc_configuration || ICC Config || - | ||
|- | |- | ||
| | | /dev/icc_crash_report || ICC Crash Report || - | ||
|- | |- | ||
| | | /dev/icc_device_power || ICC Device Power || - | ||
|- | |- | ||
| | | /dev/icc_fan || ICC Fan || - | ||
|- | |- | ||
| | | /dev/icc_floyd || ICC TPM? || - | ||
|- | |- | ||
| | | /dev/icc_indicator || ICC LED || - | ||
|- | |- | ||
| | | /dev/icc_nvs || ICC NVS || - | ||
|- | |- | ||
| | | /dev/icc_power || ICC Power || - | ||
|- | |- | ||
| | | /dev/icc_sc_config || ICC Syscon? Config || - | ||
|- | |- | ||
| | | /dev/icc_thermal || ICC Thermal || - | ||
|- | |- | ||
| | | /dev/klog || Kernel Log || Read syscall on this device can be used to get kernel log if privileged | ||
|- | |- | ||
| | | /dev/kmbp || - || - | ||
|- | |- | ||
| | | /dev/lvdctl || - || - | ||
|- | |- | ||
| | | /dev/lvd{0,1} || - || - | ||
|- | |- | ||
| | | /dev/m2.ctl || m.2 NVMe Control? || - | ||
|- | |- | ||
| | | /dev/mbus || Event bus || - | ||
|- | |- | ||
| | | /dev/mbus_av || Event bus (audio video?) || - | ||
|- | |- | ||
| | | /dev/md0 || - || - | ||
|- | |- | ||
| | | /dev/md2 || - || - | ||
|- | |- | ||
| | | /dev/mdctl || - || - | ||
|- | |- | ||
| | | /dev/metadbg || - || - | ||
|- | |- | ||
| | | /dev/mp1 || System Management Unit (SMU) || Power management, thermals, etc. (see mp1 section) | ||
|- | |- | ||
| | | /dev/mp3 || Trusted Execution Environment (TEE) || See mp3 section | ||
|- | |- | ||
| | | /dev/mp4/dump{_for_decid} || A53 (mdbg?) || See mp4 section | ||
|- | |- | ||
| | | /dev/notification{0-9} || Notification || - | ||
|- | |- | ||
| | | /dev/npdrm || - || - | ||
|- | |- | ||
| | | /dev/nsfsctl || - || - | ||
|- | |- | ||
| | | /dev/nsid1.ctl || - || - | ||
|- | |- | ||
| | | /dev/otpaccess || One-Time Programmable Access? || - | ||
|- | |- | ||
| | | /dev/pfsctldev || - || - | ||
|- | |- | ||
| | | /dev/pfsmgr || - || - | ||
|- | |- | ||
| | | /dev/playgo_emu_param{1,2,3} || PlayGo emulator params || - | ||
|- | |- | ||
| | | /dev/pltauth{0,1} || - || - | ||
|- | |- | ||
| | | /dev/pup_update0 || PUP Update || - | ||
|- | |- | ||
| | | /dev/qafutkn || QA flag / utoken || - | ||
|- | |- | ||
| | | /dev/rnps || React Native PS || PSN related | ||
|- | |- | ||
| | | /dev/rootparam || - || - | ||
|- | |- | ||
| | | /dev/s3da || 3D Audio || - | ||
|- | |- | ||
| | | /dev/sbl_secreg || - || - | ||
|- | |- | ||
| | | /dev/sbl_srv || - || - | ||
|- | |- | ||
| | | /dev/scanin || - || - | ||
|- | |- | ||
| | | /dev/sce_zlib{_sys} || zlib || zlib (de)compression | ||
|- | |- | ||
| | | /dev/sc_fw_update0 || (syscon?) firmware update || - | ||
|- | |- | ||
| | | /dev/sflash0 || SPI flash || 2MB. Has EMC firmware and (non-secure) NVS. | ||
|- | |- | ||
| srtc || | | /dev/srtc || - || - | ||
|- | |- | ||
| ssd0.* || | | /dev/ssd0.* || Internal SSD partitions || - | ||
|- | |- | ||
| sshot || Screenshot || - | | /dev/sshot || Screenshot || - | ||
|- | |- | ||
| transactionid.ctl || | | /dev/transactionid.ctl || - || - | ||
|- | |- | ||
| ufssuspend || | | /dev/ufssuspend || - || - | ||
|- | |- | ||
| usbctl || USB | | /dev/usbctl || USB control || - | ||
|- | |- | ||
| uvd_{dec/enc/bgt} || | | /dev/uvd_{dec/enc/bgt} || Unified Video Decoder? || - | ||
|- | |- | ||
| wlanbt || | | /dev/wlanbt || - || - | ||
|- | |- | ||
| | | /dev/xtp0 || - || - | ||
|} | |} | ||
== 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 258: | Line 218: | ||
| 0xC00CAE1E || MP1_IOCTL_GET_COREPSTATE || Get core power state? | | 0xC00CAE1E || MP1_IOCTL_GET_COREPSTATE || Get core power state? | ||
|} | |} | ||
== 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 303: | Line 246: | ||
== 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. | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! IOCTL # !! Name !! Notes | ! IOCTL # !! Name !! Notes | ||
|- | |- | ||
| 0xC03861A1 || BFS_A53IO_READ_BLOCK || - | | 0xC03861A1 || BFS_A53IO_READ_BLOCK || - | ||
Line 393: | Line 256: | ||
| 0xC03861A2 || BFS_A53IO_WRITE_BLOCK || - | | 0xC03861A2 || BFS_A53IO_WRITE_BLOCK || - | ||
|- | |- | ||
| | | 0xC038AC06 || IOC_A53MM_GET_PARAM || - | ||
|} | |} |