SceSblSsSmComm

SceSblSsSmComm is a kernel module that is primarily responsible for calling SM functions.

sceSblSmCommCallFunc_ForKernel
This function is just a 4-argument wrapper for.

sceSblSmCommStartSmForKernel
Priority is binary: 1 = low, 0 = high. Running a high priority SM while a low priority one is currently running will suspend the low one.

The following conditions must be met in order for this function to be called successfully: - In kernel thread. - In kernel context.

Calling a function without satisfying the conditions freezes the system.

sceSblSmCommStopSmForKernel
This function calls sceSblSmCommCallFuncForKernel with  as   and then calls sceSblSmSchedProxyWaitForKernel.

SceSblSsSmComm
This library is present up to and including System Software version 1.692.000, then removed since System Software version 1.800.071 for security reasons.

sceSblSmCommStartSm
Alias for.

sceSblSmCommCallFunc_
Alias for.

sceSblSmCommStopComm
Alias for.

sceSblSmCommStartSm_
Alias for.

sceSblSmCommCallFunc
Alias for.

sceSblSmCommStopSm
Alias for.

Changelog
Between 1.000.041 and 1.692.000 (to precise): many exported functions were removed. These functions were exported both to usermode and to kernel.

Between 1.692.000 and 1.800.071: the usermode library SceSblSsSmComm was removed. It should not have been exported to usermode for two security reasons: firstly SM communication should not be handled by usermode programs, secondly these exported functions were pointing to their kernel equivalent without any check on input addresses.

Between 1.800.071 and 2.500.071 (to precise): sceSblSmCommStartSm_ForKernel was replaced by two functions: sceSblSmCommStartSmForKernel (same name as in 0.931.010) that has the same features and sceSblSmCommStartSmFromDataForKernel that loads a SM from a buffer instead of a file.

Obfuscated names
Since some System Software version between 1.000.041 and 1.692.000 (to precise), the module is compiled with a MACRO that converts some object names to obfuscated names. The algorithm is obfuscated_name = "SceSblSmComm" + hash(real_name) where hash is an unknown function.