Dean
da54c652e3
Merge pull request #9433 from Get-fix/ps4/limbo-libs
...
feat: PS4 NpTrophy, save data v1, NpWebApi offline and Limbo's other imports
2026-10-22 18:00:00 +13:00
Dean
2369fdd77a
Merge pull request #8539 from billythemenace2/fix/kernel-raise-host-code-limit
...
fix(libkernel): retry a failed thread context read during a raise
2026-10-22 17:59:55 +13:00
Dean
ab347d144d
Merge pull request #8534 from ycbuzi/pr/windows-reparse-non-link
...
fix(libkernel): answer Windows reparse points that are not links
2026-10-22 17:22:28 +13:00
Dean
746bdd8041
Merge pull request #8550 from Retr0G28/fix/fopen-directory-read-windows
...
fix(libc): open a directory with fopen in a read mode on Windows
2026-10-22 17:22:22 +13:00
Kang, Harry Zixuan
726edc503b
feat(windows): support MSYS2 GCC runtime builds
2026-10-21 20:29:55 -07:00
blu
9897260c6e
Merge branch 'boykopovar:main' into pr/windows-reparse-non-link
2026-10-21 19:08:16 -07:00
Get-fix
f04d16d702
feat: PS4 NpTrophy, save data v1, NpWebApi offline and Limbo's other imports
...
NpTrophy reads the trophy count and icons from the title's trophy
package (names are encrypted and stay not implemented), PS4 v1 save data
calls wrap the native v2/v3 ones, and NpWebApi library contexts, handles
and push event filters work offline (service filters fail without a
signed-in user). libSceAjm is built from the libSceAjm.native sources
for PS4 titles. Limbo's (CUSA01664) remaining PS4 imports, including the
synchronous PS4 TUS calls and the Facebook dialog calls next to the
existing libraries, are exported as not implemented.
2026-10-22 00:35:09 +03:00
boykopovar
a6dcea9279
Merge pull request #9137 from boykopovar/fix/funcs-abi-debt-2026-10-20
...
fix(libs): libs funcs abi debt 2026 10 20
Corrected signatures or behaviour of 1,702 existing exported functions across 96 libraries. Added 85 typed export wrappers. Unimplemented functions retain NotImplemented_nid_no_patch(__func__).
2026-10-22 00:32:11 +03:00
Adrià
fe93440dfd
Merge pull request #8502 from xXPBSXx/fix/pthread-barrier-count-limit
...
fix(libkernel): reject a pthread barrier count above INT_MAX like libthr
2026-10-21 21:02:25 +02:00
Adrià
3d29fe0825
Merge pull request #8487 from xXPBSXx/fix/nanosleep-clamp-long-requests
...
fix(libkernel): clamp long nanosleep requests like FreeBSD instead of wrapping them
2026-10-21 20:58:12 +02:00
boykopovar
8b75d497c0
fix(kernel): reject unimplemented internal pool statistics
2026-10-21 21:56:05 +03:00
boykopovar
f4447aa252
fix(kernel): restore coredump registration and file flag validation
2026-10-21 21:55:33 +03:00
boykopovar
b9fb0d2897
fix(kernel): restore signed coredump attachment lengths
2026-10-21 21:55:32 +03:00
boykopovar
ee76c0cd98
fix(kernel): restore coredump buffer validation and data type argument
2026-10-21 21:55:30 +03:00
Adrià
eaff87674c
Merge pull request #8492 from xXPBSXx/fix/recv-after-shutdown-and-empty
...
fix(libkernel): answer a receive after SHUT_RD or with no buffer without the host
2026-10-21 20:39:37 +02:00
Adrià
ee67ebcf2d
Merge pull request #8663 from xXPBSXx/fix/transfer-descriptor-first-fb
...
fix(libkernel): look up the descriptor of read, write, pread and pwrite before their buffer and offset
2026-10-21 20:35:28 +02:00
Adrià
ea241c01b3
Merge pull request #8504 from xXPBSXx/fix/pthread-cond-timedwait-negative-seconds
...
fix(libkernel): reject a negative cond timedwait deadline like libthr
2026-10-21 20:29:21 +02:00
Adrià
b00235dda0
Merge pull request #8439 from xXPBSXx/fix/mmap-anonymous-flags
...
fix(libkernel): accept MAP_ANON without MAP_PRIVATE and refuse MAP_SHARED with MAP_PRIVATE
2026-10-21 20:16:10 +02:00
Adrià
b4d10586ef
Merge pull request #8411 from xXPBSXx/fix/sigaction-reject-undefined-flags
...
fix(libkernel): reject undefined sa_flags in sigaction with EINVAL
2026-10-21 20:10:35 +02:00
Adrià
8e72738df6
Merge pull request #8437 from xXPBSXx/fix/mprotect-ignore-undefined-bits
...
fix(libkernel): drop undefined protection bits in mprotect
2026-10-21 20:08:57 +02:00
Adrià
e09b022ea9
Merge pull request #8407 from xXPBSXx/fix/sigprocmask-never-block-kill-stop
...
fix(libkernel): never block SIGKILL and SIGSTOP in sigprocmask and sigsuspend
2026-10-21 20:08:51 +02:00
Adrià
0b117a8bfc
Merge pull request #8392 from xXPBSXx/fix/socket-argument-order-fb
...
fix(libkernel): check socket address arguments before the descriptor
2026-10-21 20:05:37 +02:00
xXPBSXx and Claude Sonnet 5.5
c02a5d8034
fix(libkernel): keep the receive-after-SHUT_RD answer on Windows only
...
On Linux the host keeps data that was buffered before shutdown(SHUT_RD) and
guest_socket_pair expects to read it, so the shortcut that answers 0 for any
receive after SHUT_RD broke that test there. Limit the shortcut to Windows,
where the host cannot answer it, and run the post-shutdown receives of
guest_tcp on Windows only.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-21 20:01:18 +02:00
xXPBSXx and Claude Sonnet 5.5
ba8b881fa6
fix(libkernel): answer a receive after SHUT_RD or with no buffer without the host
...
soreceive_generic returns 0 for a socket whose receive side is shut and for a
zero-length receive on a connected stream socket (ENOTCONN when it is not
connected), without waiting. Winsock fails the first with WSAESHUTDOWN, which
reached the guest as EPIPE, and blocks the second until data arrives. recv and
recvfrom now answer both themselves.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-21 20:01:18 +02:00
Adrià
606297f34f
Merge pull request #8474 from xXPBSXx/fix/recv-msg-waitall
...
feat(libkernel): accept MSG_WAITALL in recv, recvfrom and recvmsg on a stream socket
2026-10-21 20:00:45 +02:00
Dean
cecb540a63
Merge pull request #2528 from FitzVB/fix/libkernel-sync-on-address-buckets
...
perf(libkernel): shard SyncOnAddress waiters across hashed buckets
2026-10-22 03:39:41 +13:00
Adrià
f90a3f7297
Merge pull request #8523 from MarrasFederico/feat/kqueue-read-on-kqueue
...
feat(libkernel): watch a kqueue with EVFILT_READ
2026-10-21 16:03:30 +02:00
Adrià
5faed506a5
Merge pull request #8428 from hypermoist/feat/libkernel-pthread-cleanup-push
...
feat(libkernel): implement pthread_cleanup_push and pthread_cleanup_pop
2026-10-21 15:32:45 +02:00
Adrià
1ae3f38d9e
Merge pull request #8400 from slider/feat/libkernel-mutex-np
...
feat(libkernel): add mutex ownership, relative lock and spin/yield accessors
2026-10-21 15:32:34 +02:00
Dean
1d2f8cfe0e
Merge pull request #8859 from hypermoist/feat/libc-c11-thread-forwards
...
feat(libc): forward the C11 thread and TSS calls to libkernel
2026-10-22 01:54:23 +13:00
Retr0
36226741f5
fix(libc): open a directory with fopen in a read mode on Windows
...
FreeBSD 11 fopen opens the path with _open, and vn_open_vnode refuses a
directory only for FWRITE or O_TRUNC, so fopen of a directory in a read
mode succeeds; Linux hosts already open it. On Windows CreateFileW
without FILE_FLAG_BACKUP_SEMANTICS refused it with EACCES.
fopen now opens such a path as a libkernel directory descriptor, which
libkernel registers in libc when it loads, and fclose and freopen remove
it from libkernel's table. Reads on the stream fail with EISDIR and set
the error indicator, as on a Linux host and FreeBSD's tmpfs: the Windows
CRT fails them already but reports EINVAL. Writes fail with EBADF, and
fseek, ftell and ungetc work, as on any read-only stream.
2026-10-21 14:48:37 +03:00
Adrià
e335d5b5ba
Merge pull request #7974 from DavidSamir/feat/libkernel-file-mmap-macos
...
feat(libkernel): map files through the guest's mmap on macOS hosts
2026-10-21 13:46:41 +02:00
Adrià
de4ef842b5
Merge pull request #7850 from mugurc/feat/libkernel-sockets-macos
...
feat(libkernel): UDP sockets and name resolution on macOS hosts
2026-10-21 13:36:21 +02:00
Federico Marras
cc7b9a7652
Merge remote-tracking branch 'upstream/main' into feat/kqueue-read-on-kqueue
...
# Conflicts:
# docs/dev/debt/libkernel.md
2026-10-21 13:17:12 +02:00
Dean
3e91c8edf5
Merge pull request #8850 from UnhealthyKraken/feat/libkernel-cfsetspeed
...
feat(libkernel): implement cfsetspeed
2026-10-22 00:13:16 +13:00
Dean Galvin and Aryan Sharma
c54d294a05
Merge origin/main into PR 2528
...
Co-authored-by: Aryan Sharma <aryan152015@gmail.com >
2026-10-21 23:12:54 +13:00
Dean
ee676246cf
Merge pull request #6519 from Get-fix/ps4/kernel-system-module-path
...
feat(libkernel): load system libraries from their console paths
2026-10-21 23:07:21 +13:00
Dean
e6ebe8a8b7
Merge pull request #8857 from Dripl1x/perf/direct-memory-section-pool
...
perf(libkernel): reuse released direct-memory sections that never held data
2026-10-21 22:20:39 +13:00
Dean Galvin
0f7241f3a7
Merge origin/main into PR 6519
2026-10-21 21:35:27 +13:00
Sebastian and Claude Opus 5.5
74bd5d9fa5
feat(libkernel): add mutex ownership, relative lock and spin/yield accessors
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-21 08:00:19 +00:00
Dean
ef1f41c4c9
Merge pull request #8061 from Dragost/fix/libkernel-pthread-yield-busy-spin
...
fix(libkernel): prevent 100% CPU busy-spinning on pthread yield on Windows
2026-10-21 20:57:20 +13:00
Dean
8425543705
Merge pull request #8655 from cadenasynyster/fix/win-open-loop-inside
...
fix(libkernel): report ELOOP for a path below a Windows symlink loop
2026-10-21 20:57:12 +13:00
Dragost
2716dee730
fix(libkernel): prevent 100% CPU busy-spinning on pthread yield on Windows
2026-10-21 09:30:27 +02:00
Dean
9be6ccf60c
Merge pull request #8255 from Nixitov/feat/process-abi-type
...
feat(libkernel): declare sceKernelGetProcessAbiType
2026-10-21 20:20:37 +13:00
Nixitov
4d83fece6d
feat(libkernel): declare sceKernelGetProcessAbiType
...
AI-assisted: yes
2026-10-21 09:01:22 +02:00
Dean
5b5d2a8636
Merge pull request #8626 from xXPBSXx/carry/6226-relinker-stem
...
fix(libc): find a relinked module by stem when the exact name misses (carries #6226 )
2026-10-21 19:52:46 +13:00
blu
04b1d6e5b5
Merge branch 'boykopovar:main' into pr/windows-reparse-non-link
2026-10-20 23:38:51 -07:00
Dean
65c393a684
Merge pull request #8714 from mehmetbayoglu/fix/libkernel-process-time-tsc
...
fix(libkernel): tick the process time counter at the TSC frequency
2026-10-21 19:36:01 +13:00
hypermist and Claude Opus 5.5
8bddc39245
feat(libc): forward the C11 thread and TSS calls to libkernel
...
_Call_once, _Tss_create, _Tss_delete, _Tss_get, _Tss_set, _Thrd_equal,
_Thrd_current and _Thrd_exit call scePthreadOnce, scePthreadKeyCreate,
scePthreadKeyDelete, scePthreadGetspecific, scePthreadSetspecific,
scePthreadEqual, scePthreadSelf and scePthreadExit and return their
results unchanged, as the console's libSceLibcInternal does.
_Mtx_current_owns returns 1 there. libkernel registers the calls with
libc at load, next to the pthread_create registration.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:31:00 +13:00
Kraken
aae12fa111
feat(libkernel): implement cfsetspeed
2026-10-21 04:00:42 +01:00