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
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
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
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
Ivan Chikish
3cf8c629fa
X86 SigHandler: Add support for BEXTR instruction
...
BEXTR is emitted for znver CPUs in recent LLVM.
2023-05-05 18:03:50 +03:00
RipleyTom
0f45a8c180
Fix inaccuracies pointed out by PVS-Studio
2023-03-25 08:45:30 +01:00
Megamouse
92ae57c9ee
Windows: log more descriptive errors
2023-03-04 18:34:56 +01:00
Jan Beich
3eaa29e7c2
Thread: silence -Wsign-compare on FreeBSD aarch64
...
Utilities/Thread.cpp:1805:48: error: comparison of integers of different signs: 'uptr' (aka 'unsigned long') and '__register_t' (aka 'long') [-Werror,-Wsign-compare]
const bool is_executing = uptr(info->si_addr) == RIP(context);
~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~
2023-01-19 18:49:06 +03:00
Eladash
8980fc5524
rsx: Fix exceptions
2022-12-17 14:27:20 +01:00
kd-11
0aaa40cd53
ux: Update vcredist links and optionally disable help text from error dialog
2022-12-06 20:46:35 +01:00
Megamouse
a6b44ea1bb
Qt: support fatal error as htmk
2022-12-06 20:46:35 +01:00
Eladash
e9e139c364
logs improvements
...
* Do not use unsafe pointer arithmetics exceeding existing memory. (exceeding m_fptr)
* Properly use the enire 32MB of the buffer, previously only 16MB were used for cuncurrent access.
* Fix a bug occurring after attempting to push 1TB (40 bits).
* Flush the log before hitting a debugging breakpoint.
2022-11-28 18:52:11 +03:00
Eladash
8b934abcf2
Improve error_code, make HDD1 errors be warnings
2022-11-26 16:33:47 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
Elad Ashkenazi
b7599c0f30
Update Thread.cpp
2022-08-31 22:19:05 +03:00
Elad Ashkenazi
d8494ef1ae
Update Thread.cpp
2022-08-31 22:19:05 +03:00
Elad Ashkenazi
727b32e886
RawSPU: Do not assume GPU memory fault on SPU MMIO
2022-08-31 22:19:05 +03:00
Eladash
ddba30988b
vm: Attempt to not remove cpu_flag::wait flag during access violation
2022-08-21 15:02:01 +03:00
Nekotekina
786510a937
Use gettid() on Linux, don't use std: 🧵 :id
...
pthread_self() returns a large opaque pointer which is harder to use.
2022-07-10 12:22:28 +03:00
Eladash
5f8f9e33f1
RSX/Savestates: Replace GCM hack with a proper fix
2022-07-08 12:57:43 +03:00
Eladash
cf0fcf5a2a
SPU: Implement execution wake-up delay
2022-06-28 19:54:25 +03:00
Eladash
5e01ffdfd8
Debugger: Optimize cpu_thread::dump_regs()
...
Reuse string buffer. Copies and reallocations are expensive with such large strings.
2022-06-23 22:41:32 +02:00
Eladash
64399d45c1
vm: Make falloc return value bool
...
Allow to check properly for the success of 0 address allocation.
2022-06-22 21:01:37 +03:00
Nekotekina
5c1f79ab26
vm: remove g_mutex, use g_range_lock instead
...
Simplification and performance improvements.
2022-05-02 10:29:28 +03:00
Jan Beich
f04655c814
Thread: define how to access PC on BSD aarch64 after 580bd2b25e
...
Utilities/Thread.cpp:1799:51: error: no member named 'pc' in '__mcontext'
const bool is_executing = uptr(info->si_addr) == RIP(context);
^~~~~~~~~~~~
Utilities/Thread.cpp:1800:62: error: no member named 'pc' in '__mcontext'
const u32 insn = is_executing ? 0 : *reinterpret_cast<u32*>(RIP(context));
^~~~~~~~~~~~
Utilities/Thread.cpp:1836:90: error: no member named 'pc' in '__mcontext'
std::string msg = fmt::format("Segfault %s location %p at %p.\n", cause, info->si_addr, RIP(context));
^~~~~~~~~~~~
Utilities/Thread.cpp:1229:46: note: expanded from macro 'RIP'
#define RIP(context) ((context)->uc_mcontext.pc)
~~~~~~~~~~~~~~~~~~~~~~ ^
Based on https://github.com/mozilla/gecko-dev/commit/480b73c38c73
2022-04-24 15:40:33 +03:00
sguo35
e761b3235c
macos: fix build for arm64
...
Adds arm64 branches to some x86 specific code and modifies some casting
logic to make Clang happy
2022-04-18 17:53:54 +03:00
Nekotekina
0a617a05d0
PPU: correct behaviour under external debugger
...
May require setting "Assume External Debugger" to true.
2022-03-26 23:09:20 +03:00