Commit Graph
17691 Commits
Author SHA1 Message Date
orezraeyandClaude Opus 5.5 6aeb8d6c3e Merge main into fix/agc-partial-fast-clear-eliminate
Keep #9694's coverage check for targets without CMASK or DCC keys and skip it only for a fast-clear eliminate over a CMASK target without DCC keys.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 02:37:09 -03:00
Dean 05736d76fe Merge pull request #11411 from PrivacyOnion/test/companion-httpd-null-precedence
test(libSceCompanionHttpd): cover null parameter precedence before initialization in GuestCompanionHttpd
2026-10-27 18:36:57 +13:00
Dean c54bf393c2 Merge pull request #11410 from PrivacyOnion/test/playgo-progress-and-install-speed
test(libScePlayGo): cover progress query and install speed argument validation in GuestPlayGo
2026-10-27 18:36:42 +13:00
Dean 2f0840ef0d Merge pull request #11409 from PrivacyOnion/test/savedata-get-event-result-coverage
test(libSceSaveData.native): cover empty queue and null result in sceSaveDataGetEventResult
2026-10-27 18:36:23 +13:00
Dean 8277369258 Merge pull request #11408 from PrivacyOnion/test/player-selection-dialog-null-uninitialized
test(libScePlayerSelectionDialog): cover null argument validation before initialization in GuestPlayerSelectionDialog
2026-10-27 18:36:09 +13:00
Dean 42c7f48f5a Merge pull request #11406 from PrivacyOnion/test/screenshot-negative-offset-bounds
test(libSceScreenShot): cover negative offset and valid origin parameter bounds in GuestScreenShot
2026-10-27 18:35:54 +13:00
Dean ce7a561cfd Merge pull request #11404 from xXPBSXx/test/libc-cxa-guard-behavior
test(libc): cover the __cxa_guard_acquire, release and abort behaviour
2026-10-27 18:35:35 +13:00
Dean 9be54a9b5a Merge pull request #11395 from PrivacyOnion/test/pad-vibration-mode-special-handle
test(libScePad): cover special handle vibration mode in GuestPadVibrationMode
2026-10-27 18:35:17 +13:00
Dean cda9c9bedf Merge pull request #11394 from PrivacyOnion/test/random-null-max-size
test(libSceRandom): cover null buffer at and above maximum size in sceRandomGetRandomNumber
2026-10-27 18:35:02 +13:00
Dean edc34d746d Merge pull request #11393 from Elma7e/test/game-custom-data-dialog-null-argument-coverage
test(libSceGameCustomDataDialog): cover null parameter and result argument validation
2026-10-27 18:34:46 +13:00
Dean a8bc4474c4 Merge pull request #11090 from roboterspinne/fix/relinker-windows-gs-trap-entry-roots
fix(relinker): refuse GS traps that overwrite a code entry point in Windows output
2026-10-27 18:32:02 +13:00
Dean 570002610e Merge pull request #11084 from roboterspinne/fix/relinker-output-directory-paths
fix(relinker): reject an existing directory at any output path before writing
2026-10-27 18:31:47 +13:00
Dean 07a9a43cfe Merge pull request #11059 from MarcZX10/marc/fix-libc-fp-contract
fix(libc): build libc without floating-point contraction
2026-10-27 18:30:44 +13:00
Dean 0886ead564 Merge pull request #11001 from SandstromPL/test/agc-readback-label-off-skip
test(agc): pass the label-store negative control only on the stale read it expects
2026-10-27 18:30:15 +13:00
Dean 26c451905c Merge pull request #10973 from MarcZX10/marc/fix-asan-copy-guest-bytes-alignment
fix(agc): read unaligned guest words through a one-byte-aligned type in the ASan copy
2026-10-27 18:29:32 +13:00
Dean 1eb876b63a Merge pull request #10907 from imellag/test/libc-math-standard-exception-flags
test(libc): compare the C exception flags in the scaled hyperbolic checks
2026-10-27 18:28:30 +13:00
MarcZX10 039408c144 test(libkernel): use the libkernel public header in the macOS unwind module info test
The test declared sceKernelGetModuleInfoForUnwind itself, so the header already declares it and the test declares it twice and public_headers fails on main.
2026-10-27 05:26:56 +00:00
Dean 8398527558 Merge pull request #10426 from rooklz/feat/cescs-jisx0213
feat(libSceCesCs): add the EUC-JIS-2004 and Shift_JIS-2004 profiles
2026-10-27 18:23:28 +13:00
milescoviello 770ea34f6a Merge remote-tracking branch 'upstream/main' into HEAD
# Conflicts:
#	core/libs/prx/libc/src/Backtrace.cpp
2026-10-27 05:23:11 +00:00
Dean 9cc1a379c0 Merge pull request #10366 from krishalivaibhav/fix/macos-guest-allocations-dyld-himansh
fix(libc): find guest image pages through dyld on macOS hosts
2026-10-27 18:23:03 +13:00
Dean 3498905cc0 Merge pull request #10288 from al3w0f205/test/bluetoothhid-unregister-device-no-callback-coverage
test(libSceBluetoothHid): cover unregister device without callback rejection
2026-10-27 18:22:46 +13:00
Dean a1f75ecf9b Merge pull request #9874 from akkadbakkad89/feat/prx-declare-np-exports
feat(prx): declare exports for 3 inventory-covered NP libraries
2026-10-27 18:22:12 +13:00
Dean 9281d93dc0 Merge pull request #9849 from JJenkx/test/native-depth-shared-fixtures-20261022
test(agc): share native depth fixture backing on Linux
2026-10-27 18:21:52 +13:00
Dean 1a13c2969f Merge pull request #9833 from MarcZX10/codex/libc-strtod-decimal-subnormal-erange
fix(libc): set ERANGE for decimal strtod subnormals
2026-10-27 18:21:37 +13:00
Dean 741bf89739 Merge pull request #9782 from DavidSamir/test/libkernel-pthread-posix-calls
test(libkernel): cover the POSIX pthread attribute and thread calls
2026-10-27 18:21:20 +13:00
Dean 940c298d51 Merge pull request #9698 from mazen320/feat/libc-num-put-vtable-size
fix(libc): size the num_put facet vtable to 112 bytes
2026-10-27 18:20:54 +13:00
Dean 9260711d01 Merge pull request #9694 from Tamalero/fix/agc-metadata-pass-coverage-without-metadata
fix(agc): require full coverage only for metadata pass targets with CMASK or DCC keys
2026-10-27 18:20:38 +13:00
Dean ecf89d91a1 Merge pull request #9654 from rooklz/test/macos-terminate-message
test(libkernel): throw through the guest runtime on macOS in the host standard error test
2026-10-27 18:20:20 +13:00
Dean 8aa1f9ef7f Merge pull request #9344 from MarcZX10/codex/macos-backtrace-support
feat(libc): restore macOS guest backtraces
2026-10-27 18:20:03 +13:00
Dean 27310a12eb Merge pull request #9282 from MarcZX10/codex/npmanager-waitasync-unimplemented
feat(libSceNpManager): add explicit sceNpWaitAsync stub
2026-10-27 18:19:42 +13:00
Dean 5023cd5a25 Merge pull request #9263 from imellag/fix/libkernel-macos-guest-unwind-info
fix(libkernel): report unwind information for guest and host addresses on macOS
2026-10-27 18:19:28 +13:00
Dean 1764e016f8 Merge pull request #9050 from EagleBearerYS/fix/agc-moved-buffer-render-target-cut
fix(agc): size a moved read-only buffer at the render target as its build does
2026-10-27 18:19:07 +13:00
Dean a0cf4c4d23 Merge pull request #8913 from Celegans12/perf/agc-pool-exact-size-hit
perf(agc): prefer a pooled buffer of the requested exact size
2026-10-27 18:18:50 +13:00
Adrià 22782795a9 Merge pull request #10853 from krishalivaibhav/fix/macos-open-create-directory
fix(libkernel): refuse O_CREAT on an existing directory with EISDIR on macOS
2026-10-27 06:18:28 +01:00
milescovielloandClaude Opus 5.5 bf97894bc8 perf(shader): reuse the evaluator's requirement list across values
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 05:15:23 +00:00
robbie d995f6223d fix(codegen): reject 16-bit branches into a rewritten instruction
Operand-size-prefixed (0x66) relative branches are classified as having
no branch target, so the AdjustedDelta check never saw them. The
truncated-branch guard only checked whether the branch and its target
move apart, so `66 EB 01 B8 11 22 33 44 C3` rewritten at offset 3 was
accepted and the branch landed in the middle of the new bytes.

Reject a truncated branch whose target is inside the cut, and run that
check for same-length rewrites too, matching the rel8/rel32 path.
2026-10-27 05:15:16 +00:00
Adrià d093ea9ced Merge pull request #10767 from Ragbie/fix/recvmsg-after-shut-rd
fix(libkernel): drop the data a socket held before shutdown(SHUT_RD) in every receive path
2026-10-27 06:14:18 +01:00
Adrià FranchandClaude Sonnet 5.5 511735840c fix(libkernel_sys): keep the owner check of chown, lchown and fchownat as on main
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 06:14:13 +01:00
Adrià FranchandClaude Sonnet 5.5 7554d2095c fix(libkernel): keep swapcontext's finish helper externally linked
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 06:14:13 +01:00
Adrià FranchandClaude Sonnet 5.5 fb1474f032 test(libkernel_sys): drop assertions that valid sched_setscheduler and sigreturn calls throw
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 06:14:13 +01:00
Yunus Shaikh fb3841479b fix(libkernel_sys): keep the owner check of chown, lchown and fchownat unmodelled
oneandonlydean's review of #8457 settled that the guest is modelled as
root, and FreeBSD 11's root keeps the privilege to change a file's
owner, so EPERM for another owner has no source until a console
measurement shows it. chown, lchown and fchownat go back to
RequireGuestOwner after the path lookup, as fchown does, and their debt
entry is main's again. The EPERM assertions go without throw assertions
in their place; the lookup error checks stay.
2026-10-27 06:14:13 +01:00
Yunus Shaikh 8f007d234a feat(libkernel_sys): implement sigreturn
sigreturn applies FreeBSD 11's amd64 sys_sigreturn checks:
- EFAULT for a null context;
- EINVAL for unknown mc_flags, and for rflags bits outside
  PSL_USERCHANGE that differ from the current flags;
- set_fpcontext's FPU format and ownership cases.
It then restores the context through the path setcontext uses, which
now lives in RestoreContext. A non-user %cs and an extended FPU state
still throw.
2026-10-27 06:14:13 +01:00
Yunus Shaikh 51849e7e41 feat(libkernel_sys): implement sched_setscheduler for the calling thread
FreeBSD 11's sys_sched_setscheduler checks: a null parameter is EFAULT,
another process is ESRCH and an unknown policy is EINVAL. Pid 0 sets the
calling thread through scePthreadSetschedparam. Values that call
rejects, and the guest's own pid, whose first thread is not tracked,
still throw.
2026-10-27 06:14:13 +01:00
Yunus Shaikh 788a87cb8e feat(libkernel_sys): fail chown, lchown and fchownat with EPERM for another owner
An owner or group other than the guest's (0) or the unchanged value
returns EPERM after the path lookup, as FreeBSD 11's chown(2) does for
a caller without the superuser privilege. That is the answer #8457
gives for fchown. A lookup error still comes first.
2026-10-27 06:14:13 +01:00
Adrià e3a2b3846d Merge pull request #10741 from camezaro-intc/feat/libkernel-sys-cpuset
feat(libkernel_sys): implement cpuset, cpuset_getid and cpuset_setid
2026-10-27 06:13:49 +01:00
Adrià 4297464b12 Merge pull request #9402 from janzezno/perf/incremental-import-refresh
perf(agc): re-check only the host imports a registry change can reach
2026-10-27 06:10:48 +01:00
Adrià 35feb94580 Merge pull request #10801 from EagleBearerYS/feat/systemservice-running-app-identity
feat(libSceSystemService): answer the rest of the running title's identity
2026-10-27 06:07:36 +01:00
Adrià 2e85f47aef Merge pull request #10659 from imellag/fix/libc-elf-pf-r-macos
fix(libc): define PF_R beside PF_X and PF_W for the macOS ELF types
2026-10-27 06:04:30 +01:00
akkadbakkad89andDevin 5e1b8849d2 fix(libScePsml): answer console-measured MFSR enable flags and Context1300 size check
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-27 10:32:53 +05:30
Jota 846e298923 fix(agc): keep each device's resolver for deferred destruction passthrough
The previous commit replaced the process-wide resolver when a device
was set up after the last deferred device went, so a wrapper returned
for the earlier device, which may still be alive until vkDestroyDevice,
passed through to the later device's loader. The registry now keeps the
resolver of every device it set up and passes each device's calls
through its own one; the most recent resolver is used only for devices
it never set up. Two live devices with different resolvers are still
refused.
2026-10-27 01:59:50 -03:00