Commit Graph
8546 Commits
Author SHA1 Message Date
Danigamer05 be750a1f38 feat(libc): implement unsigned 32-bit minimum 2026-10-27 01:58:44 +01:00
Danigamer05 7792cff8ef feat(libc): implement unsigned 64-bit maximum 2026-10-27 01:58:43 +01:00
p3nicillinandClaude Opus 5.5 563844efe0 feat(libkernel_sys): implement sceKernelGetCpumodeGame and sceKernelSetCpumodeGame
ProsperoEden declares the setter with the mode as its argument and the
getter with an int output, and measured on a PS5 that modes 0 and 1 are
accepted, 2 to 7 return 0x80020016 and 1 is the default. Both threw as
discovered stubs. Other modes and a null output throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 00:44:24 +00:00
MarcZX10 c2e8c2130b docs(libSceNpUtility): drop the duplicate Net* entry and the stub it replaced from the old lists
sceNpLookupCreateTitleCtxA has its own entry now, and sceNpLookupNetAbortRequest and sceNpLookupNetCensorComment were listed twice.
2026-10-27 00:29:59 +00:00
JJenkxandClaude Opus 5.5 1add0a5859 fix(libc): follow the console's rand, srand and rand_r
rand and rand_r both used FreeBSD's do_rand (Park and Miller on
state % 0x7ffffffe + 1, minus one), so rand returned values up to
0x7ffffffd and rand(), rand_r() and every seeded sequence differed
from the console. The libc.prx that titles ship (the same code in the
copies of PPSA13934, PPSA07923 and PPSA05916, read from disassembly)
uses two different generators:

- rand steps a 64-bit state, initially 1, as
  state * 0x5851F42D4C957F2D + 1 and returns (state >> 32) & 0x3FFFFFFF,
  so its results stay at or below 0x3FFFFFFF. srand stores the seed
  zero-extended as that state.
- rand_r is the minimal standard generator, state * 16807 modulo
  2^31 - 1 on the signed 32-bit state (1 gives 16807, 282475249,
  1622650073), and a zero state becomes 0x2AE1B767.

guest_math now expects those results: the rand_r chain from 1, the
zero and 0x7FFFFFFF states, rand after srand(1), srand(0) and
srand(0xFFFFFFFF), and rand's range over 1000 calls. Its previous
checks expected FreeBSD's values and rand matching rand_r.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 20:22:30 -04:00
B-HowellandClaude Opus 4.7 a2b59db71a feat(libc): implement strtoq
Add the BSD "quad" `strtoq` export for the libc PRX as a thin wrapper
around `strtoll`, as FreeBSD 11.4 lib/libc/stdlib/strtoq.c does.  The
unsigned sibling `strtouq` is already here as the same alias of
`strtoull`.  Extend the guest wide strings test to probe the signed
path on an under/overflow run and a short positive run with a trailing
non-digit.  Document the export in docs/dev/debt/libc.md with the
registry NID `yUUOxgk8Dmc`; console behavior is unverified beyond the
existing `strtoll` contract.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-10-26 20:19:37 -04:00
Henryisdjfunkyho 42bbc98235 chore: merge main into cancellable timed sleeps 2026-10-26 17:13:30 -07:00
Adrià Franch cfc700020f docs(debt): fix sentence break and move font entry off the section end 2026-10-27 00:29:09 +01:00
akkadbakkad89 514df0c389 docs(debt): scope CbMemsetExclusive evidence by firmware version 2026-10-27 00:29:05 +01:00
akkadbakkad89 31d91561c9 docs(debt): record recovered evidence for CbMemsetExclusive and font drawup fills 2026-10-27 00:29:05 +01:00
MarcZX10 09bd0731fc docs(game-testing): say what exit code 1 of the import audit means 2026-10-26 23:24:10 +00:00
MarcZX10 1bb9358152 docs(game-testing): link the MinGW DLL note to the runtime layout section 2026-10-26 23:24:10 +00:00
MarcZX10 d09ff3989e docs(game-testing): describe APS5_HANG_DUMP_SECS as a timed dump 2026-10-26 23:24:10 +00:00
Alexandre Figueiredo 08fa661766 fix(libSceNpCppWebApi): answer finish, abort and getId for never-started transactions as the module does 2026-10-26 23:22:56 +00:00
MarcZX10 6521fc2a22 docs(libSceNpUtility): record the single-source shadPS4 signatures of the declared stubs 2026-10-26 23:20:08 +00:00
Leonardo 82fa4474c1 feat(libSceNetCtl): bound sceNetCtlGetNatInfo probe time and cache only on success 2026-10-27 00:18:19 +01:00
MarcZX10 bbb2e618d0 docs(libSceNpWebApi): record the single-source shadPS4 signatures of the declared stubs 2026-10-26 23:17:33 +00:00
harisibrar1 4fe05b3bea Merge remote-tracking branch 'origin/main' into feat/rudp-poll-cancel
# Conflicts:
#	docs/dev/debt/libSceRudp.md
2026-10-26 19:15:46 -04:00
harisibrar1 63ef393ee9 Merge remote-tracking branch 'origin/main' into feat/libressl-ex-data-indices
# Conflicts:
#	core/libs/prx/libSceLibreSsl/include/Api.hpp
2026-10-26 19:14:39 -04:00
Emanuele 5556444f2b test(libc): run the feupdateenv checks on macOS and under Rosetta 2
Two host differences failed all 19 feupdateenv tests on macOS:

- Apple's libc++ looks up /usr/lib/libstdc++.6.dylib with a no-load
  dlopen the first time a process builds a std::logic_error, and that
  failed lookup leaves errno at ENOENT. The null check builds the first
  one, so it saw errno change although feupdateenv never touched it. The
  test now builds one std::invalid_argument on macOS before the checks.
- Rosetta 2 keeps the six MXCSR exception masks set and raises no
  floating-point trap, x87 included. The mask check now expects the SSE
  masks the host keeps, and the pending-trap tests are skipped (exit 77)
  on a host that does not keep an unmasked MXCSR exception. A libc debt
  entry for feupdateenv records it.
2026-10-27 00:08:54 +01:00
simnJS 6988438d77 feat(libSceUsbStorage): pass host volumes through only with APS5_USB_STORAGE_PASSTHROUGH
Unset, ScanHostVolumes returns no volume, so nothing is scanned or
exposed and the guest sees no USB storage, as on main. The test checks
that injected volumes are neither listed nor raised by a rescan with the
switch off, and turns it on for the device cases.
2026-10-27 00:01:56 +01:00
Dean Galvin f733f7dc43 Merge branch 'main' into feat/lchflags 2026-10-27 11:58:22 +13:00
SnekPolylepisandClaude Opus 5.5 da736c9b7c docs(debt): note the 26 exports that firmware 13.42 does not export
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 17:43:39 -05:00
milescovielloandClaude Opus 5.5 04db088075 fix(libSceHttp2): report a live context's pool size from sceHttp2GetMemoryPoolStats
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 22:43:01 +00:00
orezraeyandClaude Opus 5.5 a09cef91b1 Merge main into fix/libkernel-sync-on-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:31:46 -03:00
orezraeyandClaude Opus 5.5 717bfa18c8 Merge main into docs/libkernel-version-boottime-socpower-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:31:21 -03:00
orezraeyandClaude Opus 5.5 34ee59f12b Merge main into docs/libc-fenv-setlocale-strcasecmp-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:30:20 -03:00
MarcZX10 bcd99084b4 test(libc): cover signed tgammaf underflow 2026-10-26 22:18:30 +00:00
AZLisme 98ce5ccf72 fix(videodec2): match native picture argument validation 2026-10-27 06:16:45 +08:00
AZLisme 2aa0ffbbcf feat(libSceVideodec2): expose HEVC picture metadata 2026-10-27 06:16:44 +08:00
milescovielloandClaude Opus 5.5 dab411e50d docs(libScePlayGo): note what scePlayGoPrefetchOptionalChunk checks and how three titles call it
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 22:14:08 +00:00
orezraeyandClaude Opus 5.5 b131fa34c6 Merge main into docs/libkernel-sync-timeouts-eventflag-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:12:16 -03:00
orezraeyandClaude Opus 5.5 ed019e3e73 Merge main into docs/libkernel-module-process-info-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:11:32 -03:00
orezraeyandClaude Opus 5.5 7b355abdb9 docs(libkernel): shorten the socket option debt entries
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:10:59 -03:00
SnekPolylepis 0c07dff24b fix(prx): exclude installer exports shared with pending PRs 2026-10-26 17:10:35 -05:00
SnekPolylepis 03e232ed5c feat(prx): declare verified missing system exports 2026-10-26 17:10:14 -05:00
orezraeyandClaude Opus 5.5 92581772df Merge main into docs/libkernel-accept-option-inheritance-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:09:54 -03:00
Alvaro 0f2a263a20 docs(libkernel_sys): narrow the linkat symbolic link debt to Windows 2026-10-26 23:08:33 +01:00
Dean 74acfad65b Merge pull request #11365 from oneandonlydean/sa/per-draw-gpu-timing
feat(agc): opt-in per-draw GPU timing and dump-by-address diagnostics
2026-10-27 11:08:24 +13:00
Dean c739a47136 Merge pull request #11289 from Danigamer05/feat/libc-unsigned-min64
feat(libc): implement unsigned 64-bit minimum
2026-10-27 11:06:32 +13:00
Dean e6b0b00261 Merge pull request #11268 from camezaro-intc/feat/libkernel-sys-kld-queries
feat(libkernel_sys): implement kldfind, kldfirstmod, kldnext and kldunload
2026-10-27 11:06:13 +13:00
Dean d9c7bb5ffe Merge pull request #11242 from parl0v/fix/epoll-kernel-sockets
fix(libSceNet): register libkernel sockets with sceNetEpollControl
2026-10-27 11:05:08 +13:00
Dean b8265bf2bc Merge pull request #11241 from edubox/feat/libc-future-category
feat(libc): export the error_category members and std::future_error
2026-10-27 11:04:49 +13:00
Evrim Cicek 3f67bbcd4e Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/recvmsg-after-shut-rd
# Conflicts:
#	core/libs/prx/libkernel/Socket/src/Udp.cpp
#	docs/dev/debt/libkernel.md
2026-10-27 01:04:45 +03:00
Dean 3ae0fb5601 Merge pull request #11224 from orezraey/fix/libkernel-module-list-null-count-measured-ps5
fix(libkernel): write the module handles before failing a null count as measured on a PS5
2026-10-27 11:04:12 +13:00
Dean bf38c3bc34 Merge pull request #11208 from orezraey/fix/libc-random-state-measured-ps5
fix(libc): save the random state on a short initstate and take any setstate rear as measured on a PS5
2026-10-27 11:03:11 +13:00
Dean 7401a472fe Merge pull request #11195 from orezraey/fix/libkernel-sema-invalid-arguments-measured-ps5
fix(libkernel): return EINVAL for the semaphore arguments a PS5 rejects
2026-10-27 11:02:54 +13:00
Dean 94d981d20b Merge pull request #11194 from orezraey/fix/libkernel-socket-address-length-first-measured-ps5
fix(libkernel): check the socket address length before its family as measured on a PS5
2026-10-27 11:02:40 +13:00
Dean 45b71b5074 Merge pull request #11190 from zaryabzip/feat/system-flexible-memory
feat(libkernel): implement sceKernelMapNamedSystemFlexibleMemory
2026-10-27 11:02:21 +13:00
Dean fc2594c7ac Merge pull request #11177 from orezraey/feat/libc-fe-dfl-env-measured-ps5
feat(libc): export __fe_dfl_env as measured on a PS5
2026-10-27 11:02:06 +13:00