Difference between revisions of "SceSblSmschedProxy"
CelesteBlue (talk | contribs) |
|||
(34 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Module == | == Module == | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Version | + | ! Version !! World !! Privilege |
− | |||
− | |||
|- | |- | ||
− | | 3.60 | + | | 0.931-3.60 || Non-secure || Kernel |
|} | |} | ||
Line 19: | Line 16: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
− | | | + | | 0.931-3.60 || [[SceSblSmschedProxy#SceSblSmSchedProxyForKernel|SceSblSmSchedProxyForKernel]] || Non-secure || Kernel || 0x15F25C84 |
− | |||
− | |||
|} | |} | ||
Line 27: | Line 22: | ||
<source lang="C"> | <source lang="C"> | ||
− | + | typedef SceUInt32 SceSmSchedRequestId; | |
− | typedef | ||
#define CRY_INTERRUPT_INDEX0 0 | #define CRY_INTERRUPT_INDEX0 0 | ||
Line 35: | Line 29: | ||
#define CRY_INTERRUPT_INDEX3 3 | #define CRY_INTERRUPT_INDEX3 3 | ||
− | #define | + | #define MAILBOX_ID1 1 |
− | #define | + | #define MAILBOX_ID2 2 |
− | #define | + | #define MAILBOX_ID3 3 |
− | enum | + | enum SceSmStatus { |
− | { | + | SM_STATUS_SUSPENDED = 0x1, |
− | + | SM_STATUS_RUNNING = 0x2, | |
− | + | SM_STATUS_STOPPED = 0x3, | |
− | |||
SM_STATUS_4 = 0x4, | SM_STATUS_4 = 0x4, | ||
SM_STATUS_5 = 0x5, | SM_STATUS_5 = 0x5, | ||
− | + | SM_STATUS_START_RESUME_REQUESTED = 0x6, | |
− | + | SM_STATUS_SUSPENDING = 0x7, | |
SM_STATUS_8 = 0x8, | SM_STATUS_8 = 0x8, | ||
SM_STATUS_9 = 0x9, | SM_STATUS_9 = 0x9, | ||
SM_STATUS_A = 0xA, | SM_STATUS_A = 0xA, | ||
− | + | SM_STATUS_SUSPEND_REQUESTED = 0xB, | |
− | SM_STATUS_C = 0xC | + | SM_STATUS_C = 0xC |
}; | }; | ||
− | enum class | + | enum class sk_cmd_index { |
− | { | + | SK_CMD_0xB01_INDEX = 0, |
− | + | SK_CMD_0xC01_INDEX = 1, | |
− | + | SK_CMD_0xD01_INDEX = 2, | |
− | + | SK_CMD_0xE01_INDEX = 3, | |
− | + | SK_CMD_0xF01_INDEX = 4 | |
− | |||
}; | }; | ||
− | typedef struct | + | typedef struct SceSblSmschedCallFuncArg_old { // size is 0x10 (on FW 0.931) + sizeof(data) |
− | + | SceSize size; // Size of this structure | |
− | + | SceUInt32 func_id; | |
− | + | SceUInt32 response; // Set to 0 | |
− | + | SceUInt32 reserved; // Set to 0 | |
− | + | char data[0]; | |
− | + | } SceSblSmschedCallFuncArg_old; | |
− | } | + | |
+ | typedef struct SceSblSmschedCallFuncArg { // size is 0x40 (on FW 3.60) + sizeof(data) | ||
+ | SceSize size; // Size of this structure | ||
+ | SceUInt32 func_id; | ||
+ | SceUInt32 response; // Set to 0 | ||
+ | SceUInt32 reserved; // Set to 0 | ||
+ | char padding[0x30]; | ||
+ | char data[0]; | ||
+ | } SceSblSmschedCallFuncArg; | ||
+ | |||
+ | typedef struct status_handler { | ||
+ | int status0; | ||
+ | SceSmStatus status1; | ||
+ | } status_handler; | ||
+ | typedef SceUInt32 SceSblTzsBridgeArgArea; | ||
</source> | </source> | ||
== SceSblSmSchedProxyForKernel == | == SceSblSmSchedProxyForKernel == | ||
− | === | + | === sceSblSmSchedProxyInitForKernel === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0xA488D604 | + | | 0.931-3.60 || 0xA488D604 |
|} | |} | ||
− | Calls module_start if | + | Temp name was sceSblSmSchedProxyInitializeForKernel. |
+ | |||
+ | Calls module_start if cpuId is 0. | ||
− | <source lang="C">int | + | <source lang="C">int sceSblSmSchedProxyInitForKernel(void);</source> |
=== sceSblSmSchedProxyInvokeForKernel === | === sceSblSmSchedProxyInvokeForKernel === | ||
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | | + | | 0.931-3.60 || 0x1916509B |
− | |||
− | |||
|} | |} | ||
− | + | Temp name was sceSblSmSchedProxyCreateSmOperationForKernel. | |
− | + | Executes [[SMC|smc 0x12D]] call. | |
− | |||
− | |||
<source lang="c"> | <source lang="c"> | ||
− | struct sm_invoke_data_block_input | + | typedef struct sm_invoke_data_block_input { |
− | { | ||
int unk0; | int unk0; | ||
int unk4; | int unk4; | ||
int unk8; | int unk8; | ||
int unkC; | int unkC; | ||
− | }; | + | } sm_invoke_data_block_input; |
− | // | + | // sm_self_paddr = Physical address of the buffer containing the result of sceKernelVARangeToPAVectorForDriver (req.output_buffer) |
− | // | + | // num_pa_range = number of SceKernelPARange in the buffer returned by sceKernelVARangeToPAVectorForDriver (ret_count) |
− | int sceSblSmSchedProxyInvokeForKernel( | + | int sceSblSmSchedProxyInvokeForKernel(SceBool priority, void *sm_self_paddr, SceUInt32 num_pa_range, sm_invoke_data_block_input *invoke_input, SceSblSmCommContext130 *pCtx, SceSmSchedRequestId *pReqId); |
</source> | </source> | ||
Line 127: | Line 127: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | | + | | 0.931-3.60 || 0xF35EFC1A |
|} | |} | ||
− | + | Executes [[SMC|smc 0x12E]] call. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | int sceSblSmSchedProxyWaitForKernel( | + | <source lang="c">int sceSblSmSchedProxyWaitForKernel(SceSmSchedRequestId req_id, status_handler *result);</source> |
− | </source> | ||
=== sceSblSmSchedProxyGetStatusForKernel === | === sceSblSmSchedProxyGetStatusForKernel === | ||
Line 147: | Line 139: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 0. | + | | 0.931-3.60 || 0x27EB92F1 |
|} | |} | ||
− | Executes [[ | + | Executes [[SMC|smc 0x12F]] call. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | int sceSblSmSchedProxyGetStatusForKernel( | + | <source lang="c">int sceSblSmSchedProxyGetStatusForKernel(SceSmSchedRequestId req_id, status_handler *status);</source> |
− | </source> | ||
− | === | + | === sceSblSmSchedProxyKillForKernel === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0xDE4EAC3C | + | | 0.931-3.60 || 0xDE4EAC3C |
|} | |} | ||
− | + | Temp name was sceSblSmSchedProxyChangeF00DStatusForKernel. | |
+ | |||
+ | Executes [[SMC|smc 0x130]] call. | ||
− | <source lang="C">int | + | <source lang="C">int sceSblSmSchedProxyKillForKernel(SceSmSchedRequestId req_id);</source> |
− | === | + | === SceSblSmSchedProxyForKernel_984EC9D1 === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x984EC9D1 | + | | 0.931-3.60 || 0x984EC9D1 |
|} | |} | ||
− | returns 0x800F0425 | + | Reserved function along with [[SMC|smc 0x131]]. |
+ | |||
+ | On FWs 0.931-3.60, does nothing and returns 0x800F0425. | ||
− | === | + | === SceSblSmSchedProxyForKernel_1DFC8624 === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x1DFC8624 | + | | 0.931-3.60 || 0x1DFC8624 |
|} | |} | ||
− | + | Reserved function along with [[SMC|smc 0x132]]. | |
− | |||
− | |||
− | + | On FWs 0.931-3.60, does nothing and returns 0x800F0425. | |
+ | === sceSblSmSchedProxyCallFuncForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x723B382F | + | | 0.931-3.60 || 0x723B382F |
|} | |} | ||
− | Executes [[ | + | Temp name was sceSblSmSchedProxySetCommandF00DRegisterForKernel. |
+ | |||
+ | Executes [[SMC|smc 0x133]] call. | ||
Called by [[SceSblSsSmComm#sceSblSmCommCallFunc|sceSblSmCommCallFunc]]. | Called by [[SceSblSsSmComm#sceSblSmCommCallFunc|sceSblSmCommCallFunc]]. | ||
− | + | <source lang="C"> | |
− | + | // mailval is paddr | 1 | |
− | + | int sceSblSmSchedProxyCallFuncForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 mailval); | |
− | <source lang=" | ||
− | // | ||
− | int | ||
</source> | </source> | ||
− | === | + | === sceSblSmSchedProxyReadArm2CryForKernel === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0xF70C04EC | + | | 0.931-3.60 || 0xF70C04EC |
|} | |} | ||
− | + | Executes [[SMC|smc 0x134]] call. | |
− | <source lang="C">int | + | <source lang="C">int sceSblSmSchedProxyReadArm2CryForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 *pMailval);</source> |
− | === | + | === sceSblSmSchedProxyWriteArm2CryForKernel === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x3CE17233 | + | | 0.931-3.60 || 0x3CE17233 |
|} | |} | ||
− | + | Executes [[SMC|smc 0x135]] call. | |
− | <source lang="C">int | + | <source lang="C">int sceSblSmSchedProxyWriteArm2CryForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 mailval);</source> |
=== sceSblSmSchedProxyWriteCry2ArmForKernel === | === sceSblSmSchedProxyWriteCry2ArmForKernel === | ||
Line 246: | Line 232: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 0. | + | | 0.931-3.60 || 0x15B0E4DF |
|} | |} | ||
Temp name was sceSblSmSchedProxySetStatusCodeF00DRegisterForKernel. | Temp name was sceSblSmSchedProxySetStatusCodeF00DRegisterForKernel. | ||
− | Executes [[ | + | Executes [[SMC|smc 0x136]] call. |
Used by [[SceSblAuthMgr]]. | Used by [[SceSblAuthMgr]]. | ||
− | <source lang="C">int sceSblSmSchedProxyWriteCry2ArmForKernel( | + | <source lang="C">int sceSblSmSchedProxyWriteCry2ArmForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 mailval);</source> |
=== sceSblSmSchedProxyReadCry2ArmForKernel === | === sceSblSmSchedProxyReadCry2ArmForKernel === | ||
Line 262: | Line 248: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 0. | + | | 0.931-3.60 || 0x973A4A7D |
|} | |} | ||
Temp name was sceSblSmSchedProxyGetStatusCodeF00DRegisterForKernel. | Temp name was sceSblSmSchedProxyGetStatusCodeF00DRegisterForKernel. | ||
− | Executes [[ | + | Executes [[SMC|smc 0x137]] call. |
Used by [[SceSblAuthMgr]]. | Used by [[SceSblAuthMgr]]. | ||
− | <source lang="C">int sceSblSmSchedProxyReadCry2ArmForKernel( | + | <source lang="C">int sceSblSmSchedProxyReadCry2ArmForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 *pMailval);</source> |
− | === | + | === sceSblSmSchedProxyRegisterIntrHandlerForKernel === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x8B84AC2A | + | | 0.931-3.60 || 0x8B84AC2A |
|} | |} | ||
− | + | Temp name was sceSblSmSchedProxyEnableCry2ArmInterruptForKernel. | |
+ | |||
+ | Executes [[SMC|smc 0x138]] call. | ||
Called by [[SceSblAuthMgr]]. | Called by [[SceSblAuthMgr]]. | ||
− | |||
− | |||
<source lang="C"> | <source lang="C"> | ||
− | typedef int | + | typedef int sceSblSmSchedProxyIntrHandler(SceSmSchedRequestId req_id, int mailbox_id, int arg1, int arg2, int arg3); |
− | int | + | int sceSblSmSchedProxyRegisterIntrHandlerForKernel(SceSmSchedRequestId req_id, int mailbox_id, sceSblSmSchedProxyIntrHandler *cb, int unk_unused); |
</source> | </source> | ||
− | === | + | === sceSblSmSchedProxyReleaseIntrHandlerForKernel === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x85EDA5FC | + | | 0.931-3.60 || 0x85EDA5FC |
|} | |} | ||
− | + | Temp name was sceSblSmSchedProxyDisableCry2ArmInterruptForKernel. | |
+ | |||
+ | Executes [[SMC|smc 0x139]] call. | ||
Called by [[SceSblAuthMgr]]. | Called by [[SceSblAuthMgr]]. | ||
− | <source lang="C">int | + | <source lang="C">int sceSblSmSchedProxyReleaseIntrHandlerForKernel(SceSmSchedRequestId req_id, int mailbox_id);</source> |
=== sceSblSmSchedProxyUninitializeForKernel === | === sceSblSmSchedProxyUninitializeForKernel === | ||
Line 312: | Line 300: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x33A3A1E2 | + | | 0.931-3.60 || 0x33A3A1E2 |
|} | |} | ||
− | + | Executes [[SMC|smc 0x13B]] call. | |
− | + | Only executes if cpuId is 0. | |
− | <source lang="C">int sceSblSmSchedProxyUninitializeForKernel();</source> | + | <source lang="C">int sceSblSmSchedProxyUninitializeForKernel(void);</source> |
− | === | + | === sceSblSmSchedProxyExecuteSKCommandForKernel === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x7894B6F0 | + | | 0.931-3.60 || 0x7894B6F0 |
|} | |} | ||
− | + | Temp name was sceSblSmSchedProxyExecuteF00DCommandForKernel. | |
+ | |||
+ | Executes [[SMC|smc 0x13C]] call. | ||
− | <source lang="C">int | + | <source lang="C">int sceSblSmSchedProxyExecuteSKCommandForKernel(sk_cmd_index cmd_index, int unused1, int unused2, int unused3);</source> |
This function is called by two modules: | This function is called by two modules: | ||
[[SceSblSsMgr]] just before PSVita entering suspend mode: | [[SceSblSsMgr]] just before PSVita entering suspend mode: | ||
− | <source lang="C"> | + | <source lang="C">sceSblSmSchedProxyExecuteSKCommandForKernel(4, 0, 0, 0);</source> |
[[SceSdif]] at [[SceSdif#init|init]] (at PSVita boot and maybe called after PSVita resume): | [[SceSdif]] at [[SceSdif#init|init]] (at PSVita boot and maybe called after PSVita resume): | ||
− | <source lang="C"> | + | <source lang="C">sceSblSmSchedProxyExecuteSKCommandForKernel(3, 0, 0, 0);</source> |
+ | [[Category:ARM]] | ||
+ | [[Category:Kernel]] | ||
[[Category:Modules]] | [[Category:Modules]] | ||
− | [[Category: | + | [[Category:Library]] |
Latest revision as of 21:29, 1 May 2023
Module
Version | World | Privilege |
---|---|---|
0.931-3.60 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.931-3.60 | SceSblSmSchedProxyForKernel | Non-secure | Kernel | 0x15F25C84 |
Types
typedef SceUInt32 SceSmSchedRequestId;
#define CRY_INTERRUPT_INDEX0 0
#define CRY_INTERRUPT_INDEX1 1
#define CRY_INTERRUPT_INDEX2 2
#define CRY_INTERRUPT_INDEX3 3
#define MAILBOX_ID1 1
#define MAILBOX_ID2 2
#define MAILBOX_ID3 3
enum SceSmStatus {
SM_STATUS_SUSPENDED = 0x1,
SM_STATUS_RUNNING = 0x2,
SM_STATUS_STOPPED = 0x3,
SM_STATUS_4 = 0x4,
SM_STATUS_5 = 0x5,
SM_STATUS_START_RESUME_REQUESTED = 0x6,
SM_STATUS_SUSPENDING = 0x7,
SM_STATUS_8 = 0x8,
SM_STATUS_9 = 0x9,
SM_STATUS_A = 0xA,
SM_STATUS_SUSPEND_REQUESTED = 0xB,
SM_STATUS_C = 0xC
};
enum class sk_cmd_index {
SK_CMD_0xB01_INDEX = 0,
SK_CMD_0xC01_INDEX = 1,
SK_CMD_0xD01_INDEX = 2,
SK_CMD_0xE01_INDEX = 3,
SK_CMD_0xF01_INDEX = 4
};
typedef struct SceSblSmschedCallFuncArg_old { // size is 0x10 (on FW 0.931) + sizeof(data)
SceSize size; // Size of this structure
SceUInt32 func_id;
SceUInt32 response; // Set to 0
SceUInt32 reserved; // Set to 0
char data[0];
} SceSblSmschedCallFuncArg_old;
typedef struct SceSblSmschedCallFuncArg { // size is 0x40 (on FW 3.60) + sizeof(data)
SceSize size; // Size of this structure
SceUInt32 func_id;
SceUInt32 response; // Set to 0
SceUInt32 reserved; // Set to 0
char padding[0x30];
char data[0];
} SceSblSmschedCallFuncArg;
typedef struct status_handler {
int status0;
SceSmStatus status1;
} status_handler;
typedef SceUInt32 SceSblTzsBridgeArgArea;
SceSblSmSchedProxyForKernel
sceSblSmSchedProxyInitForKernel
Version | NID |
---|---|
0.931-3.60 | 0xA488D604 |
Temp name was sceSblSmSchedProxyInitializeForKernel.
Calls module_start if cpuId is 0.
int sceSblSmSchedProxyInitForKernel(void);
sceSblSmSchedProxyInvokeForKernel
Version | NID |
---|---|
0.931-3.60 | 0x1916509B |
Temp name was sceSblSmSchedProxyCreateSmOperationForKernel.
Executes smc 0x12D call.
typedef struct sm_invoke_data_block_input {
int unk0;
int unk4;
int unk8;
int unkC;
} sm_invoke_data_block_input;
// sm_self_paddr = Physical address of the buffer containing the result of sceKernelVARangeToPAVectorForDriver (req.output_buffer)
// num_pa_range = number of SceKernelPARange in the buffer returned by sceKernelVARangeToPAVectorForDriver (ret_count)
int sceSblSmSchedProxyInvokeForKernel(SceBool priority, void *sm_self_paddr, SceUInt32 num_pa_range, sm_invoke_data_block_input *invoke_input, SceSblSmCommContext130 *pCtx, SceSmSchedRequestId *pReqId);
sceSblSmSchedProxyWaitForKernel
Version | NID |
---|---|
0.931-3.60 | 0xF35EFC1A |
Executes smc 0x12E call.
int sceSblSmSchedProxyWaitForKernel(SceSmSchedRequestId req_id, status_handler *result);
sceSblSmSchedProxyGetStatusForKernel
Version | NID |
---|---|
0.931-3.60 | 0x27EB92F1 |
Executes smc 0x12F call.
int sceSblSmSchedProxyGetStatusForKernel(SceSmSchedRequestId req_id, status_handler *status);
sceSblSmSchedProxyKillForKernel
Version | NID |
---|---|
0.931-3.60 | 0xDE4EAC3C |
Temp name was sceSblSmSchedProxyChangeF00DStatusForKernel.
Executes smc 0x130 call.
int sceSblSmSchedProxyKillForKernel(SceSmSchedRequestId req_id);
SceSblSmSchedProxyForKernel_984EC9D1
Version | NID |
---|---|
0.931-3.60 | 0x984EC9D1 |
Reserved function along with smc 0x131.
On FWs 0.931-3.60, does nothing and returns 0x800F0425.
SceSblSmSchedProxyForKernel_1DFC8624
Version | NID |
---|---|
0.931-3.60 | 0x1DFC8624 |
Reserved function along with smc 0x132.
On FWs 0.931-3.60, does nothing and returns 0x800F0425.
sceSblSmSchedProxyCallFuncForKernel
Version | NID |
---|---|
0.931-3.60 | 0x723B382F |
Temp name was sceSblSmSchedProxySetCommandF00DRegisterForKernel.
Executes smc 0x133 call.
Called by sceSblSmCommCallFunc.
// mailval is paddr | 1
int sceSblSmSchedProxyCallFuncForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 mailval);
sceSblSmSchedProxyReadArm2CryForKernel
Version | NID |
---|---|
0.931-3.60 | 0xF70C04EC |
Executes smc 0x134 call.
int sceSblSmSchedProxyReadArm2CryForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 *pMailval);
sceSblSmSchedProxyWriteArm2CryForKernel
Version | NID |
---|---|
0.931-3.60 | 0x3CE17233 |
Executes smc 0x135 call.
int sceSblSmSchedProxyWriteArm2CryForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 mailval);
sceSblSmSchedProxyWriteCry2ArmForKernel
Version | NID |
---|---|
0.931-3.60 | 0x15B0E4DF |
Temp name was sceSblSmSchedProxySetStatusCodeF00DRegisterForKernel.
Executes smc 0x136 call.
Used by SceSblAuthMgr.
int sceSblSmSchedProxyWriteCry2ArmForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 mailval);
sceSblSmSchedProxyReadCry2ArmForKernel
Version | NID |
---|---|
0.931-3.60 | 0x973A4A7D |
Temp name was sceSblSmSchedProxyGetStatusCodeF00DRegisterForKernel.
Executes smc 0x137 call.
Used by SceSblAuthMgr.
int sceSblSmSchedProxyReadCry2ArmForKernel(SceSmSchedRequestId req_id, int mailbox_id, SceUInt32 *pMailval);
sceSblSmSchedProxyRegisterIntrHandlerForKernel
Version | NID |
---|---|
0.931-3.60 | 0x8B84AC2A |
Temp name was sceSblSmSchedProxyEnableCry2ArmInterruptForKernel.
Executes smc 0x138 call.
Called by SceSblAuthMgr.
typedef int sceSblSmSchedProxyIntrHandler(SceSmSchedRequestId req_id, int mailbox_id, int arg1, int arg2, int arg3);
int sceSblSmSchedProxyRegisterIntrHandlerForKernel(SceSmSchedRequestId req_id, int mailbox_id, sceSblSmSchedProxyIntrHandler *cb, int unk_unused);
sceSblSmSchedProxyReleaseIntrHandlerForKernel
Version | NID |
---|---|
0.931-3.60 | 0x85EDA5FC |
Temp name was sceSblSmSchedProxyDisableCry2ArmInterruptForKernel.
Executes smc 0x139 call.
Called by SceSblAuthMgr.
int sceSblSmSchedProxyReleaseIntrHandlerForKernel(SceSmSchedRequestId req_id, int mailbox_id);
sceSblSmSchedProxyUninitializeForKernel
Version | NID |
---|---|
0.931-3.60 | 0x33A3A1E2 |
Executes smc 0x13B call.
Only executes if cpuId is 0.
int sceSblSmSchedProxyUninitializeForKernel(void);
sceSblSmSchedProxyExecuteSKCommandForKernel
Version | NID |
---|---|
0.931-3.60 | 0x7894B6F0 |
Temp name was sceSblSmSchedProxyExecuteF00DCommandForKernel.
Executes smc 0x13C call.
int sceSblSmSchedProxyExecuteSKCommandForKernel(sk_cmd_index cmd_index, int unused1, int unused2, int unused3);
This function is called by two modules:
SceSblSsMgr just before PSVita entering suspend mode:
sceSblSmSchedProxyExecuteSKCommandForKernel(4, 0, 0, 0);
SceSdif at init (at PSVita boot and maybe called after PSVita resume):
sceSblSmSchedProxyExecuteSKCommandForKernel(3, 0, 0, 0);