IOCTL

From PS5 Developer wiki
Jump to navigation Jump to search

In computing, ioctl (an abbreviation of input/output control) is a system call for device-specific input/output operations and other operations which cannot be expressed by regular file semantics. It takes a parameter specifying a request code; the effect of a call depends completely on the request code. Request codes are often device-specific. For instance, a CD-ROM device driver which can instruct a physical device to eject a disc would provide an ioctl request code to do so. Device-independent request codes are sometimes used to give usermode access to kernel functions which are only used by core system software or still under development.

See also wikipedia page about IOCTL.

See also PS4 IOCTLs.

List of IOCTL by kernel device[edit | edit source]

The list of IOCTL is documented in the PS5 Devices page (to fusion).

PUP Related[edit | edit source]

0x20004407 UpdateSnvs
0x40047400 updaterGetWlanDeviceId
0xC001440F GetXtsKeyNum
0xC0104401 VerifyBlsHeader
0xC0104408 genChallenge
0xC010440E UpdateFloydFw
0xC010440C IdentifyNandController
0xC0104410 verifyResponse
0xC0184402 DecryptPupHeader
0xC0184403 VerifyPupAdditionalSign
0xC0184404 VerifyPupWatermark
0xC0184405 DecryptPupSegment
0xC018440A ReadNandGroup
0xC018440B WriteNandGroup
0xC0284406 DecryptPupSegmentBlock

TEE Related[edit | edit source]

typedef enum TEE_IOCTLS {
    TEE_IOC_VERSION=0x400cb400,
    TEE_IOC_DLM_STOP_TA_DEBUG=0x8008b40b,
    TEE_IOC_CLOSE_SESSION=0xc004b405,
    TEE_SHMEM_RELEASE=0xc004b40e,
    TEE_SET_TIMEOUT=0xc004b40f,
    TEE_IOC_CANCEL=0xc008b404,
    TEE_IOC_OPEN_SESSION=0xc010b402,
    TEE_IOC_INVOKE=0xc010b403,
    TEE_IOC_DLM_GET_DEBUG_TOKEN=0xc010b408,
    TEE_SHMEM_MAP_SETNAME=0xc020b40d, // not sure if map or if set shm name
    TEE_IOC_DLM_START_TA_DEBUG=0xc028b409,
    TEE_IOC_INIT_ASD=0xc038b40c,
    TEE_IOC_DLM_FETCH_DEBUG_STRING=0xc110b40a
} TEE_IOCTLS;

Manufacturing Mode Related[edit | edit source]

sceSblManuAuthSetManuModeInternal: 0xc0184d0a
sceSblManuAuthSetManuMode: 0xc0184d03
sceSblManuAuthUnloadSecureModule: 0x40184d02
sceSblManuAuthLoadSecureModule: 0x40184d01

Uncategorized[edit | edit source]

_sceSblDriveauthSmGetPairingNonce: 0xc028530a
_sceSblDriveauthSmGetPairingRequest: 0xc028530b
_sceSblDriveauthSmSetPairingInfo: 0xc028530c
_sceSblDriveauthSmSetHostKey: 0xc028530d
_sceSblDriveauthSmRemoveDiscKey: 0xc028530e
sceSblDriveauthGetCprmDeviceKey: 0xc0205365
sceSblDriveauthGetAacsDeviceKey: 0xc0205364
icc_fan_change_servo_pattern: 0x80018f0a
icc_fan_get_fan_manual_duty: 0xc0068f06
verifyDecryptRnpsBundle: 0xc0105203
devActInitStatus: 0x40144401
sceSblDevActGetId: 0x40184402
devActGenRequest: 0x4030440b
gc_reset: 0x8004b201
fftrm read sector: 0xc0185301
fftrm write sector: 0xc0185302
fftrm read idu flag: 0xc0185303
fftrm write idu flag: 0xc0185304