Commit Graph
10939 Commits
Author SHA1 Message Date
xXPBSXxandClaude Sonnet 5.5 e30c19a602 docs(debt): name what KytyPS5 does for sceAmprMeasureCommandSizeReadFile
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 14:29:11 +01:00
Dean 929e8d8442 Merge pull request #7090 from milescoviello/feat/scm-rights
feat(libkernel): pass descriptors in SCM_RIGHTS messages on Unix sockets
2026-11-02 02:06:02 +13:00
Adrià 31c727f622 Merge pull request #13938 from JAB-dev/fix/ngs2-ps4-port-volume-range-ps5
fix(libSceNgs2): clamp the PS4 port volume to [-4, 4]
2026-11-01 14:03:08 +01:00
Adrià 77008b2ecc Merge pull request #13934 from alfalfa-star/fix/audiodec-stereo-interleave-order
fix(libSceAudiodec): accept M4AAC surround interleave orders for stereo output
2026-11-01 13:53:47 +01:00
Dean a488facbe6 Merge pull request #14192 from oneandonlydean/d27-shader-progress
feat(progress): report shader coverage from the recompiler source in the README badge
2026-11-02 01:44:14 +13:00
Adrià 67bfc04ab1 Merge pull request #13936 from edubox/feat/nkwebkit-constant-exports
feat(libSceNKWebKit): implement the exports the 11.00 module answers with a constant
2026-11-01 13:41:59 +01:00
Dean 4768f0aeca Merge pull request #6584 from ymatrix1/feat/userservice-missing-exports
feat(libSceUserService): export missing firmware user service interfaces
2026-11-02 01:29:49 +13:00
Adrià ba627802e2 Merge pull request #13939 from xXPBSXx/docs/random-null-buffer
docs(libSceRandom): name what the emulators do with a null buffer of size 0
2026-11-01 12:45:02 +01:00
Dean b2620e56d1 Merge pull request #11733 from verusferro/feat/libc-wide-string-to-number
feat(libc): convert wide strings with _WStoull, _WStoll, _WStod, _WStof and _WStold as the console's libc does
2026-11-02 00:33:30 +13:00
Dean d262000c73 Merge pull request #12940 from kyon-eth/feat/video-recording-native-320-exports
feat(libSceVideoRecording.native): declare 27 callable exports
2026-11-02 00:26:52 +13:00
Adrià 75df21b76e Merge pull request #13678 from Gonic0/feat/agc-label-trap-aliased
perf(agc): trap label reads of small images inside pending large ones on macOS
2026-11-01 12:26:41 +01:00
Dean c51c471250 Merge pull request #12922 from ntamas94/fix/ps4-dir-blksize
fix(libkernel): report a 64 KiB st_blksize for directories
2026-11-02 00:25:59 +13:00
Dean e1f46d1746 Merge pull request #12847 from edubox/feat/npcpp-activities
feat(libSceNpCppWebApi): bring up Activities V1 offline
2026-11-02 00:22:55 +13:00
Dean 4317481a47 Merge pull request #12825 from hypermoist/feat/np-util-jid
feat(libSceNpCommon): implement sceNpUtilParseJid and sceNpUtilJidToNpId
2026-11-02 00:22:13 +13:00
Dean 785ad26398 Merge pull request #12810 from BunnyFl/fix/convertkeycode-sdk-layouts
fix(libSceConvertKeycode): apply the SDK rules instead of throwing for layouts 31-39 and Y/Z
2026-11-02 00:19:47 +13:00
Dean c1d62e8db2 Merge pull request #12797 from xXPBSXx/docs-agc-driver-status-queries
docs(agc): list the AgcDriver capture, trace and validation queries as silent stubs
2026-11-02 00:18:15 +13:00
Adrià e67cc81869 Merge pull request #13926 from dr-hoseyn/feat/relinker-dry-run
feat(relinker): validate conversions without writing outputs
2026-11-01 11:50:43 +01:00
Eduardo Ruiz d72f349abb fix(libSceNKWebKit): narrow the constant-return claim to the measured width
The 13 exports whose body is mov al,1; ret write only the low byte, so the
upper bits of EAX are unspecified; the test now masks them and the debt
entry separates those 13 from the 124 bodies that write EAX. The inventory
count returns to 7440, the 134 rows removed from the 7574 that were listed,
because three of the 137 belong to the separate known-name group.
2026-11-01 11:49:36 +01:00
Eduardo Ruiz 03f9296adb feat(libSceNKWebKit): implement the exports the 11.00 module answers with a constant
137 exports that were throwing stubs return a fixed value in the PS5 11.00
module: 111 end in xor eax,eax and return 0, 13 load an immediate with
mov eax,imm32 and return it, and 13 return true through mov al,1. Their
bodies in src/ConstantExports.cpp reproduce those values.

The functions were matched to the firmware export table by recomputing each
NID from the declared symbol, and the body and size of every selected
address were checked against the image. The declared prototypes stay the
no-parameter int placeholders, so only the 32-bit return value is covered.
The technical-debt inventory drops the rows that no longer throw and records
the measurement and that limit.
2026-11-01 11:49:36 +01:00
Dean d2593327b5 Merge pull request #11447 from iamthehimansh/split/macos-agc-build
build(agc): compile Lifecycle, GuestMemory and GuestBufferMemory on macOS
2026-11-01 23:39:32 +13:00
Dean d5ec8e6575 Merge pull request #11854 from ionut27001/fix/wf-videoout-outputstatus-hdr-flags-zero
fix(videoout): report output status flags 0 with HDR output
2026-11-01 23:35:45 +13:00
Dean Galvin 9aacd6dad0 Merge commit 'ba8dcc6ae82a5c4443efd93bbb99dfa91faf7fa4' into HEAD
# Conflicts:
#	README.md
#	tools/progress.py
2026-11-01 23:33:52 +13:00
Dean ba8dcc6ae8 Merge pull request #13204 from Celegans12/feat/rnpsbundle-inventory-exports-20261030
feat(rnpsbundle): add named inventory exports
2026-11-01 23:24:49 +13:00
Adrià a644edf30c Merge pull request #13499 from Gonic0/feat/agc-label-read-trap
perf(agc): trap CPU reads of label readbacks on macOS instead of storing them
2026-11-01 11:09:34 +01:00
Adrià 26fa1212b8 Merge pull request #13819 from Ninot1Quyi/fix/libc-nearbyint-inexact
fix(libc): match nearbyint inexact flags to guest libc
2026-11-01 09:56:57 +01:00
Adrià b2bcf569f7 Merge pull request #13904 from DeveshB-1/fix/memory-protection-query-efault
fix(libkernel): return EFAULT from memory protection and stack queries for invalid memory
2026-11-01 09:56:49 +01:00
Adrià 41b72cc337 Merge pull request #13868 from PrivacyOnion/feat/glslimvsh
feat(libSceGLSlimVSH): implement EGL 1.4 and GLES 2.0 state, objects and pbuffer storage
2026-11-01 09:56:42 +01:00
Adrià 6c0bdd2014 Merge pull request #13908 from DeveshB-1/fix/cpuset-affinity-efault
fix(libkernel): return EFAULT from cpuset and pthread affinity for invalid memory
2026-11-01 09:55:39 +01:00
Adrià e3642ec3fe Merge pull request #13912 from LeandroLP23/feat/progress-weekly-activity
feat(tools): show library functions implemented per day and in the last week
2026-11-01 09:40:10 +01:00
Adrià 5c9837bfe7 Merge pull request #13442 from Gonic0/feat/libc-write-watch-read-trap
feat(libc): trap guest reads of write-watched pages on macOS
2026-11-01 09:13:34 +01:00
Adrià 90cc8d57a5 Merge pull request #13895 from Gruzzberry/fix/chflags-sysflags-eperm
fix(libkernel): fail chflags and fchflags with EPERM when a system flag changes
2026-11-01 09:10:40 +01:00
Adrià c2ba690bfc Merge pull request #13896 from Gruzzberry/fix/rtprio-jail
fix(libkernel): fail rtprio_thread, sched_setscheduler and setpriority with the jail privilege errors
2026-11-01 09:05:34 +01:00
Adrià 826fa5a594 Merge pull request #13822 from Scooooodoo/fix/posix-resolver-unspecified-socket-types
fix(libScePosixForWebKit): omit implicit raw resolver records
2026-11-01 09:05:23 +01:00
Adrià d9fd841be0 Merge pull request #13898 from zaryabzip/fix/cescs-cp1254-1258-holes
fix(libSceCesCs): refuse the Cp1254 and Cp1258 holes and UTF-32 surrogates as a PS5 does
2026-11-01 08:46:38 +01:00
Adrià eb5b2c13df Merge pull request #13876 from DeveshB-1/fix/convert-time-efault
fix(libkernel): return EFAULT from time conversions for unwritable stores
2026-11-01 08:35:50 +01:00
Adrià 53fbe59956 Merge pull request #13732 from SnekPolylepis/feat/libc-radix64-conversions
feat(libc): implement a64l, l64a, and l64a_r radix-64 integer conversions
2026-11-01 08:30:07 +01:00
Adrià a043b048db Merge pull request #13897 from gazaret/feat/libressl3-pkey-get0
feat(libSceLibreSsl3): implement EVP_PKEY_get0_RSA, EVP_PKEY_get0_DSA and EVP_PKEY_get0_DH
2026-11-01 08:24:25 +01:00
AdriàandClaude Sonnet 5.5 16135b4656 docs(libkernel): note EFAULT for invalid affinity mask pointers in debt
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 08:18:50 +01:00
PrivacyOnion 19af8ed632 feat(libSceGLSlimVSH): implement EGL 1.4 and GLES 2.0 state, objects and pbuffer storage
Implement the EGL 1.4 and OpenGL ES 2.0 exports that do not need a shader compiler or rasterizer as a host-side state machine following the Khronos specifications: the default display, a single RGBA8/depth16/stencil8 pbuffer configuration, ES2 contexts with share groups, per-thread current state and errors, buffers, textures with mipmap generation, renderbuffers, framebuffers and their completeness, shader and program objects, vertex attributes, every fixed-function state setter and query, clears, pixel uploads, copies and reads on CPU storage.

The 22 unknown NIDs are named from the NID database and the Piglet, Orbis texture and compositor exports, together with shader compilation, program linking and reflection, uniforms, draws, native window surfaces and the Sony-specific APIs, stay NotImplemented_nid_no_patch; the gaps are in docs/dev/debt/libSceGLSlimVSH.md.
2026-11-01 08:10:59 +01:00
AdriàandClaude Sonnet 5.5 3c5da23f30 fix(libkernel): document partial writes of memory protection queries
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 08:10:04 +01:00
AdriàandClaude Sonnet 5.5 97ff67b13d docs(libkernel): restore the measured text in the rtprio_thread and getpriority debt entries
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 07:56:54 +01:00
Qu Yi 4a65ddf97c chore(libc): synchronize nearbyint fix with main
Preserve the nearbyint implementation and regression coverage while incorporating current main. The write-watch registration prerequisite is now part of main.

Validation: freshly compiled production MathExact.cpp regression passes; ASan/UBSan passes with detect_leaks=0. The same fixture compiles against main Math.cpp and fails at the FE_INEXACT assertion (exit 134). Conventions, whitespace and 235 script registrations pass. Full product build and full CTest were not rerun for this synchronization.
2026-11-01 14:56:40 +08:00
GruzzberryandClaude Sonnet 5.5 5ba892d391 fix(libkernel): fail rtprio_thread, sched_setscheduler and setpriority with the jail privilege errors
A title is jailed (agreed on #11216). FreeBSD 11.4 prison_priv_check denies
PRIV_SCHED_RTPRIO, PRIV_SCHED_SET and PRIV_SCHED_SETPRIORITY to a jailed caller.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 07:56:25 +01:00
ntamas94 249d8cc371 Merge remote-tracking branch 'origin/main' into fix/ps4-dir-blksize 2026-11-01 07:53:32 +01:00
GruzzberryandClaude Sonnet 5.5 2d1342cf31 fix(libkernel): fail chflags and fchflags with EPERM when a system flag changes
FreeBSD 11.4 ufs_setattr refuses a change of any SF_* flag to a caller without PRIV_VFS_SYSFLAGS, which prison_priv_check denies a jailed root without allow.chflags. Under the credential model agreed on #11216 every SF_* flag now fails with EPERM, after the EOPNOTSUPP check for unknown bits, instead of throwing.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 07:51:40 +01:00
Adrià 1ff6c8739b Merge pull request #13893 from xXPBSXx/fu/q2-videodec2-release-queue-debt
docs(debt): list sceVideodec2ReleaseComputeQueue as a silent stub
2026-11-01 07:49:32 +01:00
Dean 0b2c52e9c2 Merge pull request #12597 from JJenkx/windows/libc-fopen-s-constraints
fix(libc): report fopen_s and freopen_s argument errors to the constraint handler
2026-11-01 19:48:43 +13:00
Adrià 77d536fb38 Merge pull request #13892 from xXPBSXx/fu/q2-asan-enabled-debt
docs(debt): list sceKernelIsAddressSanitizerEnabled as a silent stub
2026-11-01 07:47:11 +01:00
Nicolas GonzalezandClaude Opus 5.5 a3046f449c perf(agc): trap label reads of small images inside pending large ones
The label read trap skipped every image sharing a page with another
pending image. Large tiled images are never stored at a label, so an
image inside one no longer counts as sharing. A store of an image over a
trapped one now stores the trapped one in the same flush, and an
eviction or explicit write-back stores the trapped images inside it
first.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 03:38:15 -03:00
Nicolas GonzalezandClaude Opus 5.5 0fdd66d900 fix(agc): hold a label read trap until the store and skip aliased memory
The trap was released when FlushPending took the image out of the pending
registry, before it waited for GpuMutex, so a read in between saw the old
bytes; cache eviction and explicit write-backs did not release it at all.
Every store now releases it in writeBackLayers: after recording the GPU copy
into the import, or before the first CPU access on the CPU path, which also
releases the traps of other images on the same pages. A trapped image is
stored whole, and direct memory mapped at a second address is not trapped.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 03:37:51 -03:00