Dean
fde401d41f
Merge pull request #992 from CnRJay/feat/ppsa23566-missing-exports
...
feat(libs): declare the exports PPSA23566 imports that no library provides
2026-10-07 13:02:56 +13:00
Adrià
ab9437e34d
feat(libkernel): implement scePthreadTestcancel and pthread_testcancel ( #834 )
2026-10-07 11:43:32 +13:00
Dean
23ba389799
Merge pull request #993 from CnRJay/fix/mutexattr-settype-einval
...
fix(libkernel): return EINVAL for unknown mutex attribute types
2026-10-07 11:43:11 +13:00
Chad
df98b8899e
feat(libs): name the PPSA23566 stubs from the shadPS4 NID list and implement sleep
...
20 of the 31 NIDs have names in shadPS4's aerolib list. They are declared
under those names; POSIX sleep is implemented. The NpPartner001 and Psml
MFSR2 exports stay unnamed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:28:39 -05:00
Dean
97a6604f81
Merge pull request #883 from Fishybeing/fix/memorypool-header-guard
...
fix(libkernel): correct the MemoryPool.hpp include guard
2026-10-07 11:05:38 +13:00
Chad
69973800a7
fix(libkernel): return EINVAL for unknown mutex attribute types
...
UFC 6 (PPSA23566) passes type 0 to pthread_mutexattr_settype during
startup. libkernel rejects it with EINVAL and leaves the attribute
unchanged, as fpPS4's decompiled body does, instead of aborting.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:04:06 -05:00
Chad
7cbf45b660
feat(libs): declare the exports PPSA23566 imports that no library provides
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:04:05 -05:00
CnR
7e3dcbc27e
feat(libkernel): implement sceKernelReleaseFlexibleMemory ( #952 )
...
* feat(libkernel): implement sceKernelReleaseFlexibleMemory
Unmaps the range through sceKernelMunmap, which returns its pages to
the flexible memory budget, as fpPS4 and prosper do.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* test(libkernel): keep the flexible memory release check apart from the batch map checks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 10:20:07 +13:00
Dean
0056fc5027
Merge pull request #793 from CnRJay/feat/barrierattr-process-shared
...
feat(libkernel): accept PTHREAD_PROCESS_SHARED barrier attributes
2026-10-07 10:18:43 +13:00
Dean
2b049e3ef6
Merge pull request #879 from adriadam10/feat/kernel-batchmap-invalid-entry
...
feat(kernel): reject invalid sceKernelBatchMap2 entries with EINVAL
2026-10-07 10:12:23 +13:00
Dean
465c8f6b81
Merge pull request #878 from adriadam10/feat/kernel-adaptive-mutex-initializer
...
feat(kernel): lazily initialize the adaptive static mutex initializer
2026-10-07 10:11:42 +13:00
Dean
37a1e75f2c
Merge pull request #877 from adriadam10/feat/kernel-getrusage-thread
...
feat(kernel): support getrusage RUSAGE_THREAD on Linux
2026-10-07 10:11:00 +13:00
Dean
906b7f8d31
Merge pull request #724 from merwie/feat/kernel-exception-handler-registration
...
feat(libkernel): record exception handlers
2026-10-07 10:02:52 +13:00
Dean
2d0bbbfb4a
Merge pull request #702 from merwie/feat/kernel-is-stack
...
feat(libkernel): implement sceKernelIsStack
2026-10-07 10:00:46 +13:00
Chad
ac91853ae1
Merge remote-tracking branch 'upstream/main' into feat/barrierattr-process-shared
2026-10-06 13:40:57 -05:00
Fishybeing
5f1c45c223
fix(libkernel): correct the MemoryPool.hpp include guard
...
The guard tested CORE_LIBS_PRX_LIBKERNEL_... but defined CORE_LIBS_PRX_LINKERNEL_..., so it never took effect and GCC reports -Wheader-guard.
2026-10-06 14:57:51 +02:00
Adrià Franch
ca6557aed1
feat(kernel): reject invalid sceKernelBatchMap2 entries with EINVAL
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 14:27:48 +02:00
Adrià Franch
fe557fb0e2
feat(kernel): lazily initialize the adaptive static mutex initializer
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 14:23:25 +02:00
Adrià Franch
1311e6e455
feat(kernel): support getrusage RUSAGE_THREAD on Linux
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 14:19:40 +02:00
Dean
5895ea721a
Merge pull request #814 from adriadam10/feat/kernel-aio-batch
...
feat(libkernel): Aio batch submit, wait, cancel and delete
2026-10-06 22:34:58 +13:00
Dean
5d6ee4669a
Merge pull request #808 from adriadam10/feat/kernel-get-direct-memory-type
...
feat(libkernel): implement sceKernelGetDirectMemoryType
2026-10-06 22:32:51 +13:00
Dean
88ca57d7af
Merge pull request #806 from adriadam10/feat/kernel-vectored-io
...
feat(libkernel): sceKernelReadv, Writev, Preadv and Pwritev
2026-10-06 22:32:09 +13:00
Dean
6f3d485fca
Merge pull request #723 from alfalfa-star/feat/libkernel-module-info-from-addr
...
feat(libkernel): implement sceKernelGetModuleInfoFromAddr
2026-10-06 22:29:00 +13:00
Dean
229b1287b4
Merge pull request #721 from merwie/feat/kernel-checked-release-direct-memory
...
feat(libkernel): implement sceKernelCheckedReleaseDirectMemory
2026-10-06 22:28:18 +13:00
Dean
1b6a7bae64
Merge pull request #700 from merwie/fix/kernel-virtual-query-reserved
...
fix(libkernel): report reserved virtual ranges in sceKernelVirtualQuery
2026-10-06 22:27:36 +13:00
Merijn
17332edb44
Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/kernel-is-stack
...
# Conflicts:
# core/libs/prx/libkernel/Pthread/src/Thread.cpp
2026-10-06 09:58:27 +02:00
Merijn
deddb1092e
Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/kernel-exception-handler-registration
...
# Conflicts:
# docs/dev/TechnicalDebt.md
2026-10-06 09:54:05 +02:00
Adrià Franch
0f2699eef4
feat(libkernel): Aio batch submit, wait, cancel and delete
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 08:11:07 +02:00
Adrià Franch
6d2713cbdd
feat(libkernel): implement sceKernelGetDirectMemoryType
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 07:44:18 +02:00
Adrià Franch
ab98cd7f4a
feat(libkernel): sceKernelReadv, Writev, Preadv and Pwritev
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 07:33:51 +02:00
raghav314
670ffb9da3
feat(libkernel): implement sceKernelGetAvailableCpumask
...
Returns the CPU mask threads get by default (DEFAULT_THREAD_AFFINITY,
0x1FFF), the value itself rather than an error code.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:41:52 +05:30
Dean
0db5bfcf36
Merge pull request #792 from CnRJay/feat/libkernel-sendmsg-recvmsg
...
feat(libkernel): implement sendmsg and recvmsg
2026-10-06 16:31:19 +13:00
Nicolas Abosch
7789c0a57b
feat(libs): implement homebrew libc and kernel runtime exports
2026-10-05 22:40:16 -03:00
Chad
03afdb55bb
Merge remote-tracking branch 'upstream/main' into feat/libkernel-sendmsg-recvmsg
...
# Conflicts:
# core/libs/prx/libkernel/Unimplemented.cpp
2026-10-05 20:23:13 -05:00
Dean
6136e52110
Merge pull request #785 from NahuelGenchi/feat/kernel-futimes
...
feat(libkernel): implement futimes
2026-10-06 14:15:34 +13:00
Dean
aa22e43932
Merge pull request #784 from NahuelGenchi/feat/kernel-fchmod
...
feat(libkernel): implement fchmod and sceKernelFchmod
2026-10-06 14:14:52 +13:00
Chad
d4b01b72c0
feat(libkernel): accept PTHREAD_PROCESS_SHARED barrier attributes
...
The PS5 kernel follows FreeBSD 11, whose libthr accepts process-shared
barriers. Guest code runs in a single process, so a process-shared
barrier synchronises the same threads a private one does; the attribute
is stored and reported back by getpshared.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:11:20 -05:00
Chad
77550ab731
feat(libkernel): implement sendmsg and recvmsg
...
Both take the FreeBSD msghdr (48 bytes, iovecs of a pointer and a 64-bit
length) and run on the host sockets: sendmsg gathers the iovecs and sends
through sendto, recvmsg receives into one buffer and scatters it. A
datagram longer than the iovecs is cut and reported with MSG_TRUNC, also
on Windows where recvfrom fails with WSAEMSGSIZE. More than 1024 iovecs
fail with EMSGSIZE. No ancillary data is ever received, so recvmsg
clears msg_controllen; sending control data throws.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:10:13 -05:00
Dean
cdb2707ad2
Merge pull request #686 from Pouare514/fix/direct-memory-release-clears-mappings
...
fix(libkernel): drop direct mappings when physical backing is released
2026-10-06 13:28:21 +13:00
Dean
3e9bcee7b9
Merge pull request #756 from CnRJay/feat/amm-prt
...
feat(libs): implement the AMM PRT commands
2026-10-06 13:17:24 +13:00
Dean
5cc58621a9
Merge pull request #749 from CnRJay/feat/amm-remap-protect
...
feat(libs): implement the AMM remap, multimap and protection changes
2026-10-06 13:17:14 +13:00
Dean
ece9990d89
Merge pull request #748 from CnRJay/feat/amm-core
...
feat(libs): implement the AMM map, map direct and unmap commands and the APR map region
2026-10-06 13:16:31 +13:00
Dean
633459b09c
Merge pull request #672 from NahuelGenchi/fix/linux-guest-export-namespace
...
fix(relinker): keep host prx references out of guest modules on Linux
2026-10-06 13:15:49 +13:00
Nahuel Genchi
ec17b9811c
feat(libkernel): implement futimes
2026-10-05 20:47:34 -03:00
Nahuel Genchi
eded1e010f
feat(libkernel): implement fchmod and sceKernelFchmod
2026-10-05 20:46:34 -03:00
Dean
7de111f98a
Merge pull request #773 from Raghav314/feat/kernel-sync-on-address-wait8-16
...
feat(libkernel): implement sceKernelSyncOnAddressWait8 and sceKernelSyncOnAddressWait16
2026-10-06 12:45:18 +13:00
Dean
e0f1382bb7
Merge pull request #777 from adriadam10/feat/kernel-is-signal-return
...
feat(libkernel): implement _is_signal_return
2026-10-06 12:45:07 +13:00
Dean
c8c4621a17
Merge pull request #747 from CnRJay/feat/apr-gather-scatter
...
feat(libs): implement the APR gather and scatter reads
2026-10-06 12:25:06 +13:00
Dean
b2e192cfa3
Merge pull request #717 from merwie/feat/kernel-dlopen-relinked-guest-module
...
feat(libkernel): load the relinked module for a guest module path
2026-10-06 12:18:55 +13:00
Dean
90f20b393d
Merge pull request #699 from merwie/feat/libs-ppsa12544-exports
...
feat(libs): add exports imported by PPSA12544
2026-10-06 12:18:11 +13:00