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 212: | Line 207: | ||
== 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 (AMD Secure Processor) | ||
== 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 231: | ||
== 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 261: | ||
== 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 353: | Line 334: | ||
! IOCTL # !! Name !! Notes | ! IOCTL # !! Name !! Notes | ||
|- | |- | ||
| 0x80046101 || | | 0x80046101 || ???? || Used for opening NAND and SCF FW formatting | ||
|- | |- | ||
| | | 0x80046105 || ???? || Maybe used for M.2 formatting | ||
|- | |- | ||
| | | 0x80186111 || BFS_A53IO_READ_DEVICE? || - | ||
|- | |- | ||
| | | 0x80404702 || ???? || - | ||
|- | |- | ||
| 0xC03861A1 || BFS_A53IO_READ_BLOCK || - | | 0xC03861A1 || BFS_A53IO_READ_BLOCK || - | ||
|- | |- | ||
| 0xC03861A2 | | 0xC03861A2 || ???? || Seems multifunctional | ||
|} | |} | ||
== Backup and Restore == | == Backup and Restore == | ||
Backup and Restore (BAR) is used by shellcore via /dev/bar. Below are known commands. | |||
Backup and Restore (BAR) is used by | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 406: | Line 372: | ||
== Disc UID == | == Disc UID == | ||
Disc UID (/dev/duid) has its own library (libSceDiscId). It's unknown what this is used for at present. It has 2 known ioctls. | |||
Disc UID (/dev/duid) has its own library (libSceDiscId). It's unknown what this is used for at present. It has | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 419: | Line 384: | ||
== Dynamic Library Debug == | == Dynamic Library Debug == | ||
Dynamic Lib Debug (/dev/dldbg) is used by the library for debugging syscore. Given the name, it's likely used for debugging sprx libs. Below are known commands. | Dynamic Lib Debug (/dev/dldbg) is used by the library for debugging syscore. Given the name, it's likely used for debugging sprx libs. Below are known commands. | ||
Line 435: | Line 399: | ||
== FTTRM == | == FTTRM == | ||
FTTRM's full purpose is unknown, but it's likely DRM-related. It's used by the Bluray app (BdmvPlayerCore, BdvdPlayerCore, UHDBdPlayerCore) via /dev/fttrm. There are only 2 known commands. | |||
FTTRM's full purpose is unknown, but it | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 448: | Line 411: | ||
== ICC Floyd (TPM) == | == ICC Floyd (TPM) == | ||
The /dev/icc_floyd is for interacting with the floyd Trusted Platform Module (TPM) over ICC. It only has one known command. | The /dev/icc_floyd is for interacting with the floyd Trusted Platform Module (TPM) over ICC. It only has one known command. | ||
Line 462: | Line 424: | ||
== Manufacturer Authorization == | == Manufacturer Authorization == | ||
The /dev/manuauth device seems to be for manufacturer authorization or authentication. It's used in various updaters. Below are known commands. | |||
The /dev/manuauth device seems to be for manufacturer authorization or authentication. It | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 474: | Line 435: | ||
|- | |- | ||
| 0xC0184D03 || MANUAUTH_SET_MANU_MODE || Sets manufacturer mode | | 0xC0184D03 || MANUAUTH_SET_MANU_MODE || Sets manufacturer mode | ||
| | | | ||
|} | |} | ||
== Namespace Filesystem Control == | == Namespace Filesystem Control == | ||
The Namespace Filesystem (NSFS) is used by Virtual Shell (Vsh) and shellcore. It's critical to processes running on the system. Below are known commands. | |||
The Namespace Filesystem (NSFS) is used by Virtual Shell (Vsh) and | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 497: | Line 457: | ||
== PFS Control == | == PFS Control == | ||
Playstation Filesystem (PFS) Control and /dev/pfsctldev is used internally for VSH. Below are known commands. | |||
Playstation | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 528: | Line 487: | ||
== PFS Manager == | == PFS Manager == | ||
PFS Manager (/dev/pfsmgr) is used by shellcore. It handles trophy related tasks, savedata, and keystone verification. Below are known commands. | |||
PFS Manager (/dev/pfsmgr) is used by | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 556: | Line 514: | ||
|- | |- | ||
| 0xC0A84B02 || PFSMGR_VERIFY_KEYSTONE || - | | 0xC0A84B02 || PFSMGR_VERIFY_KEYSTONE || - | ||
|} | |} | ||
== Root Param == | == Root Param == | ||
Root Param is used by shellcore to verify root param sfos (for PS4) or jsons (for PS5, aka PPR for ProsPeRo). Below are known commands. | |||
Root Param is used by | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 613: | Line 531: | ||
== CAM Transport Layer == | == CAM Transport Layer == | ||
CAM (Common Access Method) storage subsystem provides a method for implementing drivers to control various known storage devices. | CAM (Common Access Method) storage subsystem provides a method for implementing drivers to control various known storage devices. | ||
Attaches any devices it finds to the appropriate drivers. | Attaches any devices it finds to the appropriate drivers. | ||
Line 626: | Line 543: | ||
|} | |} | ||
== Wireless LAN | == Wireless LAN + Bluetooth == | ||
WLAN and Bluetooth functionality is reachable via /dev/wlanbt. Below are known commands. | WLAN and Bluetooth functionality is reachable via /dev/wlanbt. Below are known commands. | ||