mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-05 13:20:11 +00:00
Merge pull request #15051 from xXPBSXx/docs-kernel-coredump-register-stack
docs(debt): give the stack bounds of sceCoredumpRegisterCoredumpHandler and what titles pass
This commit is contained in:
1 file changed
+1
-1
@@ -21,7 +21,7 @@
|
||||
### Unknown function info
|
||||
|
||||
- [sceKernelHasTrinityMode](../../../core/libs/prx/libkernel/System/src/Process.cpp) (libkernel) - returns 0, a base PS5's answer; a PS5 Pro is not modelled. Not measured on a console; the module's body was not read here. [Backport](https://github.com/danthespal/Backport/blob/5ba843c5ea51caad30ac05e830302bc1b8707f3c/FINDINGS.md?plain=1#L246) (11.00 to 12.70) says it reads `hw.sce_main_socid`; only [OpenAGC](https://github.com/OpenAGC/OpenAGC/blob/03484809c29fee4dc9fc3a4d61743749899ef5ca/src/driver_prospero.c#L333-L340) (firmware 11.60) gives the test, that id with the low five bits cleared compared with 0x840fc0, which the base PS5 SoC id 0x840f80 (`sceKernelGetMainSocId`) fails. The prototype `int (void)` comes from PPSA34114 01.000.005 (0x8837e3, 0x67db227, 0x78dfa9e): no argument is set and the result is stored as `setne` of `test eax, eax`
|
||||
- [sceCoredumpRegisterCoredumpHandler, sceCoredumpUnregisterCoredumpHandler](../../../core/libs/prx/libkernel/System/src/Coredump.cpp) retain registration metadata but do not create the native report thread or deliver callbacks. Native registration-state precedence, stack bounds and SDK capture are recovered; thread-creation failures and active-report synchronization remain unimplemented.
|
||||
- [sceCoredumpRegisterCoredumpHandler, sceCoredumpUnregisterCoredumpHandler](../../../core/libs/prx/libkernel/System/src/Coredump.cpp) retain registration metadata but do not create the native report thread or deliver callbacks. Native registration-state precedence, stack bounds and SDK capture are recovered; thread-creation failures and active-report synchronization remain unimplemented. A registered handler makes the next registration return `0x81180002`; otherwise a null handler or a stack size below 0x4000 or from 0x20000000 on returns `SCE_COREDUMP_ERROR_INVALID_ARGUMENT` (0x81180000). Every direct call in the titles checked passes a constant stack size inside that range; the handler of a call is not read, and the titles that reach the function through a tail jump are not known.
|
||||
- [scePthreadMutexattrSetkind, scePthreadMutexattrGetkind](../../../core/libs/prx/libkernel/Pthread/src/Mutex.cpp) (libkernel) - not measured on a console or in a title process, only by running firmware 13.42's `libkernel.sprx` and `libkernel_sys.sprx` in an emulator ([#9632](https://github.com/boykopovar/AnyPS5/pull/9632#issuecomment-6363402814), [#10725](https://github.com/boykopovar/AnyPS5/pull/10725#issuecomment-6397556344)). `scePthreadMutexattrGetkind` of a negative stored kind returns 0x80020000 plus the kind, which follows the measured rule for other kinds but was not measured. `scePthreadMutexattrSetkind` stores any kind through `pthread_mutexattr_setkind_np`; for a kind outside 1 to 4 only the refusal by `scePthreadMutexInit` and `pthread_mutex_init` was measured
|
||||
|
||||
- [sceKernelError](../../../core/libs/prx/libkernel/System/src/Error.cpp) follows [shadPS4's kernel implementation](https://github.com/shadps4-emu/shadPS4/blob/23c41333822fe8eca4c609b43119180af63ae4ac/src/core/libraries/kernel/kernel.cpp): zero returns zero; other guest POSIX error values receive the `0x80020000` bias without modifying errno. Arithmetic is defined modulo 32 bits to avoid signed overflow for inputs outside the errno domain. Console behavior for those inputs and PS5 equivalence have not been measured.
|
||||
|
||||
Reference in new issue
Block a user