Commit Graph
7963 Commits
Author SHA1 Message Date
Dean 03b96b9241 Merge pull request #10783 from Queuse/codex/check-compile-phase-options
fix(check-compile): check syntax in preprocessing commands
2026-10-26 01:37:15 +13:00
Dean 746609b979 Merge pull request #9930 from Queuse/codex/net-protocol-readback
feat(net): expose stream and datagram protocol
2026-10-26 01:35:49 +13:00
Adrià ab0d7a52a0 Merge pull request #9395 from Gruzzberry/docs/windows-guest-file-names
docs(debt): record the guest file names Windows does not create like FreeBSD
2026-10-25 13:35:15 +01:00
Himansh Raj 873f79ea9c Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 18:00:47 +05:30
Yunus Shaikh 2deb5f9ed9 feat(libSceRudp): implement sceRudpSetMaxSegmentSize
Take the 16-bit segment size Vita3K and RPCS3 declare. As in Vita3K,
the call answers NOT_INITIALIZED before sceRudpInit and NOT_ACCEPTABLE
while any context exists, and otherwise stores the size.
sceRudpGetMaxSegmentSize keeps the 1410 measured on a PS5: Vita3K leaves
the getter unimplemented, so no source says it reports a stored size.
2026-10-25 05:27:46 -07:00
JAB-devandClaude Sonnet 5.5 0abe9d8f4b Merge main into fix/ngs2-mastering-gain-ps5
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 14:21:57 +02:00
Yunus Shaikh 3eceb81ad0 fix(libSceNpManager): follow the measured NpManagerInt getter checks
BunnyFl measured firmware 13.42 libSceNpManager.sprx for the eleven
NpManagerInt getters. They now take the measured arguments and refuse
as measured: user id -1 or a null required pointer gives
INVALID_ARGUMENT, the authorization calls also refuse their value and
mode ranges (0x80550004 for the mode), and the PSNO URI form refuses
its size (0x80550011) and a URI of 0x2000 bytes or more (0x80550005).
Past the checks they keep main's offline signed-out answer for any
request id, and the tests take their request ids from the NpManagerInt
request table.
2026-10-25 12:20:58 +00:00
Yunus Shaikh 4e9ad120a8 Merge branch 'fix/npmanager-idmapper-measured-v2' into fix/npmanager-int-getters-measured
# Conflicts:
#	core/libs/tests/GuestNpManager.cpp
2026-10-25 12:20:58 +00:00
Adrià 29ce6d87eb Merge pull request #8735 from hamb3r/perf/agc-compute-prewarm
perf(agc): prebuild compute pipelines and prewarm dispatch shaders ahead of execution
2026-10-25 13:20:12 +01:00
Adrià a8b199d103 Merge pull request #7618 from mrfelek/perf/stage-swept-write-only
perf(agc): stage written-only buffer elements a dispatch sweeps on discrete GPUs
2026-10-25 13:19:08 +01:00
Yunus Shaikh 9345b1fe88 fix(libSceNpManager): follow the measured IdMapper checks and NpManagerInt request table
BunnyFl measured firmware 13.42 libSceNpManager.sprx. The IdMapper
account-id lookups take seven arguments: a request id of 0 or less
gives 0x80553085, then user id -1, a null pointer or a value outside
1 to 1000 gives 0x80553083, and past the checks they answer signed out
as main's offline model does. IdMapper abort and delete refuse a
request id of 0 or less with 0x80553085, and IdMapper requests get a
counter of their own instead of the sceNpCreateRequest pool.

NpManagerInt requests sit in a 64-slot table of their own: the 65th
live request gives 0x80559D05, delete gives 0x80559D0A for an id the
table does not hold, and abort answers from the offline service.
2026-10-25 12:13:08 +00:00
Yunus Shaikh be3f208b02 fix(libSceNet): answer sceNetInitParam and a null sceNetConfigGetIfFlags as measured
BunnyFl measured both calls in firmware 13.42 libSceNet.sprx, run in an
emulator on the module itself. sceNetInitParam returns 0x80410116 for a
null parameter. The first non-null call copies the first 32 bytes of the
parameter and returns 0, and every later call returns 0x80410110, with a
null parameter and after sceNetTerm too, because the flag is never
cleared. sceNetConfigGetIfFlags returns 0x8041130E for a null flags
pointer before anything else. Both replace throws that stood in for the
unknown answers.

The first successful sceNetInitParam still marks the library initialized,
as sceNetInit does here, because the other calls check it. The module
reads only bit 0 of the stored copy's first word, to raise the pool limit
of sceNetPoolCreate from 32 to 128; that limit is recorded as not
modelled, as sceNetPoolCreate here has none.
2026-10-25 05:11:17 -07:00
jacob6769 69405e15f9 Merge remote-tracking branch 'origin/main' into fix/libressl-digest-version-paths
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-25 21:11:02 +09:00
Bram910 c265e51abf Merge main into fix/call-site-hint-prefixes 2026-10-25 13:01:17 +01:00
JJenkx c05345f529 fix(libc): preserve acoshf log and reciprocal evaluation 2026-10-25 07:52:32 -04:00
Dean a5a780eaaa Merge pull request #10071 from atharvjairath/feat/libressl-cipher-metadata
feat(libressl): implement cipher metadata queries
2026-10-26 00:42:49 +13:00
verusferro ffd8b6f8ae feat(libSceSpSysCallWrapper): forward sceSpPthreadMutexattrSetprioceiling
Firmware 13.60's libSceSpSysCallWrapper.sprx jumps to libkernel's
scePthreadMutexattrSetprioceiling, which libkernel now implements, so the
wrapper forwards to it like the 47 other wrappers in the library. The
library's debt file held only this entry and is removed.
2026-10-25 14:39:49 +03:00
Adrià c2e087b2a6 Merge pull request #7049 from blawesom/followup/6510
fix(libkernel): retire an EV_ONESHOT note through its delete callback and follow Windows $Deleted paths
2026-10-25 12:38:21 +01:00
Dean cdcbd55134 Merge pull request #10787 from 00xDisaster/feat/libc-dinkumware-divide
feat(libc): implement _Divide, _FDivide, _Recip and _FRecip
2026-10-26 00:36:31 +13:00
roboterspinne 2ac9311745 fix(relinker): reject nonzero GLOB_DAT and JUMP_SLOT addends in Linux output
The Linux output copied a nonzero r_addend of GLOB_DAT and JUMP_SLOT
relocations unchanged into DT_RELA and DT_JMPREL, while the Windows,
macOS and guest module paths refuse it. The x86-64 psABI computes both
types as S, but glibc before f8587a61892c applies S+A when binding
eagerly, so the result depended on the host glibc and, for JUMP_SLOT,
on the binding mode. The Linux patcher now refuses such an entry in all
three Linux modes with the Windows message and the unrebased r_offset.
Entries with a zero addend are emitted as before.
2026-10-25 12:32:48 +01:00
Himansh Raj 3a1d61c5d4 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 17:00:47 +05:30
Yossi Yadgar 866ab27a80 docs(debt): clarify unverified console identity behavior 2026-10-25 13:11:03 +02:00
roboterspinne a54a939924 fix(relinker): reject Windows executable imports bound into the TLS template
Windows output accepted an executable import relocation whose target
overlaps the PT_TLS initialization image, and every guest thread read 0
there because the .gtls template is copied before the entry stub binds
the import. In ELF, ld.so relocates the image before copying it into a
thread's TLS block. The PE patcher now refuses such a relocation after
the relocation pass, as the Windows guest module writer already does,
and reports its ELF target address. Linux and macOS outputs are
unchanged, and the gap is recorded in docs/dev/debt/relinker.md.
2026-10-25 12:10:24 +01:00
Yossi Yadgar 803601ffa4 fix(libkernel_sys): publish identity types and reject null system IDs 2026-10-25 13:08:55 +02:00
wrocketdevandClaude Opus 5.5 7f295d046b feat(libSceLibreSsl): implement the OCSP status and reason strings
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 12:08:49 +01:00
Yossi Yadgar e4c41ba71a docs(debt): note the fpPS4 signatures of the plain NpParty exports 2026-10-25 13:07:35 +02:00
Yossi Yadgar fd1cfeaced docs(debt): note the plain SharePlay connection info layout 2026-10-25 13:07:35 +02:00
Yossi Yadgar 0d851dd1f3 docs(debt): note the retail console identity in libkernel_sys 2026-10-25 13:06:28 +02:00
Yossi Yadgar b9420dfa1b docs(debt): note the blocking NpTus data and variable calls 2026-10-25 13:05:49 +02:00
orezraeyandClaude Opus 5.5 b3b0760369 Merge main into fix/libkernel-rtld-thread-atexit-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 08:05:05 -03:00
Adnan Khan dc510a5279 fix(libSceAmpr): record Nop as n dwords with a one-dword header 2026-10-25 16:32:53 +05:30
Adrià e317f41d59 Merge pull request #10440 from SuarezPM/ai/atomic64-keyed-tables
feat(shader): support 64-bit image atomics through keyed image tables
2026-10-25 11:58:35 +01:00
Dean b91a6a60c5 Merge pull request #10595 from TechLevelZero/fix/f32-conversion-denormal-modes
fix(shader): translate f32 conversions in f32 denormal modes 1 and 2
2026-10-25 23:54:07 +13:00
orezraeyandClaude Opus 5.5 20b38adb09 Merge main into fix/libkernel-socket-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 07:53:50 -03:00
Eduardo Ruiz 11bc03f8f4 fix(libc): keep the native Windows condition-variable path
std::condition_variable_any regressed guest_libc_cnd_timed_wait on the Windows runner. Keep CRITICAL_SECTION/CONDITION_VARIABLE on Windows and poll TryEnterCriticalSection for _Mtx_timedlock.
2026-10-25 11:51:10 +01:00
Adrià 75227c7cdc Merge pull request #10423 from meh7an/perf/shader-masked-result-memo
perf(shader): reuse a memoized result by patching its copied words
2026-10-25 11:50:14 +01:00
Queuze 1948b80df3 test(check-compile): guard forwarded response operands 2026-10-25 07:49:11 -03:00
Queuze 225b6072fc fix(check-compile): reject forwarded response operands 2026-10-25 07:47:42 -03:00
Adrià c7d6660ef8 Merge pull request #9365 from thuanquang/docs/debt-sweep-kernel-sockets
docs(libkernel): correct three stale socket statements
2026-10-25 11:47:05 +01:00
Adrià 3eb0770ae9 Merge pull request #9361 from thuanquang/docs/debt-sweep-agc-cb-passes
docs(agc): correct multisampled DCC acceptance in the CB passes debt entry
2026-10-25 11:46:13 +01:00
Adrià 0a3fcd6fc0 Merge pull request #9364 from thuanquang/docs/debt-sweep-libc-misc
docs(libc): correct stale rmdir, nanf and bad_optional_access debt statements
2026-10-25 11:45:51 +01:00
Adrià a134d8ddf8 Merge pull request #9362 from thuanquang/docs/debt-sweep-ngs2
docs(libSceNgs2.native): point the mastering voice gain entry at the AudioOut2 entries in libSceAudioOut
2026-10-25 11:44:54 +01:00
Adrià 62660f3309 Merge pull request #9363 from thuanquang/docs/debt-sweep-kernel-misc
docs(libkernel): drop stale mlockall, open file limit and protection bit claims
2026-10-25 11:44:36 +01:00
Adrià d9c32b7863 Merge pull request #9360 from thuanquang/docs/debt-sweep-libc-printf-constraint
docs(libc): correct the RSIZE_MAX that swprintf_s and vswprintf_s assume
2026-10-25 11:42:33 +01:00
Adrià 109d288487 Merge pull request #9359 from thuanquang/docs/debt-sweep-kernel-signals
docs(libkernel): drop the stale 32-signal limit from the pthread_sigmask entry
2026-10-25 11:41:41 +01:00
Adrià a2f634b2c0 Merge pull request #9357 from thuanquang/docs/debt-sweep-net-accept
docs(libSceNet): correct when sceNetAccept reads the inherited nonblocking mode
2026-10-25 11:41:36 +01:00
Queuze d342a58981 test(check-compile): validate forwarded action integration 2026-10-25 07:41:05 -03:00
Queuze 454eb1f46a fix(check-compile): preserve safe forwarded operands 2026-10-25 07:40:23 -03:00
Adrià ce29789faa Merge pull request #9352 from thuanquang/docs/debt-force-degamma-variant-names
docs(agc): name the 10_11_11 and 2_10_10_10 variants that FORCE_DEGAMMA leaves unchanged
2026-10-25 11:40:07 +01:00
Adrià 43a4a36b95 Merge pull request #9298 from UnhealthyKraken/docs/kernel-cleanup-debt
docs(libkernel): record cleanup unwind and allocation limits
2026-10-25 11:38:09 +01:00