Commit Graph
736 Commits
Author SHA1 Message Date
Dean 723ee06871 Merge pull request #14799 from chitters2004/perf/guarded-committed-read
perf(agc): read committed guest pages directly on Windows
2026-11-04 08:10:59 +13:00
Dean 4f41f4c375 Merge pull request #15210 from Danigamer05/feat/libc-sce-v2-filesystem-calls-20261102
feat(libc): export the std::__sce_v2 filesystem calls
2026-11-03 21:12:18 +13:00
Dean 67ea76b38b Merge pull request #15099 from Danigamer05/feat/libc-sce-v2-binary-scaling-20261102
feat(libc): export the std::__sce_v2 binary scaling helpers
2026-11-03 21:10:53 +13:00
Dean 8b82678900 Merge pull request #10025 from mehmetbayoglu/fix/libkernel-amm-prt-zero-page
fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
2026-11-03 21:09:48 +13:00
Dean f1d0f46e05 Merge pull request #14585 from edubox/feat/libc-sce-v2-locale
feat(libc): export the versioned std::__sce_v2 locale runtime
2026-11-03 21:07:56 +13:00
Dean b9a376e51f Merge pull request #15098 from Danigamer05/feat/libc-find-last-trivial-20261101
feat(libc): implement reverse trivial element searches
2026-11-03 18:14:08 +13:00
Dean 5da7b55068 Merge pull request #14955 from Danigamer05/feat/libc-sce-v2-float-helpers-20261102
feat(libc): export the std::__sce_v2 float classification, integer-part and normalization helpers
2026-11-03 18:12:24 +13:00
Dean 5f96abbcba Merge pull request #14940 from BunnyFl/fix/prime-shared-mutexes
fix(agc,libkernel): prime the host shared mutexes left unprimed on Windows
2026-11-03 18:12:18 +13:00
Dean 8645daeb00 Merge pull request #14878 from roboterspinne/fix/libc-write-only-stream-reads
fix(libc): fail reads on a write-only stream with EBADF on Windows
2026-11-03 18:11:21 +13:00
Dean 7fc59ddd6e Merge pull request #14864 from Jawschamp/feat/libc-devname
feat(libc): implement devname and devname_r
2026-11-03 18:10:59 +13:00
Dean 10921ef452 Merge pull request #12560 from Kikoarl/fix/win32-verbatim-path-dos-devices
fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows
2026-11-03 18:09:19 +13:00
memob 37881a5da0 fix(libkernel): map unbacked AMM PRT pages to one read-only zero page on Windows
Unbacked PRT pages were private read-only commits, so every page that was
read took its own host page. They are now views of one pagefile-backed
section created read-only, so the range costs one page however large and
no view of it can be made writable. Host imports treat such views as
read-only memory instead of asking for a read-write alias.
2026-11-02 19:31:59 -05:00
Dean 840f2d6f27 Merge pull request #14623 from Danigamer05/feat/libc-memset-explicit-20261101
feat(libc): implement explicit memory filling
2026-11-03 11:40:35 +13:00
Dean 502188c5b0 Merge pull request #14619 from Danigamer05/feat/libc-c23-bit-utilities-20261101
feat(libc): implement C23 bit positions and powers
2026-11-03 11:40:29 +13:00
Danigamer05andClaude Opus 5.5 0f12fc9b7e feat(libc): export the std::__sce_v2 filesystem calls
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 21:36:17 +01:00
Kikoarl ae9a8b093d fix(libkernel): preserve DOS device names and trailing dots or spaces on Windows 2026-11-02 21:16:21 +01:00
Eduardo Ruiz e830fb4c03 feat(libc): export the versioned std::__sce_v2 locale runtime 2026-11-02 20:04:33 +01:00
Dean 954ddf4176 Merge pull request #12428 from JJenkx/windows/libc-sscanf-scansets
fix(libc): match bundled narrow scansets and scan directive parsing
2026-11-03 06:27:00 +13:00
Dean 08f66c14dd Merge pull request #6565 from xXPBSXx/fix/guest-allocation-pin-livelock
fix(libc): leave a range that a mutation waits for out of new leases
2026-11-03 05:12:24 +13:00
Danigamer05 96af9b4df6 feat(libc): implement reverse trivial element searches 2026-11-02 16:12:21 +01:00
Danigamer05andClaude Opus 5.5 1c5093f845 feat(libc): export the std::__sce_v2 binary scaling helpers
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 16:12:20 +01:00
Dean Galvin b91bbc69d6 Merge commit '4f64f81ef7b4bca975b4b9f3dfd15dfff56f716f' into HEAD
# Conflicts:
#	core/libs/prx/libc/src/Formatting.cpp
2026-11-03 02:42:48 +13:00
Dean 646d099792 Merge pull request #12468 from JJenkx/windows/libc-wide-scan-c-locale
fix(libc): read wide scanf fields byte by byte, as titles' libc.prx does
2026-11-03 02:37:44 +13:00
Dean 39c8d56454 Merge pull request #11890 from voidlakhan/feat/libc-stpncpy
feat(libc): implement stpncpy
2026-11-03 01:28:00 +13:00
Dean 02ae9eef83 Merge pull request #11843 from heditrigui/feat/libc-timelocal
feat(libc): implement timelocal
2026-11-03 01:27:06 +13:00
Dean 71d6f92a9d Merge pull request #11773 from edubox/feat/libc-numpunct-wide
feat(libc): export std::numpunct<wchar_t> id and _Getcat
2026-11-03 01:26:41 +13:00
Dean 9b01f0bba2 Merge pull request #11735 from verusferro/feat/libc-getptimes
feat(libc): export _Getptimes with the console's C-locale time names
2026-11-03 01:26:31 +13:00
xXPBSXxandClaude Sonnet 5.5 8e0dbfc783 Merge main (98346b748c) into fix/guest-allocation-pin-livelock
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-02 12:28:52 +01:00
Dean 95175b5acf Merge pull request #11298 from Gruzzberry/fix/dangling-link-prefix-enoent
fix(libkernel): fail with ENOENT for a path below a dangling Windows symbolic link
2026-11-02 23:27:36 +13:00
Dean ce49d532f3 Merge pull request #10989 from edubox/feat/libc-sce-v2-filesystem
feat(libc): export the versioned std::__sce_v2 filesystem primitives
2026-11-02 23:26:31 +13:00
Dean ed08af6a2f Merge pull request #10953 from AZLisme/feat/batch2-libc-legacy-signals
fix(libSceLibcInternal): export sigvec through shared runtime
2026-11-02 23:25:28 +13:00
Dean fc3a5af62c Merge pull request #10755 from Ragbie/fix/windows-fclose-descriptor-state
fix(libc): drop the kernel state of a descriptor that fclose or freopen closes
2026-11-02 23:24:14 +13:00
Dean 87524eb88e Merge pull request #10615 from edubox/feat/libc-cnd-at-thread-exit
feat(libc): register conditions for broadcast at thread exit
2026-11-02 23:23:18 +13:00
Dean 978a8ffb32 Merge pull request #10324 from MarrasFederico/feat/libc-fwide
feat(libc): track stream orientation and implement fwide
2026-11-02 23:22:33 +13:00
Dean 848c2ad1e2 Merge pull request #6085 from notaxeltv/feat/libc-dsign-ppsa34015
feat(libc): export _FDsign/_Dsign like MSVC CRT (PPSA34015)
2026-11-02 20:55:24 +13:00
Dean a20477ae0b Merge pull request #4449 from Mouad-Scriptz-0/fix/dmabuf-import-coherence
feat(libSceAgcDriver): import scattered direct memory as a dma-buf run list and probe its coherence
2026-11-02 20:55:19 +13:00
Dean 25aeb9fa48 Merge pull request #12586 from voidlakhan/feat/libc-timingsafe-bcmp
feat(libc): implement timingsafe_bcmp
2026-11-02 20:54:59 +13:00
Danigamer05andClaude Opus 5.5 a99455ab20 feat(libc): export the std::__sce_v2 float classification, integer-part and normalization helpers
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 05:24:50 +01:00
BunnyFlandClaude Opus 5.5 bfe4892be1 fix(agc,libkernel): prime the host shared mutexes left unprimed on Windows
winpthreads initializes a statically initialized rwlock on its first lock
and fails a concurrent first lock with EINVAL, which std::shared_mutex
ignores, so that lock does not exclude (docs/dev/debt/shader.md). Lock
depthGuardMutex, PipelineCacheSynchronization's mutex and the event flag
registry mutex once when created, through a PrimedSharedMutex shared from
a libc header.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 02:05:03 +01:00
Dean 6d0fc32dea Merge pull request #8397 from hypermoist/feat/libc-dinkumware-float-bits
feat(libc): add Dinkumware float bit helpers from firmware
2026-11-02 13:43:07 +13:00
roboterspinne e700ddb53a fix(libc): fail reads on a write-only stream with EBADF on Windows 2026-11-01 22:49:57 +01:00
Jaws a4faa2f0b6 feat(libc): implement devname and devname_r 2026-11-01 21:10:14 +00:00
JamieandClaude Opus 5.5 79ee45a6e2 perf(agc): read committed guest pages directly on Windows
Every committed copy and compare on Windows went through
ReadProcessMemory, so a page released during the read counts as
uncommitted instead of faulting. Revalidation issues that system call
for each compare, and it dominates the committer thread.

Ranges the guest arena owns are now read by leaf copy and compare
routines. A fault on one of their source loads resumes at a failure
return, and the read falls back to the existing page by page path, so
the result for released pages is unchanged. Host regions and addresses
outside the arena keep ReadProcessMemory.

Hosts with AVX2 take 64 bytes per pass, with 16-byte and byte tails;
others keep the 16-byte loop.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 20:08:39 +00:00
Danigamer05 d775fb88b5 feat(libc): implement explicit memory filling 2026-11-01 17:31:47 +01:00
Danigamer05 997f80f7aa feat(libc): implement C23 bit positions and powers 2026-11-01 17:23:25 +01:00
Dean Galvin 88b99b28b6 Merge commit 'f1a7b02028ae50adaf6c5aaaef892a51841b25bf' into HEAD
# Conflicts:
#	core/libs/prx/libSceAgcDriver/CMakeLists.txt
2026-11-02 02:38:58 +13:00
Eduardo Ruiz 014001a2d0 fix(libc): keep numpunct<wchar_t> grouping narrow 2026-11-01 13:02:23 +01:00
edubox 071cb1f704 feat(libc): export std::numpunct<wchar_t> id and _Getcat 2026-11-01 13:02:23 +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
Eduardo Ruiz c20d797450 feat(libc): export the versioned std::__sce_v2 filesystem primitives 2026-11-01 11:51:49 +01:00