Romain Hedouin
4e14eed770
kernel: start the semaphore wait timer after the early returns ( #1173 )
...
Wait() read the clock and looked up the thread id before checking for an available token. Both are only needed once the thread has to block.
2026-10-08 19:21:36 +04:00
nmzik
db41d0482f
kernel: retain POSIX file descriptor close-on-exec flags
2026-10-08 03:36:11 +04:00
Henrique Reis Neves
de62664908
kernel: report /dev/random and /dev/urandom as character devices ( #1140 )
...
kernel: report entropy sources as character devices
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-10-08 03:35:58 +04:00
nmzik
45b6d2c597
memory: copy sparse backing in one traversal
2026-10-07 23:17:53 +04:00
nmzik
7e011fa565
memory: allow concurrent backing reads
2026-10-07 23:10:14 +04:00
nmzik
9c79d9d298
memory: flatten direct and batch mapping paths
2026-10-07 22:47:50 +04:00
nmzik
c30ac7c904
memory: avoid redundant Windows view protection
2026-10-07 22:47:50 +04:00
Nawid3333
1b21161aac
kernel: fix the macOS build of host thread naming ( #1122 )
...
* kernel: apply clang-format to pthread.cpp
Output of the repository's pre-commit clang-format hook (v22.1.3) on
this file; no code change.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* kernel: fix the macOS build of host thread naming
199d0a9d (#1106 ) names guest threads on the host with the two-argument
glibc pthread_setname_np(thread, name). KYTY_PLATFORM is
KYTY_PLATFORM_LINUX on macOS too, so the macOS job now fails with "no
matching function for call to 'pthread_setname_np'": Apple's version
takes only the name and renames the calling thread. This code already
runs on the new thread itself (it passes pthread_self()), so use the
one-argument form on Apple with Apple's 63-character limit and keep the
Linux call unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Remove formatting
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-10-07 01:18:48 +04:00
Oberd
199d0a9d92
kernel: name guest threads on the host ( #1106 )
...
PthreadCreate carries a guest thread name, but RunThread never handed it to
the host, so every guest thread showed up as the same generic host thread
name in core dumps, perf samples and htop.
Call pthread_setname_np() on Linux so host-side diagnostics can attribute
work to the guest thread that caused it.
2026-10-06 23:43:36 +04:00
Claxten
afbb322b32
kernel: deliver persistent user events once per wait
2026-10-06 14:53:17 +04:00
Çağatay Güçlü
deb45a8bb2
kernel: use the AMPR filter for APR completion events
2026-10-05 02:24:51 +04:00
nmzik
783d9f8d6b
shader: read descriptor dependencies from the native raw buffer source
2026-10-04 18:39:34 +04:00
nmzik
57cf086886
shader: synchronize GPU-written descriptor dependencies through buffer cache
2026-10-04 18:39:34 +04:00
nmzik
46900d8042
memory: replace live direct mappings without exposing an inaccessible gap
2026-10-04 18:39:34 +04:00
nmzik
92c22d60ef
Support periodic kernel timers through shared event queue deadlines
2026-10-03 17:31:15 +04:00
nmzik
5766b241c3
Implement POSIX thread stack attribute import through kernel setter
2026-10-03 17:31:15 +04:00
nmzik
f9fd400dbb
memory: validate sparse uploads against the guest address-space owner
2026-09-29 21:56:38 +04:00
nmzik
650dc1e0af
graphics: upload streamed texture mips from sparse reservations
2026-09-29 21:56:15 +04:00
nmzik
6f24b031f5
kernel: block short sleep requests instead of busy waiting
2026-09-29 16:49:09 +04:00
Aspen
4b0de1b672
Zarchive Loading ( #724 )
...
* Simplify archive loading and harden filesystem integration
* Restore directory entry name length assertion
* Keep graphics-dependent filesystem tests out of CI
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-29 00:06:44 +04:00
nmzik
a107d1e333
filesystem: keep unmapped guest paths out of the host namespace
2026-09-28 19:17:03 +04:00
nmzik
34a3eb6b58
memory: recycle automatic backing through physical ownership
2026-09-28 18:01:49 +04:00
nmzik
c91fe80d64
memory: separate extended allocations from ordinary guest mappings
2026-09-28 18:01:49 +04:00
nmzik
0382d0ca58
Publish reserved guest mappings atomically after backing commit
2026-09-24 11:13:33 +04:00
Louis
b5ba482fc2
Implement missing kernel and startup library imports ( #772 )
...
* Implement missing kernel and startup library imports
* Remove chmod and test changes; guard vectored I/O size
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-23 15:57:42 +04:00
nmzik
8cecaf4e30
Merge PR #716 : Fix Unicode paths on Windows
...
Preserve native Windows paths for filesystem operations, command-line options,
and game icons. Complete Unicode handling in recursive file listings and file
logging, restore unmounting by host directory, and extend regression coverage.
Original implementation by Augusto Domingos (@AghastyGD); retain all five of
his PR commits and include the reviewed follow-up fixes.
Closes #714
Co-authored-by: Augusto Domingos <augustodomingosvasco@gmail.com >
2026-09-20 02:14:22 +04:00
Augusto Domingos
b61b3f2a40
handle UTF-8 command-line paths
2026-09-19 14:12:35 +02:00
nmzik
c5cebc1d19
remove unused helpers and the -64 suffix
2026-09-17 20:35:36 +04:00
nmzik
1211958b4e
clean up runtime helpers
2026-09-17 20:35:36 +04:00
nmzik
2bf78a94e0
remove string wrappers
2026-09-17 20:35:36 +04:00
nmzik
cc8e02380f
remove magic_enum wrappers
...
Co-authored-by: Saadi <cosxmos@gmail.com >
2026-09-17 20:35:36 +04:00
nmzik
18a1e0fadc
Remove global condition waiter registry that deadlocks exception delivery
...
Co-authored-by: Bipin <bipinkrish4@gmail.com >
2026-09-14 21:34:01 +04:00
nmzik
f3c82a317a
kernel: support timed umtx waits through shared address deadlines
...
Co-authored-by: BlackCAT <52720489+psnwd@users.noreply.github.com >
2026-09-14 06:58:32 +04:00
nmzik
b2fdad9e47
memory: preserve live POSIX mappings during partial unmap
...
Co-authored-by: Ali Almohaya <AliAlmohaya@gmail.com >
2026-09-14 06:58:32 +04:00
Mininaut
0f3674f531
kernel: release descriptors when rejecting read-only truncation ( #504 )
...
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-12 17:44:45 +04:00
nmzik
47b26e497f
pthread: fix per-thread wakeups
2026-09-12 13:40:10 +04:00
nmzik
733842cad4
kernel: index pthread key values per thread
2026-09-12 13:40:10 +04:00
nmzik
25a44371e3
refactor(graphics)
2026-09-12 13:40:10 +04:00
nmzik
d2fa86579b
kernel: share directory streams across seeks and reads
2026-09-10 14:36:15 +04:00
frangametv
1a3a15e4cf
Fix mount root opens and empty APR prefixes ( #439 )
...
* Fix opening mount root directories
* Allow empty APR path prefixes
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-09 12:31:23 +04:00
nmzik
dcaf4205cb
render: track pages for DMA fills and copies
2026-09-06 10:16:27 +04:00
nmzik
211242452b
kernel: use per-thread signal stacks for guest stack faults
2026-09-06 09:28:19 +04:00
Brandon Strong
16ea36eb4b
libkernel: register scePthreadRwlockTryrdlock and the timed rwlock variants ( #472 )
...
* libkernel: register scePthreadRwlockTryrdlock and the timed rwlock variants
* fix: initialize static rwlocks in newly registered APIs
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-03 01:58:38 +02:00
Brandon Strong
c85bd45604
kernel: implement sceKernelClearVirtualRangeName ( #466 )
2026-09-03 01:50:14 +02:00
Brandon Strong
1df53b169f
kernel: stop sign-extending batch-map protection and type ( #405 )
2026-08-30 01:46:43 +04:00
Mehmet Cambaz
947576363e
kernel: explain a commit-limit failure at startup ( #395 )
...
When CreateFileMapping cannot reserve the guest backing store the log only
carries the raw Win32 error, which gives no clue that the paging file is the
thing to change. Print the size that was asked for and say so directly when the
failure is ERROR_NO_SYSTEM_RESOURCES or ERROR_COMMITMENT_LIMIT.
2026-08-29 16:20:36 +04:00
nmzik
9da390bc0a
general: explicit SEC_COMMIT (Windows), default printf logging to silent
2026-08-29 15:31:20 +04:00
nmzik
f1413569ce
fix windows build
2026-08-29 14:46:54 +04:00
nmzik
146253afb6
renderer&guest_gpu: minor cleanup
2026-08-18 03:53:44 +02:00
shadowbeat070
e239210279
Rewrite RenderDoc capture flow and host exceptions
2026-08-18 03:53:44 +02:00