Commit Graph
13468 Commits
Author SHA1 Message Date
milescovielloandClaude Opus 5.5 896e55c2d8 refactor(libkernel): keep recvmsg's descriptor-passing state out of Windows builds
Windows never takes the SCM_RIGHTS path, so the received descriptors and
the truncation flag are declared only where they are used.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 18:43:14 +00:00
milescovielloandClaude Opus 5.5 2f196610dd feat(libkernel): pass descriptors in SCM_RIGHTS messages on Unix sockets
sendmsg on a guest Unix-domain socket now takes FreeBSD SCM_RIGHTS control
messages (SOL_SOCKET level, data at offset 16) and sends their descriptors
with the host's SCM_RIGHTS; recvmsg receives them, installs received sockets
as guest sockets and writes FreeBSD's control record back, truncated to the
caller's buffer with MSG_CTRUNC. A closed descriptor returns EBADF, another
level or an overlong record EINVAL. Windows, other control types, IP
sockets and MSG_PEEK with a control buffer still throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 18:43:14 +00: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
Dean b3c0f48bdd Merge pull request #9301 from oneandonlydean/fix/avplayer-sync-tolerance-wait
test(avplayer): wait for the frame in the sync tolerance check
2026-10-22 07:28:37 +13:00
Adrià cf2c667060 Merge pull request #9203 from mazen320/docs/entry-register-contract
docs(architecture): record main-module entry register contracts
2026-10-21 20:22:04 +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à 6b6c701636 Merge pull request #8941 from xXPBSXx/docs/debt-snwprintf-s-handler
docs(debt): say that snwprintf_s does not invoke the exported constraint handler
2026-10-21 20:12:23 +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à d27d05ec14 Merge pull request #7883 from thuanquang/fix/strip-last-provoking-gs
fix(agc): draw triangle strips through a geometry program with the last provoking vertex
2026-10-21 20:10:30 +02:00
Adrià eb6928696a Merge pull request #7984 from fisherjoey/fix/idle-publish-wait
fix(agc): wait for the idle flush's unit-shadow publish before returning
2026-10-21 20:10:04 +02:00
Adrià 3897c5c6bd Merge pull request #7849 from MarcZX10/codex/fix-host-import-partial-unmap-lifetime
fix(agc): retire host imports before range cuts
2026-10-21 20:09:59 +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à 5fe3a62644 Merge pull request #7981 from fisherjoey/fix/import-window-digests
fix(agc): hash the pages of an import window instead of copying them
2026-10-21 20:05:58 +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
Adrià FranchandClaude 32f8205390 docs(libkernel): say the receive-after-SHUT_RD answer is Windows only
Co-Authored-By: Claude <[email protected]>
2026-10-21 20:01:26 +02:00
xXPBSXxandClaude 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 <[email protected]>
2026-10-21 20:01:18 +02:00
xXPBSXxandClaude 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 <[email protected]>
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
Adrià 95d17687ae Merge pull request #8267 from thuanquang/fix/amd-robust2
fix(agc): give AMD's proprietary driver robustBufferAccess2 again
2026-10-21 19:59:43 +02:00
Adrià 9c437e8087 Merge pull request #7629 from EagleBearerYS/fix/agc-settle-alias-before-import-free
fix(agc): destroy settle aliases before their imports are freed
2026-10-21 19:57:39 +02:00
Adrià 60976d8a4a Merge pull request #7827 from MarcZX10/codex/fix-lds-split-before-allocation-7794
fix(agc): refuse LDS split before allocation
2026-10-21 19:55:16 +02:00
Adrià 950388bfd2 Merge pull request #8313 from Gruzzberry/docs/readme-trademark-notice
docs: add trademark and non-affiliation notice to README
2026-10-21 19:39:57 +02:00
Dean 99844c7eef Merge pull request #8762 from JJenkx/fix/sparse-heap-existing-import
fix(agc): prefer imported prefixes before sparse heap mirrors
2026-10-22 06:22:49 +13:00
Dean 4ec064d29b Merge pull request #6887 from Amoenus/codex/test-msaa-reader-retile-main143
test(agc): connect MSAA sample readback to tiled layouts
2026-10-22 06:14:29 +13:00
MarcZX10 c566d31d1f test(agc): skip reimport bench below host budget 2026-10-21 16:53:05 +00:00
Dean d34da5d694 Merge pull request #7725 from milescoviello/fix/stencil-known-replace
fix(agc): draw a stencil replacement against a known stencil value as an inversion
2026-10-22 05:49:29 +13:00
MarcZX10 349a25f7ff fix(agc): remove stale trimmed-import call 2026-10-21 16:42:05 +00:00
MarcZX10 fa8115ce63 test(agc): assert whole import retires on middle unmap 2026-10-21 16:42:05 +00:00
MarcZX10 2a12152f2b test(agc): clarify imports after partial unmap 2026-10-21 16:42:05 +00:00
MarcZX10 787a7bc39d fix(agc): retire imports after dropping cached address spaces 2026-10-21 16:42:05 +00:00
MarcZX10 a9b14023dd fix(agc): retire host imports before range cuts 2026-10-21 16:42:05 +00:00
Maz 0b411ccee0 docs(architecture): record main-module entry register contracts
Answer #9048 from the host stubs: Linux, Windows and macOS differ, and the console is not measured.
2026-10-21 19:08:57 +04:00
Dean Galvin f40e1b68c8 test(avplayer): wait for the frame in the sync tolerance check
The sync tolerance test asked for the next frame once, without waiting, so on a loaded runner a decoder that had not queued frame 1 yet failed the delivery check, and the premature-delivery check passed for the same reason. Poll for the frame in both checks: with a bounded wait for the premature case and the usual wait for delivery.
2026-10-22 03:57:05 +13:00
thuanquangandClaude 0bd8f6188a fix(agc): draw triangle strips through a geometry program with the last provoking vertex
An RX 6700 XT hands a geometry shader odd strip triangle i as
(i+1, i, i+2) with the last provoking vertex, which is the order the
translator already uses, and since #7374 last mode takes the flat
outputs of the program's primitives from their last index. Keep the
last-mode refusal for fans only, which reach the program as
(i+1, i+2, 0) while the hardware gives (0, i+1, i+2). TEKKEN DARK
RESURRECTION (PPSA31371) stops on such a strip draw.

Co-Authored-By: Claude <[email protected]>
2026-10-21 21:41:01 +07: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
Dean 2c4b116da9 Merge pull request #7729 from milescoviello/fix/one-sample-depth-iter
fix(agc): draw a PS_ITER_SAMPLE program once per pixel into a one-sample depth target
2026-10-22 03:14:54 +13:00
Dean e072e8840a Merge pull request #8269 from thuanquang/test/wcsncat-s-cases
test(libc): cover wcsncat_s exact fit, one too many and unterminated destination
2026-10-22 03:09:31 +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à 663de1ab21 Merge pull request #8516 from Felipebmaitan/feat/rudp-context-options
feat(libSceRudp): retain and query context options
2026-10-21 15:56:00 +02:00
Adrià 1b5d7021a3 Merge pull request #8471 from NoOverflow/feat/libSceNpAuth-a-variants
feat(libSceNpAuth): implement sceNpAuthGetAuthorizationCodeA and sceNpAuthGetIdTokenA
2026-10-21 15:52:56 +02:00
Adrià 145223c440 Merge pull request #8488 from orezraey/feat/playgo-set-language-mask
feat(libScePlayGo): store the language mask scePlayGoSetLanguageMask sets
2026-10-21 15:52:50 +02:00
Adrià 80565c5942 Merge pull request #8431 from juanpimg/feat/prx-declare-ps5-3.20-exports-tier2
feat(prx): declare the missing PS5 3.20 system exports in the next tier of libraries
2026-10-21 15:32:51 +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à ba6abe1fd4 Merge pull request #8418 from hypermoist/feat/videoout-remove-buffer-attribute-option
feat(libSceVideoOut): implement sceVideoOutRemoveBufferAttributeOption
2026-10-21 15:32:40 +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
Adrià f62069e840 Merge pull request #8363 from MarrasFederico/feat/video-recording-p-status
feat(libSceVideoRecordingP): report a recorder that is never open in sceVideoRecordingGetStatus
2026-10-21 15:32:27 +02:00
Adrià 5bd9912658 Merge pull request #8317 from hypermoist/feat/agc-static-buffers
feat(libSceAgc): implement static buffers and qwords
2026-10-21 15:32:19 +02:00