diff options
| author | MrPurple666 <antoniosacramento666usa@gmail.com> | 2025-12-04 07:25:21 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-12-04 07:25:21 +0100 |
| commit | e3c942b2092761c1f812f1eff086f437b843341a (patch) | |
| tree | fc80b947a2151bf91fce62627ad91a4fd5bc49a5 /src/input_common/drivers/mouse.cpp | |
| parent | 1b1e186a580984e210519f2bc2969ed3b94dbc20 (diff) | |
[NCE] Fix cache invalidation and signal interrupt race condition (#3063)
Inspired by PR #3047
This should theoretically fix 3 bugs in NCE:
- **Bug 1**: `ClearInstructionCache()` now properly invalidates L1 instruction cache using IC IALLU instead of only using memory barriers
- **Bug 2**: `InvalidateCacheRange()` implements proper range-based cache invalidation instead of always flushing entire L1 cache
- **Bug 3**: `SignalInterrupt()` adds acquire fence to guarantee memory visibility of the `is_running` flag, preventing lost signals
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3063
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: MrPurple666 <antoniosacramento666usa@gmail.com>
Co-committed-by: MrPurple666 <antoniosacramento666usa@gmail.com>
Diffstat (limited to 'src/input_common/drivers/mouse.cpp')
0 files changed, 0 insertions, 0 deletions
