milescoviello and Claude 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
milescoviello and Claude 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à Franch and Claude
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
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 <[email protected] >
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 <[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
thuanquang and Claude
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