hoholee12
27544fe4ab
Merge 4695e9c1f5
into 20c9dcd2d6
2025-06-30 21:41:30 -07:00
Vestral
e066735fe9
Utils fixes for ASLR
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ubuntu-24.04 gcc (push) Waiting to run
Build RPCS3 / RPCS3 Linux ubuntu-24.04-arm clang (push) Waiting to run
Build RPCS3 / RPCS3 Linux ubuntu-24.04 clang (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
2025-04-30 02:56:23 +02:00
DH
95d0cb18e4
Coding style issues fixes
...
Thanks @Megamouse
2025-03-10 21:09:27 +01:00
DH
798c194025
android stuff
2025-03-10 21:09:27 +01:00
Elad
9677a3a9ea
Fix Emulator::IsPaused() to allow measurements during module compilation
...
Also fix a potential deadlock in access violation handler for non-cpu_thread
2025-01-25 12:47:44 +02:00
Elad
7b8fee7cdb
Thread.cpp: Report VM addresses on VM segfault
2025-01-25 12:47:44 +02:00
Elad
6a4b9430c0
Thread.h: Add a few noexcept
2024-12-24 21:31:57 +02:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers ( #16403 )
...
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.
Notes to programmers:
* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.
Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
Elad
926de68a79
Debugger: Dump related thread information on crash
2024-11-28 13:32:52 +02:00
Megamouse
2262ac1684
Qt: Replace QMap with std::map
...
This should reduce the amount of string conversions during list refreshes
2024-11-06 09:34:32 +01:00
kd-11
31ce32709e
build: Disble fixed base for windows-on-arm
2024-09-08 17:41:29 +03:00
kd-11
4f27af9949
Fix compilation warning
2024-09-08 17:41:29 +03:00
kd-11
a60eab6e36
aarch64: Fix compilation for windows-on-arm
2024-09-04 07:49:49 +03:00
kd-11
470f8674df
aarch64 - Support for apple exceptions
2024-08-24 14:13:14 +03:00
kd-11
4bb79b6c31
Rework aarch64 signal handling
2024-08-21 16:16:28 +03:00
kd-11
3ea24183b9
Improve "write" instruction detection.
2024-08-20 05:18:53 +03:00
kd-11
c2f5de1c55
Fix compiler warnings about unused args for aarch64
2024-08-20 05:18:53 +03:00
Elad Ashkenazi
1bd4565186
Implement thread_ctrl::wait_until()
2024-08-17 06:38:49 +03:00
Megamouse
ab923bc2c3
Add comment for thread_scheduler_mode::old to get_affinity_mask
2024-05-18 16:16:08 +02:00
Megamouse
dfee5b9a6c
threads: replace magic number id_type with thread_class
2024-05-18 16:16:08 +02:00
Elad Ashkenazi
302fe53704
Log SPU access violation in always-level
2024-05-14 19:36:48 +03:00
Elad Ashkenazi
7c313703a2
Savestates: Fix SPU pause from access violation handler
2024-05-14 19:36:48 +03:00
Eladash
4905cd425f
Thread.cpp: Prevent repeatedly halting the debugger
2024-05-04 14:15:51 +03:00
Eladash
316b3a8851
Thread.cpp: Reduce logging
2024-03-27 19:59:22 +02:00
Eladash
d39361705a
report_fatal_error: Minor cleanup and improvement
2024-03-06 20:32:22 +02:00
Eladash
77ba2b40e7
Thread.cpp: Explicitly state difference type in thread_ctrl::wait_for_accurate
2024-02-11 23:01:40 +02:00
pastalian
e8ad6ec673
Add missing headers ( #15075 )
...
Some systems must explicitly include these headers.
2024-01-24 17:22:37 +01:00
Eladash
f696107c90
Add savestate data validity asserts
2023-12-29 11:11:53 +02:00
Eladash
0c410f8a14
Postpone thread launching on g_fxo->init
2023-12-19 15:34:07 +02:00
Eladash
f9d213650c
Utilities/Thread.cpp: Fix threads memory leak
2023-10-24 22:14:12 +03:00
Eladash
53ba38e98d
Thread.cpp: Flush log and make thread context dump on exception
2023-09-05 06:20:57 +03:00
hoholee12
4695e9c1f5
Merge branch 'master' into master
2023-09-04 13:45:15 +09:00
Eladash
cd98e84ca5
Debugger/RSX: Add FP/VP hash of current shader
2023-08-19 04:21:37 +03:00
Ivan Chikish
d34287b2cc
Linux: use futex_waitv syscall for atomic waiting
...
In order to make this possible, some unnecessary features were removed.
2023-08-02 21:46:06 +03:00
Ivan Chikish
831a9fe012
Remove thread pool
...
Prevents implementing thread priority on Linux.
2023-08-02 21:46:06 +03:00
Eladash
1184d6aecb
Thread.cpp: Fixup SPU access violation log message
2023-07-31 11:55:31 +03:00
hoholee12
0ce786cd78
fix
2023-07-25 20:21:16 +09:00
hoholee12
4300857108
remove nonroot
2023-07-25 18:03:45 +09:00
hoholee12
445bae198b
Root user gets proper privilege
2023-07-25 15:53:40 +09:00
Elad Ashkenazi
45023d298b
Merge branch 'master' into master
2023-07-24 08:41:20 +03:00
hoholee12
3d1f527652
FIx Cirrus Linux build not compiling
2023-07-24 23:26:47 +09:00
hoholee12
cf785e2ad6
oops
2023-07-24 00:27:36 +09:00
Eladash
12fe55a258
Thread.cpp: Always print SPU thread name in access violation
...
Suppress GUI log window prefix removal.
2023-07-23 17:58:54 +03:00
hoholee12
8163aaf7de
Linux: fix thread priority
2023-07-23 22:52:23 +09:00
oltolm
0c94606fcf
Make compile with msvc, clang and gcc on Windows
2023-07-11 21:40:30 +03:00
Eladash
17d8f2884e
Debug fixes
2023-07-09 13:33:03 +03:00
Eladash
300701a06b
Make page faults entry enqueue and event atomic
2023-06-02 08:54:46 +03:00
Eladash
3d8d9ef61c
Threads.cpp: Fix infinite looping
2023-06-02 08:54:46 +03:00
Eladash
f031cd9b42
Take advantage of WIN10 Thread Name API
2023-05-24 20:39:51 +02:00
oltolm
b7b87096d8
fix: make ASAN work on Windows
2023-05-06 10:17:58 +02:00