Commit Graph
673 Commits
Author SHA1 Message Date
Dean b7865bbb6b Merge pull request #8344 from Retr0G28/fix/socketpair-getpeername-enotconn
fix(libkernel): return ENOTCONN from getpeername once a socketpair peer closed
2026-10-25 13:28:30 +13:00
Dean cf528e78c6 Merge pull request #9160 from yabanana/feat/kernel-sys-thread-queries
feat(libkernel_sys): identify the initial pthread
2026-10-25 12:57:53 +13:00
Retr0 3af8e6d040 Merge remote-tracking branch 'origin/main' into fix/socketpair-getpeername-enotconn
# Conflicts:
#	core/libs/tests/GuestSocketPair.cpp
2026-10-25 02:23:58 +03:00
Daniele Giovane 12ff96135f docs(libkernel): link initial-thread debt to its provider 2026-10-24 22:44:26 +02:00
Daniele Giovane 65bb594abb docs(libkernel): retain only initial-thread query limitations 2026-10-24 22:38:43 +02:00
Daniele Giovane 32926902b8 Merge main and leave pthread attributes to the earlier contribution 2026-10-24 22:38:29 +02:00
Dean 30be9b428b Merge pull request #10331 from orezraey/fix/libkernel-multicast-membership-measured-ps5
fix(libkernel): join and leave multicast groups as measured on a PS5
2026-10-25 08:03:16 +13:00
orezraeyandClaude Opus 5.5 fddc34a381 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 15:16:39 -03:00
Adrià 6b496aa1d1 Merge pull request #7299 from qpavyros/codex/windows-named-shm
feat(libkernel): support named shared memory on Windows
2026-10-24 19:42:16 +02:00
Dean ebdfb92528 Merge pull request #8872 from ycbuzi/feat/libc-siginterrupt
feat(libc): implement siginterrupt through the sigaction libkernel registers
2026-10-25 06:39:00 +13:00
Dean 6d0139cd33 Merge pull request #10330 from orezraey/fix/libkernel-socket-flags-measured-ps5
fix(libkernel): keep the SOL_SOCKET flags a PS5 accepts
2026-10-25 06:34:52 +13:00
Dean d003e64fcf Merge pull request #9099 from aarushkha/feat/libkernel-equeue-regular-file-events-v2
feat(libkernel): answer sceKernelAddReadEvent and sceKernelAddWriteEvent on regular files
2026-10-25 06:33:30 +13:00
orezraeyandClaude Opus 5.5 6fc4ba0d31 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:21:09 -03:00
orezraeyandClaude Opus 5.5 7c04bd3a43 Merge fix/libkernel-multicast-membership-measured-ps5 into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:20:50 -03:00
Adrià 137a8fab89 Merge pull request #7853 from ionut27001/fix/libkernel-rtprio-thread-lookup
fix(libkernel): report a thread's class and priority from rtprio_thread as measured on a PS5
2026-10-24 19:01:43 +02:00
orezraeyandClaude Opus 5.5 c7b39854eb Merge main into fix/libkernel-socket-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 13:57:57 -03:00
Dean dc9f1ef656 Merge pull request #10327 from orezraey/fix/libkernel-tcp-options-measured-ps5
fix(libkernel): keep TCP_MAXSEG and the TCP keepalive options as measured on a PS5
2026-10-25 05:52:56 +13:00
Adrià 440cbddca1 Merge pull request #8234 from jagrat04/feat/libSceNet-show-ifconfig-with-memory
feat(libSceNet): implement sceNetShowIfconfigWithMemory
2026-10-24 18:46:53 +02:00
Adrià c9b75825f3 Merge pull request #8373 from slider/feat/libkernel-pthread-attr-accessors
feat(libkernel): add missing pthread attribute accessors
2026-10-24 17:29:28 +02:00
orezraeyandClaude Opus 5.5 a328020e95 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 12:24:32 -03:00
review ac2591a193 Merge commit 'refs/review/8742/head' into HEAD 2026-10-24 17:23:45 +02:00
Dean 2393e2e773 Merge pull request #10320 from orezraey/fix/libkernel-ip-options-measured-ps5
fix(libkernel): keep IP_TTL, IP_TOS and the multicast options as measured on a PS5
2026-10-25 04:18:17 +13:00
Dean ce16645691 Merge pull request #9127 from Retr0G28/fix/equeue-rotate-level-events
fix(libkernel): move events reported by sceKernelWaitEqueue behind the waiting ones
2026-10-25 04:17:49 +13:00
Dean e60371da9c Merge pull request #9123 from Retr0G28/fix/sigaction-ignore-discards-pending
fix(libkernel): discard a pending signal when sigaction or signal ignores it
2026-10-25 04:17:21 +13:00
aarushkha 8d67d8d070 docs(libkernel): note that lseek does not reactivate a regular-file read knote on FreeBSD 2026-10-24 20:37:58 +05:30
Dean 7dea7774d6 Merge pull request #10018 from JJenkx/fix/dmem-release-skips-free-pages
fix(libkernel): skip unallocated pages in sceKernelReleaseDirectMemory
2026-10-25 03:51:22 +13:00
Retr0 8083ae7209 Merge remote-tracking branch 'origin/main' into fix/sigaction-ignore-discards-pending
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-24 16:44:21 +03:00
Retr0 8f66466e75 Merge remote-tracking branch 'origin/main' into fix/socketpair-getpeername-enotconn 2026-10-24 16:09:19 +03:00
Retr0 f389bcce9c docs(debt): describe the sceKernelWaitEqueue report order after a rotation 2026-10-24 16:08:12 +03:00
orezraeyandClaude Opus 5.5 d9d84b5912 fix(libkernel): drop a multicast group through INADDR_ANY on any interface
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 10:01:20 -03:00
Adrià 6cd36e6517 Merge pull request #9794 from Retr0G28/feat/sysctl-kern-boottime
feat(libkernel): answer kern.boottime in sysctl and sysctlbyname
2026-10-24 14:58:01 +02:00
orezraeyandClaude Opus 5.5 8d28c15ea4 Merge fix/libkernel-socket-flags-measured-ps5 into fix/libkernel-multicast-membership-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:57:22 -03:00
orezraeyandClaude Opus 5.5 2f443f3b88 Merge fix/libkernel-tcp-options-measured-ps5 into fix/libkernel-socket-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:56:35 -03:00
orezraeyandClaude Opus 5.5 d360078c6a Merge fix/libkernel-ip-options-measured-ps5 into fix/libkernel-tcp-options-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:56:27 -03:00
orezraeyandClaude Opus 5.5 55473fb673 fix(libkernel): keep the low byte of an int IP_MULTICAST_LOOP
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:55:58 -03:00
Dean 9a1ea5de1b Merge pull request #10110 from BunnyFl/feat/libkernel-version-trace-queries
feat(libkernel): implement the system-ex version, lower-limit and trace memory queries
2026-10-25 01:53:38 +13:00
Adrià f13538ecad Merge pull request #9074 from imellag/fix/libkernel-posix-raise-deferral
fix(libkernel): defer raises while a thread holds the address-wait lock on Linux and macOS
2026-10-24 14:29:36 +02:00
Dean 0fc488a06d Merge pull request #10230 from orezraey/fix/libkernel-module-info-from-addr-measured-ps5
fix(libkernel): answer sceKernelGetModuleInfoFromAddr's flags and failures as measured on a PS5
2026-10-25 00:24:17 +13:00
Dean 5b02b41c1d Merge pull request #9876 from orezraey/fix/libkernel-aio-limits-measured-ps5
fix(libkernel): follow AIO limits, unknown ids and reported states as measured on a PS5
2026-10-25 00:21:25 +13:00
Adrià fa515def85 Merge pull request #7653 from ionut27001/fix/libkernel-kevent-timer-readd
fix(libkernel): handle kevent timer re-adds and the AIO, LIO, SENDFILE and PROCDESC filters as measured on a PS5
2026-10-24 13:02:21 +02:00
Adrià 887a9640b4 Merge pull request #7605 from HQasper/fix/poll-kqueues
fix(libkernel): poll kqueues as kqueue_poll answers
2026-10-24 12:32:33 +02:00
JJenkxandClaude Opus 5.5 462f8dff1f fix(libkernel): skip unallocated pages in sceKernelReleaseDirectMemory
The unchecked release passed its whole range to ForgetDirectMemory,
which throws on any page that is not allocated, so releasing a range
that is partly or wholly free aborted the process. Release only the
allocated runs, as shadPS4's unchecked free does; the checked variant
still returns ENOENT for them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 05:54:17 -04:00
bluandClaude Opus 5.5 e040d1191b Merge branch 'boykopovar:main' into feat/libc-siginterrupt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:49:01 -07:00
Adrià f23ed4533d Merge pull request #8921 from xXPBSXx/docs/udp-disconnect-windows-bound-address
docs(debt): record what a Windows UDP socket keeps after connect(AF_UNSPEC)
2026-10-24 11:28:43 +02:00
Adrià bfb504fc78 Merge pull request #8533 from Retr0G28/docs/libkernel-dup-directory-debt
docs(debt): drop the Windows directory dup gap from libkernel
2026-10-24 11:25:49 +02:00
Adrià 6b4cf8c731 Merge pull request #8408 from thuanquang/docs/debt-amm-submit-queue
docs(libkernel): say that an AMM command buffer may run after its submission returns
2026-10-24 11:21:27 +02:00
Dean ce965ddb7b Merge pull request #9153 from orezraey/fix/libkernel-dmem-available-measured-ps5
fix(libkernel): match sceKernelAvailableDirectMemorySize arguments to PS5
2026-10-24 22:13:10 +13:00
Dean e058b3284a Merge pull request #9167 from slider/feat/libkernel-named-semaphores
feat(libkernel): implement named POSIX semaphores
2026-10-24 21:09:30 +13:00
ionut27001 27e37024a8 fix(libkernel): handle kevent timer re-adds and the AIO, LIO, SENDFILE and PROCDESC filters as measured on a PS5
In payload processes on a PS5 (firmware 12.70), re-adding an existing
periodic EVFILT_TIMER with EV_ADD, fflags 0 and a positive period kept
the armed expiry and the expirations already counted, and applied the
new period after that expiry, as FreeBSD 11.0 does. EV_ONESHOT in the
re-add left the timer periodic. Here such a re-add threw; it now does
the same. Re-adding a one-shot or disabled timer, a re-add with nonzero
fflags, a period of 0 or less, a period that overflows the armed expiry
or flags other than EV_ONESHOT, and the other changes to an existing
timer except EV_DELETE still throw.

There, EV_ADD failed with EPERM for EVFILT_AIO, EVFILT_LIO and
EVFILT_SENDFILE at every ident and flag set tried, and EV_DELETE and
EV_ENABLE of them without EV_ADD failed with ENOENT. EVFILT_PROCDESC
failed with EBADF on a descriptor that is not open and with EINVAL on
every kind of open descriptor tried, and EV_DELETE of it on a socket
failed with ENOENT. These filters threw here; they now answer the same
way. EV_ADD of EVFILT_PROCDESC fails with EINVAL on the kinds of
descriptor tried and on shared memory, and throws on other kinds and on
descriptors 0 to 2 that are not sockets or kqueues; a change without
EV_ADD fails with ENOENT, after the descriptor check for
EVFILT_PROCDESC.

A new kevent measurements debt entry, which the kqueue and kevent entry
points to, records these measurements and the answers for NOTE_LOWAT
marks and EVFILT_READ on another kqueue, which still throw here. The
kqueue and kevent entry also stops listing a NOTE_NSECONDS period above
one second with a fraction among the cases that throw, since d71a1c577
made it work.
2026-10-24 10:08:01 +02:00
Dean efe844c653 Merge pull request #10308 from orezraey/fix/libkernel-socket-receive-measured-ps5
fix(libkernel): answer zero-length datagram receives and recvmsg flags as measured on a PS5
2026-10-24 20:46:44 +13:00