Commit Graph
7413 Commits
Author SHA1 Message Date
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
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
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 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
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 ff667ba3b7 fix(libc): give strerror_s the strerror texts and return 0 on truncation as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:01:11 -03:00
orezraeyandClaude Opus 5.5 373027da36 fix(libc): reject strerror_r buffers under 23 bytes and cut longer texts
The libc.prx that PPSA31872 ships returns ERANGE for a buffer shorter than
23 bytes and otherwise strncpy's length - 1 bytes and terminates the last
one. This matches the firmware 13.60 log, where error 0 with a 16-byte
buffer returned 34 although "No error" fits.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:59:49 -03:00
orezraeyandClaude Opus 5.5 b4530f1cce fix(libc): give strerror_r and perror the strerror texts as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:59:49 -03:00
Dean Galvin 91039afff1 Merge branch 'main' into feat/audioout-set-main-output 2026-10-26 09:57:37 +13:00
camezaro-intc 1257830a26 feat(libkernel_sys): forward sceKernelLoadStartModuleForSysmodule to sceKernelLoadStartModule 2026-10-25 14:56:34 -06:00
Ondra97 a6a2c89101 Merge remote-tracking branch 'origin/main' into codex/pr9621-review-20261025 2026-10-25 21:56:19 +01:00
Adrià cceb6c3c41 Merge pull request #9961 from daviaaze/fix/agc-dcc-sliced-array-window
fix(agc): serve sampled DCC array views from their viewed slices
2026-10-25 21:53:47 +01:00
orezraeyandClaude Opus 5.5 32e1371697 fix(libkernel): check the SoC sensor channel before the pointer and set errno as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:42:22 -03:00
orezraeyandClaude Opus 5.5 65d87b4ecb fix(libkernel): resolve sysctl top-level names and fail absent top-level MIBs with ENOENT as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:22:26 -03:00
Dean 74a55da254 Merge pull request #10688 from edubox/feat/libc-mtx-timedlock
feat(libc): implement _Mtx_timedlock
2026-10-26 09:21:46 +13:00
Adrià 9dbc017c71 Merge pull request #9512 from EagleBearerYS/fix/libkernel-poll-socket-hup
fix(libkernel): clear POLLOUT from a hung-up socket in poll on Linux
2026-10-25 21:16:45 +01:00
orezraeyandClaude Opus 5.5 e108063e13 fix(libSceRtc): drop the date field getters and setters a PS5 does not export
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:16:27 -03:00
Adrià 74ac0e7912 Merge pull request #9506 from Noxy-HNR/claude/project-thread-420hnm
feat(net): store DNS servers set through sceNetSetDnsInfo and sceNetSetDns6Info
2026-10-25 21:13:38 +01:00
Maz a48a417101 fix(libc): keep char and wide time_get vtables after rebase 2026-10-26 00:02:16 +04:00
Maz bd6406392f feat(libc): export the wide time_get facet vtable as data 2026-10-26 00:02:15 +04:00
orezraeyandClaude Opus 5.5 3dac7eb76c fix(libc): check the fdopen mode before the descriptor and skip the access check as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:01:01 -03:00
Adrià 2f506cacac Merge pull request #9624 from MarrasFederico/feat/avplayer-trick-speed-bandwidth-source
fix(libSceAvPlayer): refuse sceAvPlayerSetTrickSpeed without a source and sceAvPlayerSetAvailableBandwidth after one
2026-10-25 20:52:31 +01:00
Adrià 91a5573911 Merge pull request #9479 from EagleBearerYS/fix/libc-scanf-integer-widths-windows
fix(libc): convert scanf integers as FreeBSD does on Windows
2026-10-25 20:52:26 +01:00
Yunus Shaikh 3a47ea6ea4 Merge main into feat/libkernel-sys-libthr-names
Main's #9573 implements scePthreadResume right after the
scePthreadMutexattrSetkind stub this branch removes from libkernel_sys;
the merge takes main's scePthreadResume and leaves the stub out.

Main's public-header audit wants one header declaration per export, so
the merge declares this branch's scePthreadMutexattrSetkind,
scePthreadMutexattrGetkind and pthread_rwlockattr_settype_np in
libkernel's Api.hpp, drops their stub declarations from libkernel_sys's
Api.hpp, has Mutex.cpp take sceKernelError from libkernel's Api.hpp,
and has the test include the libkernel headers instead of its own
declarations.
2026-10-25 12:49:51 -07:00
Disaster 35c38ce8d5 fix(libc): match measured _Exp and _FExp special values 2026-10-25 22:38:39 +03:00
orezraeyandClaude Opus 5.5 3345e2047d Merge main into fix/libkernel-pthread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 16:32:10 -03:00
akkadbakkad89 fe38bc485d fix(libScePsml): fail MFSR init and shared-resource limits as a base console does
The firmware disassembly (the real Sony libScePsml.sprx inside PPSA20397)
shows scePsmlMfsrInit returning 0x8A810012 before touching the initialized
flag when sceKernelIsTrinityMode is 0, so on the modelled console every MFSR
call correctly stays uninitialized instead of reaching the unimplemented
dispatch path. The shared-resources pair likewise returns 0x8A81000D for
disallowed types and 0x8A810015 while a shared-resources object already
exists.
2026-10-26 00:58:27 +05:30
Adrià aeff26bd97 Merge pull request #9573 from zaryabzip/feat/pthread-create-suspended
feat(libkernel_sys): create threads suspended and resume them
2026-10-25 20:21:07 +01:00
Adrià 1a7a3dfd4f Merge pull request #9572 from JJenkx/windows/symbolize-sampler-stacks
feat(tools): symbolize the Windows samplers' stacks
2026-10-25 20:18:58 +01:00
mugurcandiamthehimansh 70b2e138bb fix(libSceNet): keep MSG_DONTWAIT and aborted stream sends short on macOS hosts
Two stream send behaviours of XNU differ from FreeBSD and Linux:

- MSG_DONTWAIT does not keep a stream send on a blocking socket from
  waiting for buffer space; XNU only skips the wait for the send buffer
  lock. A 16 MiB send to a slow peer blocked until the peer went away.
  A MSG_DONTWAIT transfer now also passes XNU's MSG_NBIO (0x20000), which
  makes one call non-blocking: the send queues what fits and returns that
  count, or EAGAIN when nothing fits.
- A blocking stream send that fails after queuing data, for example when
  sceNetSocketAbort shuts the socket down, returns only the error, where
  Linux returns the bytes queued. A blocking stream send now goes to the
  host in sends of 64 KiB and reports the bytes of the sends that
  completed when a later one fails, as #8658 does.

The debt entry records the undocumented flag and the bytes that a failing
64 KiB send queued but does not report.

Co-authored-by: iamthehimansh <[email protected]>
2026-10-25 20:11:31 +01:00
slopggobblercobbler81 9c232b38fe fix(savedata): validate null arguments in delete, search, and mount3 2026-10-25 20:07:59 +01:00
thuanquang 6adad6733c Merge main into fix/linear-target-import-creation 2026-10-26 02:07:34 +07:00
Adrià ae7d59258e Merge pull request #9637 from ntamas94/feat/libSceAjm-ps4-batch-buffer
feat(libSceAjm): run PS4 batch buffer jobs in the console's chunk layout
2026-10-25 19:58:19 +01:00
KernelPanicNT 6e8ec6d213 fix(libSceNet): reject the flags and names the module rejects
sceNetEpollCreate fails with EINVAL for a null name or non-zero flags,
sceNetResolverCreate and sceNetGetMacAddress for non-zero flags, and
sceNetResolverStartNtoa, before any other check, for a negative timeout
or retry count or a flag bit outside 0x10001, as prosper reads the
libSceNet module. The two accepted resolver flag bits are still ignored,
which the debt file now records.
2026-10-25 19:52:23 +01:00
Dean 8a29e08834 Merge pull request #9949 from wrocketdev/feat/libressl-ocsp-strings
feat(libSceLibreSsl): implement the OCSP status and reason strings
2026-10-26 07:49:27 +13:00
Adrià e1ef22e888 Merge pull request #9461 from milescoviello/fix/tsc-calibration-one-cpu
fix(libkernel): measure the TSC frequency on one CPU
2026-10-25 19:48:55 +01:00
Adrià 58c9977e3b Merge pull request #9562 from milescoviello/feat/uds-trophy-progress
feat(libSceNpTrophy2,libSceNpUniversalDataSystem): unlock progressive trophies through _UpdateTrophyProgress
2026-10-25 19:45:49 +01:00
Ondra97 a476e42188 feat(libSceFreeType): manage multiple size objects 2026-10-25 19:44:44 +01:00
Shahul Mubeen AandClaude Opus 5.5 b9d00c5d80 fix(shader): write 1D storage images through 2D-array stores at slice 0
An image_store with DIM 2D_ARRAY through a 1D T# had no runtime image
mode, so the dispatch stopped with "image descriptor is incompatible
with the static runtime image interface". #2348 added a 1D mode for
DIM 2D stores only.

Write-only 2D-array storage images now get the same 1D mode as the 2D
case. On RDNA2 (gfx1036, hardware oracle) such a store writes texel x
and ignores y when the slice is 0, and writes nothing for any other
slice, with DEPTH 0 or 3, so the store is skipped unless the slice is 0.

New execution test agc_driver_image_store_line_through_plane_array.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 00:10:03 +05:30