Difference between revisions of "SceSblSmschedProxy"

From Vita Development Wiki
Jump to navigation Jump to search
Line 193: Line 193:
  
 
executes [[SceExcpmgr|smc 13C]] call
 
executes [[SceExcpmgr|smc 13C]] call
 +
 +
<source lang="C">smc_13C(int a1, int a2, int a3, int a4);</source>
 +
 +
This function is called by two modules:
 +
 +
[[SceSblSsMgr]] just before PSVita entering suspend mode:
 +
<source lang="C">smc_13C(4, 0, 0, 0);</source>
 +
 +
[[SceSdif]] at [[SceSdif#init|init]] (at PSVita boot and maybe called after PSVita resume):
 +
<source lang="C">smc_13C(3, 0, 0, 0);</source>
  
 
=== check_cpuid_initialize ===
 
=== check_cpuid_initialize ===

Revision as of 20:02, 5 July 2018

Module

Known NIDs

Version Name World Privilege NID
1.69 SceSblSmschedProxy Non-secure Kernel 0xF3BC3013
3.60 SceSblSmschedProxy Non-secure Kernel 0x254B02B3

Libraries

Known NIDs

Version Name World Visibility NID
1.69 SceSblSmSchedProxyForKernel Non-secure Kernel 0x15F25C84
3.60 SceSblSmSchedProxyForKernel Non-secure Kernel 0x15F25C84

SceSblSmSchedProxyForKernel

sceSblSmSchedProxyInvoke

Version NID
1.05 0x1916509B
3.60 0x1916509B

executes smc 12D call

// paddr = Physical address of the buffer containing the result of ksceKernelGetPaddrList (req.output_buffer)
// num_pairs = number of (paddr, size) pairs in the buffer returned by ksceKernelGetPaddrList (ret_count)
int sceSblSmSchedProxyInvoke(int priority, uintptr_t paddr, unsigned int num_pairs, int num1, SceSblSmCommContext130 *ctx, int *id);

sceSblSmSchedProxyGetStatus

Version NID
1.05 0x27EB92F1
3.60 0x27EB92F1

executes smc 12F call

int sceSblSmSchedProxyGetStatus(int id, int status[2]);

sceSblSmSchedCallFunc

Version NID
3.60 0x723B382F

Executes smc 133 call.

Called by sceSblSmCommCallFunc.

typedef struct SceSblSmschedCallFuncCommand {
	unsigned int size;
	unsigned int service_id;
	unsigned int response;
	unsigned int unk2;
	unsigned int padding[(0x40 - 0x10) / 4];
	unsigned int data[0];
} SceSblSmschedCallFuncCommand; /* size = 0X40 + ... */

// f00d_cmd_fifo_idx can be 1, 2 or 3
int sceSblSmSchedCallFunc(int id, int f00d_cmd_fifo_idx, SceSblSmschedCallFuncCommand *cmd);

sceSblSmSchedProxyWait

Version NID
1.05 0xF35EFC1A
3.60 0xF35EFC1A

executes smc 12E call

int sceSblSmSchedProxyWait(int id, int result[2]);

smc_130

Version NID
3.60 0xDE4EAC3C

executes smc 130 call

smc_134

Version NID
3.60 0xF70C04EC

executes smc 134 call

smc_135

Version NID
3.60 0x3CE17233

executes smc 135 call

smc_136

Version NID
3.60 0x15B0E4DF

executes smc 136 call

smc_137

Version NID
3.60 0x973A4A7D

executes smc 137 call

smc_138

Version NID
3.60 0x8B84AC2A

executes smc 138 call

smc_139

Version NID
3.60 0x85EDA5FC

executes smc 139 call

smc_13B

Version NID
3.60 0x33A3A1E2

executes smc 13B call

smc_13C

Version NID
3.60 0x7894B6F0

executes smc 13C call

smc_13C(int a1, int a2, int a3, int a4);

This function is called by two modules:

SceSblSsMgr just before PSVita entering suspend mode:

smc_13C(4, 0, 0, 0);

SceSdif at init (at PSVita boot and maybe called after PSVita resume):

smc_13C(3, 0, 0, 0);

check_cpuid_initialize

Version NID
3.60 0xA488D604

calls module_start if cpuid is 0

not_implemented

Version NID
3.60 0x1DFC8624

not_implemented

Version NID
3.60 0x984EC9D1