Triang3l
8ec813de82
[Memory, D3D12] Various refactoring from data provider development
2020-02-15 21:35:24 +03:00
Triang3l
741b5ae2ec
[Memory] Add HostToGuestVirtual and use it in a couple of places
2019-08-13 23:49:49 +03:00
Triang3l
d20c2fa9da
[Memory/Vulkan] Move old memory watches to the Vulkan backend
2019-08-03 21:06:59 +03:00
Triang3l
4aceeb73c4
[Memory] Move new watches to heap-aware Memory from MMIOHandler
2019-07-30 08:00:20 +03:00
Triang3l
6e36101b42
[D3D12] Experimental write watch implementation for shared memory
2018-09-24 23:18:16 +03:00
Triang3l
db625892ea
[D3D12] Shared memory typo fix and improvements
2018-08-01 01:09:51 +03:00
Triang3l
4f7edff19d
[D3D12] SHM: Watches prototype, some uploading
2018-07-26 22:52:26 +03:00
DrChat
a1677d34e1
[CPU] MMIOHandler IsRangeWatched now returns true if the entire range is watched.
2018-02-09 19:23:24 -06:00
DrChat
190108dab6
[CPU] Add some more docs to MMIO handler functions
2018-02-09 18:26:12 -06:00
Dr. Chat
c4b728b121
MMIO Handler: Don't allow more than one watch to occupy the same region (fire old watches if a new one overlaps)
2017-03-11 20:55:01 -06:00
Dr. Chat
0e3c113375
Physical write watches -> access watches (read and/or write watching)
2016-03-17 21:55:16 -05:00
Dr. Chat
529227e4e6
MMIOHandler::InvalidateRange
2015-11-08 18:18:28 -06:00
Ben Vanik
5d033f9cb3
A new debugger.
...
Lots of bugs/rough edges/etc - issues will be filed.
Old-style debugging still works (just use --emit_source_annotations to get
the helpful movs back and --break_on_instruction will still fire).
2015-09-20 21:31:05 -07:00
Dr. Chat
a2bc0443f2
Quick-kill the MMIO handler if the fault address is above the mapping range.
2015-09-07 21:26:33 -05:00
Ben Vanik
3c96b6fa0a
DANGER DANGER. Switching to global critical region.
...
This changes almost all locks held by guest threads to use a single global
critical region. This emulates the behavior on the PPC of disabling
interrupts (by calls like KeRaiseIrqlToDpcLevel or masking interrupts),
and prevents deadlocks from occuring when threads are suspended or
otherwise blocked.
This has performance implications and a pass is needed to ensure the
locking is as granular as possible. It could also break everything
because it's fundamentally unsound. We'll see.
2015-09-06 09:30:54 -07:00
Ben Vanik
ec326119cf
Replacing beaengine in mmio handler with custom decoder.
...
Fixes #358 .
2015-08-04 08:25:42 -07:00
Ben Vanik
40a6a12800
Attempting to inline a lot of MMIO operations. Works for GPU stuff mainly.
2015-06-02 20:15:43 -07:00
Ben Vanik
f5a2b85d42
Switching to xe::mutex.
2015-05-25 00:52:21 -07:00
Ben Vanik
147a70b9c1
Rewriting memory manager.
2015-05-17 00:16:56 +01:00
Ben Vanik
0529fdb84d
Basic hacky write watching for texture invalidation. Doesn't scale.
2015-01-04 16:28:42 -08:00
Ben Vanik
4ad7662ef7
Fixing MMIO build on Windows.
2014-08-01 20:29:57 -07:00
Ben Vanik
0129a96225
Cross-platformizing MMIO stuff.
...
MSVC build likely needs some fixes.
2014-07-29 22:12:39 -07:00