Commit Graph
7963 Commits
Author SHA1 Message Date
LeandroLP23andClaude Opus 5.5 a69872e516 fix(agc): hand a recorded submission to the driver before the recorder takes its next call
The recorder released its lock between recording a submission, flip or
suspend point and the driver accepting it. Another thread's delta could
then wait for the accepted work, read its blocks, and record itself
after a call whose work the driver had not accepted yet, so the replay
submitted that work before applying stale bytes over its result. The
entry points now pass the driver call to the recorder, which runs it
under the same lock right after recording the call.

agc_driver_frame_replay_concurrent submits copies from a second thread
during the capture and checks that every memory delta was read after
the submissions recorded before it had completed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 23:20:21 +01:00
Dean b90d009d9f Merge pull request #10665 from JJenkx/fix/libc-acoshf-positive-rounding-20261024
fix(libc): match acoshf positive-range evaluation
2026-10-26 11:14:24 +13:00
JJenkxandClaude Opus 5.5 c228d7a459 docs(libc): record the wide scanner's float errno contract
swscanf restores errno around strtof and strtod, as the bundled
libc.prx does, while long double conversions keep host strtold's
errno and the narrow sscanf family keeps the host's ERANGE. Record
both gaps in the existing swscanf debt entry, as review asked.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:12:05 -04:00
Dean 701616674a Merge pull request #10708 from Michael-KD/test/sdwa-cvt-f32-ubyte-measured
test(shader): pin SDWA v_cvt_f32_ubyte source selects measured on RDNA2
2026-10-26 11:10:38 +13:00
Danigamer05 c54589b40c docs(pngdec): qualify large-image validation evidence 2026-10-25 23:09:37 +01:00
Dean 3c2453eb8e Merge pull request #10808 from ElysiaAlarien/docs/libscemsgdialog-debt
docs(libSceMsgDialog): record the silent stub and parameter layout as debt
2026-10-26 11:09:35 +13:00
orezraeyandClaude Opus 5.5 a69e912b16 docs(libkernel): record timed self-locks, event flag open and create, and the reltimed calls as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:09:29 -03:00
orezraeyandClaude Opus 5.5 abd1913b54 docs(libkernel): keep the semaphore debt entry under 1000 characters
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:09:11 -03:00
Dean 905c3e2870 Merge pull request #10647 from Bram910/fix/call-site-hint-prefixes
fix(relinker): resolve BND and NOTRACK call sites
2026-10-26 11:09:02 +13:00
Dean fd450a5b9b Merge pull request #8997 from HQasper/claude/project-thread-wjykmu
fix(libSceFont): select the Hangul Light system font
2026-10-26 11:08:35 +13:00
Evrim Cicek cf57327015 fix(libkernel): drop the data a socket held before shutdown(SHUT_RD) in every receive path 2026-10-26 01:08:17 +03:00
Danigamer05 4d845fb4e1 docs(keyboard): retain title character-use evidence 2026-10-25 23:08:02 +01:00
Dean 8592a95176 Merge pull request #10702 from MarcZX10/marc/signatures-libscevoice
feat(libSceVoice): declare sceVoiceVADAdjustment with its shadPS4 signature
2026-10-26 11:06:11 +13:00
Dean 6cc5ec671d Merge pull request #10394 from JJenkx/windows/libc-drand48-upper-bits
fix(libc): return the upper 32 bits of the state from drand48 and erand48 as titles' libc.prx does
2026-10-26 11:05:43 +13:00
Danigamer05 288c5290ab Merge remote-tracking branch 'origin/main' into fix/pngdec-16bit-input 2026-10-25 23:05:08 +01:00
Dean 0161550de3 Merge pull request #8621 from JJenkx/fix/playgo-scenario-unlisted
fix(libScePlayGo): answer ids past the listed scenario chunks as unlisted
2026-10-26 11:05:05 +13:00
orezraeyandClaude Opus 5.5 19f56c530a fix(libkernel): write the module handles before failing a null count as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:04:34 -03:00
JJenkxandClaude Opus 5.5 e54e3569f3 fix(libc): compute atan2f with FreeBSD msun's algorithm, as titles' libc.prx does
atan2f returned the host atan2, so its last bit depended on the host: on
Windows it differs from the libc.prx that titles ship on 7,126,466 of
200,001,024 sampled argument pairs. That libc.prx is msun's e_atan2f.c over
its atanf; with two NaN arguments it returns y's. The port gives the same
bits as PPSA07923's, PPSA05916's and PPSA13934's copies on every pair.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:04:28 -04:00
Adrià d19a809639 Merge pull request #9682 from Gruzzberry/feat/settimeofday
feat(libkernel_sys): implement settimeofday
2026-10-25 23:04:11 +01:00
Dean f2a89261e3 Merge pull request #10526 from YossiYad/feat/share-play-connection-info
feat(libSceSharePlay): implement sceSharePlayGetCurrentConnectionInfo
2026-10-26 11:03:32 +13:00
Dean 1240c09878 Merge pull request #9148 from MarrasFederico/feat/ngs2-parse-pcm-depths
feat(libSceNgs2.native): parse 8-, 24- and 32-bit PCM and float waveforms
2026-10-26 11:01:52 +13:00
slopgobblercobbler eb54ed35d4 feat(libkernel): implement additional sysconf limits
Implement POSIX / FreeBSD 11.4 limits in sysconf: _SC_CHILD_MAX (2) via getrlimit RLIMIT_NPROC, _SC_NGROUPS_MAX (4) returning 1023 (KERN_NGROUPS), _SC_STREAM_MAX (26) via getrlimit RLIMIT_NOFILE bounded by SHRT_MAX, _SC_HOST_NAME_MAX (72) returning 255 (MAXHOSTNAMELEN - 1), and _SC_LOGIN_NAME_MAX (73) returning 33.
2026-10-25 22:58:38 +01:00
Alexandre Figueiredo eb943993a7 docs(debt): cut the long-double Dinkumware entry to _LLog with the bundled libc.prx code 2026-10-25 21:58:34 +00:00
orezraeyandClaude Opus 5.5 61ae4c52df fix(libc): save the random state on a short initstate and take any setstate rear as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:47:19 -03:00
Yunus Shaikh 8a9f6ca7bc Merge main into feat/appcontent-addcont-ids-and-rudp-mss-v2
Main implements sceAppContentGetEntitlementKey next to this branch's
sceAppContentGetPftFlag; the merge keeps both declarations, both test
blocks and both debt entries. With that export implemented, Export.cpp
has 8 NotImplemented exports, and the pending-exports count says 8.
2026-10-25 14:46:54 -07:00
orezraeyandClaude Opus 5.5 625dbb4cd9 fix(libkernel): throw for SoC sensor channels 3 to 64 instead of reporting them invalid
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:45:23 -03:00
Brainiac91 56718b3314 fix(relinker): keep non-SCE scans strict while masking gap tables
Read the unwind functions of an image that only has PT_GNU_EH_FRAME so
inter-FDE data tables are still found and masked, but leave the syscall
and call-site scan ranges empty without PT_SCE_DYNLIBDATA as main does.
The fixture now emits standard dynamic tags for its SysV block, and the
debt entry stays within the 1000 character limit.
2026-10-25 23:44:07 +02:00
p3nicillinandClaude Opus 5.5 08e595fc15 docs(libScePad): keep the buffer side effect of the refusal unmeasured
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 21:43:09 +00:00
Dean 88f99678bf Merge pull request #10648 from edubox/feat/libc-pad-launch-attr
feat(libc): forward pthread attributes in _Pad::_Launch
2026-10-26 10:42:58 +13:00
p3nicillinandClaude Opus 5.5 28544a4f7d docs(libScePad): use plain links in the extended information entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 21:41:19 +00:00
orezraeyandClaude Opus 5.5 3836941fb2 fix(libkernel): clear the thread handle when scePthreadCreate rejects a long name as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:40:40 -03:00
LeandroLP23andClaude Opus 5.5 ada20294a6 fix(agc): read a frame capture's memory delta once the accepted submissions completed
A delta read its blocks with ReadCommittedUnsynced while GPU work
accepted before the call could still write them, so a capture could
hold a block from before a DMA copy that the replay then wrote back over
the copy's result. A delta with blocks to read now waits up to 10 s for
the accepted submissions and records the serials after the wait; the
capture stops with a warning when the work does not finish. The Windows
quarantine of agc_driver_frame_replay is removed.

Fixes #10711

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 22:36:36 +01:00
Adrià 9c6d153dec Merge pull request #10419 from iamthehimansh/split/macos-build
build: compile FileStream, error categories, thread priority and two tests on macOS
2026-10-25 22:35:29 +01:00
Dean Galvin ca82483369 Merge branch 'main' into perf/recent-host-imports 2026-10-26 10:32:48 +13:00
orezraeyandClaude Opus 5.5 b7e5eb7f31 fix(libkernel): return EINVAL for the semaphore arguments a PS5 rejects
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:31:11 -03:00
Dean Galvin 0a52fdf083 Merge branch 'main' into videoout-color-space-wrappers 2026-10-26 10:30:44 +13:00
Adrià 366dd4e6b7 Merge pull request #9638 from Noxy-HNR/feat/appcontent-entitlement-key
feat(libSceAppContent): implement sceAppContentGetEntitlementKey
2026-10-25 22:30:07 +01:00
xXPBSXxandClaude Sonnet 5.5 295bca0455 docs(debt): shorten the sceNetGetsockopt title note below the entry length limit
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 22:27:57 +01:00
xXPBSXxandClaude Sonnet 5.5 0774db98a0 docs(debt): note how a title uses the sceNetGetsockopt error value
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 22:27:47 +01:00
Brainiac91 dfe24c2e3a fix(relinker): bound embedded data tables and preserve trailing gap code 2026-10-25 23:25:32 +02:00
Dean Galvin f14bfa04fa Merge branch 'main' into feat/httpcache-cache 2026-10-26 10:25:20 +13:00
Ondra97 963b47a173 Merge remote-tracking branch 'origin/main' into codex/pr9621-review-20261025 2026-10-25 22:22:56 +01:00
Brainiac91 2f3e41252d fix(relinker): mask embedded data tables in inter-FDE gaps
In PS5 Prospero PRX binaries, compilers place embedded constant data tables (such as the OpenSSL Whirlpool lookup table in ubiservices.prx) in inter-FDE gaps after function code, referenced via RIP-relative LEA instructions.

- In RelativeJumpTables, detect constant data tables in inter-FDE gaps that begin with padding, contain no direct branch targets, and contain undecodable non-code bytes, distinguishing them from valid unannotated code routines and multi-hop gap branches.
- In GuestModuleBuilder and RelinkerPipeline, extract unwind functions from PT_GNU_EH_FRAME as well as PT_SCE_DYNLIBDATA, and mask embedded data tables with 0x90 in scan buffers before SyscallScanner.
- In CodeInstructionCollector, populate table boundaries whenever unwind functions are present to prevent addAddressTakenRoot from adding data table addresses to CFG roots on Windows and macOS.
- Update relinker technical debt documentation and add regression tests.

Fixes #7547
Unblocks: PPSA28155 #7547
2026-10-25 23:22:06 +02:00
Adrià 086ec0a79d Merge pull request #9523 from Queuse/codex/net-keepalive
feat(libSceNet): support SO_KEEPALIVE
2026-10-25 22:20:54 +01:00
orezraeyandClaude Opus 5.5 2d50330245 fix(libkernel): check the socket address length before its family as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:19:43 -03:00
Yunus Shaikh 1928c54b4f fix(libSceSystemService): return firmware 13.42's results for the arguments it checks before a request
BunnyFl ran firmware 13.42's libSceSystemService.sprx in an emulator and
recorded the checks these calls make before they pass a request on. A
null title ID or one whose length isn't 9 makes sceSystemServiceGetAppId
and sceLncUtilGetAppId return -1 and sceLncUtilIsAppLaunched return
0x80940005. A null output, list, count or user returns 0x80940005 from
the LncUtil and SystemService calls and 0x80e30003 from
sceShellCoreUtilGetUserFocus, before the app ID is looked at, and a null
sceLncUtilLoadExec path returns 0x80940005.

What the module passes on as a request still throws: another
9-character title ID, another app ID, a list capacity of 0 and an empty
sceLncUtilLoadExec path.
2026-10-25 14:15:27 -07:00
Dean Galvin 4f5b9951c8 Merge branch 'main' into feat/libc-thread-gaps 2026-10-26 10:15:04 +13:00
Ondra97 0cdb5d488c Merge remote-tracking branch 'origin/main' into codex/pr9621-review-20261025 2026-10-25 22:14:09 +01:00
Adrià 26ba9b6b71 Merge pull request #9499 from EagleBearerYS/fix/libkernel-signal-handler-mask
fix(libkernel): block a signal while its handler runs and honour SA_RESETHAND
2026-10-25 22:05:12 +01:00
orezraeyandClaude Opus 5.5 0868498fc2 fix(libkernel): make F_DUP2FD_CLOEXEC duplicate without the target as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:04:25 -03:00