Commit Graph
12196 Commits
Author SHA1 Message Date
Dean b5813c0740 Merge pull request #7746 from YossiYad/fix/front-face-all-bits-uint-target
test(agc): export the front-face bits through a uint target as uint
2026-10-20 15:52:03 +13:00
ShinMalphur 44d78d0478 test(net): cover Ethernet address parsing 2026-10-20 09:18:55 +06:30
ShinMalphur b4762a6583 feat(net): parse Ethernet address strings 2026-10-20 09:18:31 +06:30
Adrià c942b37c0b Merge pull request #7861 from valenciana-nc/fix/savedata-exclusive-temporary-files
fix(savedata): create exclusive temporary files for save replacement
2026-10-20 04:46:51 +02:00
Adrià 06d97be8b4 Merge pull request #7856 from KernelPanicNT/fix/gameupdate-lifecycle-errors
fix(libSceGameUpdate): return the module's lifecycle and argument errors
2026-10-20 04:46:46 +02:00
Adrià 0169b82e31 Merge pull request #7852 from Lindamea1/feat/ppsa24191-loader-imports
feat(libs): add the Voice and IME exports PPSA24191 needs to load
2026-10-20 04:46:42 +02:00
Adrià 784f82b4b0 Merge pull request #7848 from SibteProf/feat/ces-unicode-scalar-conversions
feat(libSceCesCs): implement Unicode scalar conversions
2026-10-20 04:36:33 +02:00
Adrià 38a7b0c72b Merge pull request #7846 from fogydes/feat/contentexport-firmware-exports
feat(libSceContentExport): export missing firmware content export interfaces
2026-10-20 04:36:28 +02:00
Adrià 7e88b6da0b Merge pull request #7840 from akkadbakkad89/feat/prx-declare-seven-more-libs
feat(prx): declare exports for seven more confirmed system libraries
2026-10-20 04:36:23 +02:00
al3w0f205 dba05da0e5 feat(libSceUlt): export missing firmware functions from database 2026-10-19 21:34:45 -05:00
Adrià c2b0159d6e Merge pull request #7835 from akkadbakkad89/feat/prx-declare-six-libs
feat(prx): declare exports for six confirmed system libraries
2026-10-20 04:27:03 +02:00
Dean c21eef33c0 Merge pull request #7890 from ErenYeager1836/feat/libSceNpAuth-get-auth-code-id-token
feat(libSceNpAuth): export sceNpAuthGetAuthorizationCode and sceNpAuthGetIdToken
2026-10-20 15:22:43 +13:00
Dean 842bfcce66 Merge pull request #7726 from milescoviello/fix/playgo-scenario-chunks
fix(libScePlayGo): list chunks 0 to 999 when only a scenario file is present
2026-10-20 15:22:30 +13:00
Dean b96e1f29ff Merge pull request #8171 from xXPBSXx/fix/libkernel-truncate-utimes-argument-order
fix(libkernel): check truncate length and utimes times before the path
2026-10-20 15:22:16 +13:00
Dean 07fc9a5b36 Merge pull request #8164 from xXPBSXx/fix/path-name-too-long-fb
fix(libc): fail an oversized guest path name with ENAMETOOLONG
2026-10-20 15:22:02 +13:00
alosta 93a2bcba57 test(libSceSystemService): cover the display safe area settings stub
sceSystemServiceShowDisplaySafeAreaSettings returns success without
showing anything, so check the result through the existing guest test.

AI-assisted: yes
2026-10-20 03:21:07 +01:00
alosta 828a3582a3 test(libs): cover the libSceAt9Enc and libSceM4aacEnc throwing stubs
Register a guest test for each library and build it from the library's
CMakeLists.txt, so the two libraries are built and registered like the
other libraries that ship a CMakeLists.txt. The tests call every export
and require the NotImplemented_nid_no_patch throw, so none of them can
return a made-up success or write the caller's buffers.

AI-assisted: yes
2026-10-20 03:21:07 +01:00
alosta e9cbbfb13c style(libs): space the libSceAt9Enc pointer parameters as elsewhere
AI-assisted: yes
2026-10-20 03:21:07 +01:00
alosta 38aa6aafe8 refactor(libs): drop the stub libraries with unknown signatures
SceCamera, SceDepth2, SceSulpha and SceAudiodecCpuHevag were declared
without parameters because no reference gives their signatures, and the
HEVAG stub exported an invented sceAudiodecCpuHevagUnimplemented symbol
that matches no real export. SceAudiodecCpu overlaps #6847. Only the
libraries whose real exports and signatures are known stay.

AI-assisted: yes
2026-10-20 03:21:07 +01:00
alosta 2dc56f37c3 feat(libs): add unimplemented PS5 system library stubs and debt docs
Add boilerplate stubs for libSceAt9Enc, libSceAudiodecCpu, libSceAudiodecCpuHevag,
libSceM4aacEnc, libSceSulpha, libSceCamera, and libSceDepth2, each exporting its
known NIDs via NotImplemented_nid_no_patch. Include debt documentation with
sysmodule IDs and (where available) orbital-derived signatures.

Add sceSystemServiceShowDisplaySafeAreaSettings as a silent success stub and
document it under Silent stubs.

AI-assisted: yes
2026-10-20 03:21:07 +01:00
JJenkxandClaude Opus 5.5 a3ac9fd9e4 test(relinker): retry removing fixtures an exited Windows program still holds
windows_named_imports, windows_trace_imports, windows_guest_weak_imports and
guest_module_identity run converted programs that stop on a missing import,
then remove their temporary directory. Windows keeps the modules of such an
exited process open for a short time after the process handle is signaled, so
under parallel ctest the removal fails with PermissionError on a .prx that
program loaded: with Defender real-time protection off, 3 or 4 of these tests
failed in each of three runs of ctest --repeat until-fail:10 -j 16 over the 69
tests that run converted programs.

Add fixture_directory to guest_import_fixtures, a temporary directory whose
removal retries on PermissionError for at most 10 s, and use it in the four
tests. Their checks are unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 22:14:40 -04:00
Adrià ad61cafde0 Merge pull request #7821 from xdCloudy/feat/ps5-system-services-exports
feat(libs): declare system service import stubs for OS 3.20 compatibility
2026-10-20 04:12:34 +02:00
hugodearaujo 086e98a42a fix(agc): decode cube descriptors with slices past their last whole cube
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-19 23:11:53 -03:00
Adrià 713ee693e8 Merge pull request #7788 from ANONYMOUSZED-beep/perf/linux-image-page-cache
perf(agc): cache the main image's page states on Linux
2026-10-20 04:07:26 +02:00
xXPBSXxandClaude Sonnet 5.5 d6b5e3f6b8 fix(libc): fail fopen and freopen of a directory for writing with EISDIR on Windows
fopen and freopen of a directory in a write mode failed with EACCES on
Windows, the host's answer. FreeBSD 11.4 fopen opens the path with open(2),
which fails a directory opened for writing with EISDIR (kern_openat, vn_open_cred).
A failed write-mode open of a directory now reports EISDIR.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 03:59:03 +02:00
Dean 500cc640bd Merge pull request #7987 from MarrasFederico/fix/sce-net-ipv6-loopback-errors
test(libSceNet): accept every unusable IPv6 loopback error in guest_sce_net
2026-10-20 14:53:04 +13:00
Dean 2634d61bfb Merge pull request #8141 from Celegans12/fix/agc-trimmed-import-freed-handle
test(agc): compare a remapped import with the one alive before the remap
2026-10-20 14:52:38 +13:00
Dean 58f5b31e6f Merge pull request #6373 from AlxcBTW/fix/bda-unaligned
fix(agc): write copied buffers back before reporting an unaligned BDA access
2026-10-20 14:52:25 +13:00
Dean 8140f2df6a Merge pull request #8147 from xXPBSXx/fix/libc-strrchr-char-conversion-v3
fix(libc): convert the character argument of strrchr to char
2026-10-20 14:52:11 +13:00
xXPBSXxandClaude Sonnet 5.5 d672e8d54a fix(libkernel): fail listen on a connected socket with EINVAL
listen on a connected stream socket failed with EISCONN, the Winsock error.
FreeBSD 11.4 solisten_proto_check fails a socket that is connected,
connecting or disconnecting with EINVAL. The guest listen now reports EINVAL
for the host's EISCONN, and the connect-listening test checks it.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 03:48:18 +02:00
JJenkxandClaude Opus 5.5 92ea0b9ce3 test(relinker): wait for the exited diagnostic runner to release its fixtures
windows_dependency_diagnostics rewrites the fixture images right after the
diagnostic runner exits. The runner ends with an unhandled RaiseException of
STATUS_DLL_NOT_FOUND, and Windows fault handling keeps the exited process's
image files open for a short time after its handle is signaled: on Windows 11
22621 the Restart Manager names the exited runner as the holder and the file
opens 37 to 153 ms later. The rewrite then fails with ERROR_SHARING_VIOLATION,
and the final removal of the fixtures with access denied. Retry opening a
fixture while it fails with a sharing violation and the removal while it fails
with access denied, for at most 10 s each; every other failure still fails the
test at once.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 21:45:35 -04:00
Adrià 6bd669e40c Merge pull request #6832 from al3w0f205/feat/bluetoothhid-firmware-exports
feat(libSceBluetoothHid): export missing firmware functions from database
2026-10-20 03:45:08 +02:00
Adrià 306bb17a27 Merge pull request #7789 from JJenkx/fix/ajm-batch-context-ownership
fix(ajm): keep batch handles within their creating context
2026-10-20 03:45:02 +02:00
xXPBSXxandClaude Sonnet 5.5 45940f27cc fix(libkernel): honour MSG_DONTWAIT in the socket send and receive calls on Windows
send, sendto, sendmsg, recv, recvfrom and recvmsg failed with EOPNOTSUPP for
MSG_DONTWAIT on Windows, where FreeBSD 11.4 sosend_generic and
soreceive_generic make the one call non-blocking and fail with EWOULDBLOCK
when it would wait. Winsock has no per-call flag, so the call now asks WSAPoll
with a zero timeout whether the socket is ready and fails with EAGAIN when it
is not. The Windows branches of the socket tests that expected EOPNOTSUPP now
run the same checks as the other hosts.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 03:43:59 +02:00
Adrià 1d8389d3e3 Merge pull request #7755 from JJenkx/fix/profile-output-stop-rejection
fix(agc): reject late profiling output after shutdown
2026-10-20 03:43:52 +02:00
xXPBSXxandClaude Sonnet 5.5 da6b8561c3 fix(libkernel): fail fsync and fdatasync on a pipe with EINVAL
On Windows fsync and fdatasync of a pipe descriptor answered EBADF for the
read end and 0 for the write end. FreeBSD 11.4 kern_fsync reaches the
descriptor through getvnode, which fails a descriptor that is not a vnode
with EINVAL. NativeSync now refuses a pipe handle with EINVAL before it
commits.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 03:32:02 +02:00
Adrià 02084228a4 Merge pull request #7567 from pushkarreddyy/fix/libSceAcm-batch-wait-validation
feat(libSceAcm): validate context and batch parameters in batch wait and lifecycle exports
2026-10-20 03:30:45 +02:00
Adrià ef823a4458 Merge pull request #7756 from frankea/ssl-ps5-measured
fix(libSceSsl): follow the codes and defaults measured on a PS5 (13.40)
2026-10-20 03:30:38 +02:00
xXPBSXxandClaude Sonnet 5.5 a11756851e fix(libkernel): fail flock on an invalid descriptor with EBADF and on a pipe with EOPNOTSUPP
flock on a descriptor that is not open threw a runtime_error from the failed
Windows lock call, ending the title. FreeBSD 11.4 sys_flock fails it with
EBADF (fget) and a descriptor that is not a vnode, such as a pipe, with
EOPNOTSUPP. The guest flock now checks the descriptor first, on Windows
through the OS handle and elsewhere through fstat.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 03:29:01 +02:00
MarcZX10 40cd706127 fix(libc): enforce mspace trace table capacity 2026-10-20 01:26:54 +00:00
Adrià 049a826e95 Merge pull request #7786 from T3cm0/feat/videoout-hmd2-bus
feat(libSceVideoOut): answer the HMD2 bus open as the console does
2026-10-20 03:25:32 +02:00
Adrià d55acb2695 Merge pull request #7739 from ionut27001/test/guest-kill-foreign-group
test(libkernel): pick a foreign process group guest_kill cannot own
2026-10-20 03:25:26 +02:00
MarcZX10 3bac1f0b43 fix(agc): fail requested BDA GPU selection when Vulkan is unavailable 2026-10-20 01:17:49 +00:00
Luis Gerardo Aguilar 1b33f14c8c feat(netctl): add sceNetCtlGetInfoV6 argument and connection checks
Titles import sceNetCtlGetInfoV6, and a missing import stops them at
load. The checks that need no answer layout are implemented; every code
throws when the host has IPv6, since the layout of the answer is not
verified.
2026-10-19 20:17:26 -05:00
Adrià 7e12b3da80 Merge pull request #7736 from jotitadev/fix/relinker-desktop-entry-test-unique-dir
test(relinker): give the desktop entry test its own temporary directory
2026-10-20 03:13:23 +02:00
Adrià 54c289bcfa Merge pull request #7735 from MarcZX10/codex/fix-libc-cnd-wait-precision
fix(libc): avoid coarse Windows C++ condition waits
2026-10-20 03:13:18 +02:00
Adrià 444101c50b Merge pull request #7728 from jotitadev/fix/agc-capture-ignore-ds-store
fix(agc): ignore Finder .DS_Store files in capture directories
2026-10-20 03:13:13 +02:00
Adrià 8a76c34a02 Merge pull request #7722 from jotitadev/fix/agc-library-layout-null-sets
fix(agc): keep each descriptor set slot in one of a split pipeline library pair
2026-10-20 03:13:06 +02:00
xXPBSXxandClaude Sonnet 5.5 7535eb45fc fix(libSceLibcInternal): start fdopendir at the descriptor position and set FD_CLOEXEC
fdopendir listed the directory from its first entry whatever position the
descriptor had, and left FD_CLOEXEC unchanged. FreeBSD 11.4 fdopendir sets
FD_CLOEXEC on the descriptor and preserves the initial seek position (lib/libc/gen/opendir.c).
The Windows directory handle now skips the entries the descriptor already
consumed, the Linux handle duplicates the descriptor, and the test requires both.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 03:11:14 +02:00
priyanshrv-netizenandClaude Opus 5.5 16a7cece3b feat(libc): implement j0, j1, jn, y0, y1 and yn
The double Bessel functions follow the system libc.prx: FreeBSD msun
e_j0.c, e_j1.c and e_jn.c with every multiply-add the console fuses
done as one FMA, and the console's constant results for zero and
negative arguments of the second kind.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-20 06:38:32 +05:30