Commit Graph
8124 Commits
Author SHA1 Message Date
Morten HolmandClaude Sonnet 5.5 3b1697cf1c fix(libkernel): move the macOS main stack out of the guest arena
Under Rosetta the main thread stack lies at about 12 GiB, inside the guest
arena, where a title can map fixed addresses; a fixed mapping over it
aborts with a host region overlap.

- Aps5StartGuest moves the main thread onto a 16 MiB stack at
  0x600000000000 when the old stack overlaps a host region of the arena.
  It copies argv, environ, the program name and the initial block off the
  old stack, then frees the old stack and releases its range to the arena.
- The guest thread keeps the stack size of the original main thread.
- The arena gets GuestArenaOverlapsHostRegion and
  GuestArenaReleaseHostRegion for POSIX hosts.
- guest_main_stack_move starts the guest, then requires the main thread
  outside the arena, a fixed mapping where the old stack was, and argv and
  the environment intact.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 22:55:41 +01:00
Adrià f5fefb982c Merge pull request #11305 from joedeangelis533-bot/review/tessellation-depth-upstream-20261025
feat(agc): remap unsupported tessellation viewport depth ranges
2026-10-27 22:27:35 +01:00
Adrià e274546099 Merge pull request #11302 from Danigamer05/feat/libc-signed-max64
feat(libc): implement signed 64-bit maximum
2026-10-27 22:26:29 +01:00
Adrià 6d99bf4ccb Merge pull request #11300 from Danigamer05/feat/libc-signed-min64
feat(libc): implement signed 64-bit minimum
2026-10-27 22:16:40 +01:00
Adrià b9623a5c26 Merge pull request #11297 from mrfelek/perf/probe-f32-flush-nvidia
perf(agc): use the NVIDIA driver's f32 denormal flush when the startup probe matches
2026-10-27 22:09:23 +01:00
Adrià 4a6005955f Merge pull request #10898 from imellag/feat/libkernel-memory-protection-macos
feat(libkernel): guest memory protection and VirtualQuery on macOS hosts
2026-10-27 21:42:24 +01:00
Adrià 771d8b5bf7 Merge pull request #11340 from harisibrar1/feat/libressl-ex-data-indices
feat(libSceLibreSsl): implement the SSL and SSL_CTX ex_data index registry as LibreSSL 2.5.4 does
2026-10-27 21:34:00 +01:00
Adrià 80b209d984 Merge pull request #11295 from Danigamer05/feat/libc-unsigned-min32
feat(libc): implement unsigned 32-bit minimum
2026-10-27 21:20:30 +01:00
Adrià 225ebc5eee Merge pull request #11264 from Gruzzberry/fix/sysctl-faults
fix(libkernel): fail sysctl and sysctlbyname with EFAULT on an unreadable or unwritable pointer
2026-10-27 21:16:21 +01:00
Dean d13b3d7c55 Merge pull request #10575 from Mouhand-Kaddo/fix/agc-committed-reads-released-pages
fix(agc): read committed guest pages on Windows without faulting on released pages
2026-10-28 07:55:20 +13:00
Dean 14332cd8d0 Merge pull request #10721 from MarcZX10/marc/avcap2-declarations
feat(libSceAvcap2): declare 7 pending exports
2026-10-28 06:55:01 +13:00
Dean 1819607b25 Merge pull request #10701 from MarcZX10/marc/signatures-libscegnmdriverforneomode
feat(libSceGnmDriverForNeoMode): declare three stubs with shadPS4 signatures
2026-10-28 06:54:28 +13:00
Dean 1d0113de60 Merge pull request #10699 from MarcZX10/marc/signatures-libscenputility
feat(libSceNpUtility): declare two title context stubs with shadPS4 signatures
2026-10-28 06:53:56 +13:00
Dean ab6a87a163 Merge pull request #10460 from Danigamer05/feat/libc-unsigned-max64
feat(libc): implement unsigned 64-bit maximum
2026-10-28 06:53:22 +13:00
Adrià 254240c747 Merge pull request #11045 from roboterspinne/fix/relinker-macos-fixups-writable
fix(relinker): reject macOS fixups outside writable segments
2026-10-27 18:29:51 +01:00
Dean 594214f733 Merge pull request #11357 from oneandonlydean/sa/host-import-frame-eviction
fix(agc): do not evict host imports used in the current or previous frame
2026-10-28 06:23:09 +13:00
Dean f188470bca Merge pull request #11757 from milescoviello/docs/livestreaming-status-reads
docs(libSceGameLiveStreaming): note the status fields three titles read
2026-10-28 06:02:30 +13:00
Dean 0c4a8cb41a Merge pull request #11756 from milescoviello/docs/signin-dialog-result-callers
docs(libSceSigninDialog): note the result size and field three titles use
2026-10-28 06:01:55 +13:00
Dean bbb11b6974 Merge pull request #11062 from MarcZX10/marc/ci-nightly-sanitizers
ci: run every test under ASan and UBSan nightly
2026-10-28 05:58:34 +13:00
Adrià e0cd1259a9 Merge pull request #11254 from Michael-KD/fix/scalar-buffer-runtime-word3
fix(shader): ignore a runtime V#'s type for scalar buffer loads as RDNA2 does
2026-10-27 16:28:28 +01:00
Adrià 637522b6bf Merge pull request #11083 from slopgobblercobbler/fix/savedata-convert-null-parameter-validation
fix(libSceSaveData.native): return SAVE_DATA_ERROR_PARAMETER on null argument in sceSaveDataConvert
2026-10-27 16:21:11 +01:00
Adrià 6f7cb75291 Merge pull request #9193 from imellag/feat/shader-barycentric-builtins-moltenvk
feat(recompiler): read I/J from barycentric built-ins on MoltenVK
2026-10-27 16:21:05 +01:00
Adrià e2a5118839 Merge pull request #11047 from imellag/feat/libkernel-macho-tls
feat(libkernel): thread-local storage for Mach-O guests
2026-10-27 15:18:46 +01:00
Dean 75f3702aed Merge pull request #11763 from oneandonlydean/salvage/common-dialog-9623
feat(libSceCommonDialog): declare 14 pending exports
2026-10-28 02:34:54 +13:00
Adrià a40ad89e2c Merge pull request #11236 from orezraey/fix/libkernel-kqueue-timer-readd-measured-ps5
fix(libkernel): accept EVFILT_TIMER re-adds with a time unit or on a disabled timer as measured on a PS5
2026-10-27 14:28:05 +01:00
Adrià 1089f2bbfd Merge pull request #11039 from orezraey/fix/libkernel-mutex-yieldloops-destroyed-measured-ps5
fix(libkernel): fail the yield loop setter on a destroyed mutex as measured on a PS5
2026-10-27 14:08:31 +01:00
Adrià 9de9c6efd0 Merge pull request #11261 from JaceTheBlu/feat/libressl-object-text
feat(libSceLibreSsl): add the LibreSSL object table and implement i2t_ASN1_OBJECT
2026-10-27 14:07:27 +01:00
Adrià b71d5db752 Merge pull request #10855 from Felipebmaitan/feat/async-storage-engine
fix(libkernel): preserve AIO request ownership and identities
2026-10-27 13:30:47 +01:00
Adrià eece5da035 Merge pull request #10838 from EagleBearerYS/feat/libkernel-sys-finish-calls-v2
feat(libkernel_sys): finish sched_setscheduler and sigreturn
2026-10-27 13:20:31 +01:00
Adrià 9ae2f7d22a Merge pull request #10414 from orezraey/fix/agc-partial-fast-clear-eliminate
fix(agc): eliminate a fast clear over part of a CMASK color target
2026-10-27 13:19:27 +01:00
Adrià 431a5156b9 Merge pull request #11716 from milescoviello/docs/avplayer-init-allocators
docs(libSceAvPlayer): note that six titles pass all four allocator callbacks
2026-10-27 13:02:54 +01:00
Adrià ca0e9557aa Merge pull request #11697 from milescoviello/docs/savedata-prepare-silent
docs(libSceSaveData.native): list sceSaveDataPrepare and sceSaveDataCommit as silent stubs and note how six titles use their results
2026-10-27 12:36:14 +01:00
Adrià 8ff4baf534 Merge pull request #11656 from dantdmdarealguy/docs/netctl-aprp-stale-debt
docs(debt): drop the stale ApRp stub note from libSceNetCtl
2026-10-27 12:01:31 +01:00
Adrià d410ce253f Merge pull request #11207 from EagleBearerYS/feat/imedialog-pad-keyboard
feat(libSceImeDialog): type with the controller on an on-screen keyboard
2026-10-27 12:00:58 +01:00
Adrià 9165e8722e Merge pull request #10536 from noamroger/claude/project-thread-3146bi
feat(libSceHttp2): implement request option getters, header removal a…
2026-10-27 12:00:52 +01:00
Adrià 768e92f8b6 Merge pull request #9743 from frankea/fix/hull-reads-control-point-outputs
fix(shader): read other control points' off-chip outputs in hull programs
2026-10-27 12:00:31 +01:00
Adrià 2635028370 Merge pull request #11061 from roboterspinne/fix/relinker-red-zone-body-pushes
fix(relinker): refuse red-zone leaves without a frame pointer that push or pop
2026-10-27 12:00:25 +01:00
Adrià 6a5950b5ce Merge pull request #10903 from imellag/test/libc-update-env-macos
test(libc): run the feupdateenv checks on macOS and under Rosetta 2
2026-10-27 12:00:19 +01:00
Adrià a49b5aa216 Merge pull request #11496 from milescoviello/docs/videoout-open-call-sites
docs(libSceVideoOut): note how seven titles call sceVideoOutOpen
2026-10-27 12:00:07 +01:00
Adrià 486919e70a Merge pull request #11456 from MarcZX10/marc/docs-environment-sync
docs(environment): correct variable rows that no longer match the code
2026-10-27 12:00:02 +01:00
Adrià e4f6c8aa40 Merge pull request #11453 from LeandroLP23/docs/agc-present-mutex-amd-windows
docs(agc): record presentation under the GPU mutex on AMD's Windows driver
2026-10-27 11:59:57 +01:00
Adrià 961bfd88e9 Merge pull request #11420 from SHOnnay/docs/windows-path-length
docs: note the Windows path length limit on build files
2026-10-27 11:59:51 +01:00
Adrià 843840167e Merge pull request #11392 from PrivacyOnion/docs/debt-companionutil-stubs
docs(debt): record silent stubs in libSceCompanionUtil debt
2026-10-27 11:59:46 +01:00
Adrià d68d7546bf Merge pull request #11390 from PrivacyOnion/docs/debt-playgodialog-stubs
docs(debt): record silent stubs in libScePlayGoDialog debt
2026-10-27 11:59:40 +01:00
Adrià c298342798 Merge pull request #11389 from PrivacyOnion/docs/debt-signindialog-stubs
docs(debt): record silent stubs in libSceSigninDialog debt
2026-10-27 11:59:36 +01:00
Adrià 699c908f67 Merge pull request #11387 from PrivacyOnion/docs/debt-share-stubs
docs(debt): record silent stubs in libSceShare debt
2026-10-27 11:59:30 +01:00
Adrià fc5ba20796 Merge pull request #11385 from PrivacyOnion/docs/debt-savedatadialog-stubs
docs(debt): record sceSaveDataDialogIsReadyToDisplay stub in libSceSaveDataDialog.native debt
2026-10-27 11:59:25 +01:00
Adrià 4f7e120148 Merge pull request #11386 from PrivacyOnion/docs/debt-fsinternalforvsh-stubs
docs(debt): record silent stubs in libSceFsInternalForVsh debt
2026-10-27 11:59:20 +01:00
Adrià 2222ab420f Merge pull request #11384 from PrivacyOnion/docs/debt-composite-stubs
docs(debt): record silent stubs in libSceComposite debt
2026-10-27 11:59:15 +01:00
Adrià f14b520f27 Merge pull request #11383 from PrivacyOnion/docs/debt-movetracker-stubs
docs(debt): record silent stubs in libSceMoveTracker debt
2026-10-27 11:59:09 +01:00