mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-31 03:26:47 +01:00
HLE: 6.60 kernel NIDs for module loading, memset and strnlen
The firmware's POPS manager imports these by their 6.60 NIDs: sceKernelLoadModuleForKernel and sceKernelStartModule from ModuleMgrForKernel, SysMem's sceKernelMemset and sceKernelGetUIDcontrolBlock, Sysclib's strnlen, and sceKernelExtendKernelStack, which runs the callback like sceKernelExtendThreadStack does. sceKernelGetUIDcontrolBlock reports no such UID: the manager uses it to make a descriptor it opened in kernel mode usable from user mode, and ours aren't access-checked.
This commit is contained in:
1 parent
47c97b92aa
commit
e9515d0f8a
4 files changed
+34
-1
No files matched your search
@@ -3703,6 +3703,9 @@ const HLEFunction ModuleMgrForKernel[] = {
|
||||
{0x329C89DB, &WrapU_CUU<sceKernelLoadModuleVSH>, "sceKernelLoadModuleVSH", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
{0x8909A807, &WrapU_CUU<sceKernelLoadModuleVSH>, "sceKernelLoadModuleVSH", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
{0xBDFEEC4F, &WrapU_CUU<sceKernelLoadModuleVSH>, "sceKernelLoadModuleVSH", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
// 6.60 NIDs.
|
||||
{0x939E4270, &WrapU_CUU<sceKernelLoadModule>, "sceKernelLoadModuleForKernel", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
{0x3FF74DF1, &WrapU_UUUUU<sceKernelStartModule>, "sceKernelStartModule", 'v', "xxxxx", HLE_NOT_IN_INTERRUPT | HLE_NOT_DISPATCH_SUSPENDED | HLE_KERNEL_SYSCALL },
|
||||
};
|
||||
|
||||
void Register_ModuleMgrForUser() {
|
||||
|
||||
Reference in new issue
Block a user