Commit Graph

9 Commits

Author SHA1 Message Date
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