Commit Graph

654 Commits

Author SHA1 Message Date
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
e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik
790ce8aee1 Switch back to std:: muteces. mutices. mutexen. 2015-09-06 13:34:08 -07:00
Ben Vanik
9ae807e56e Initialize builtins to 0. 2015-09-06 10:07:27 -07: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
33270cd2a0 Making tracing use the fast logger path. 2015-09-05 21:12:10 -07:00
Ben Vanik
f5e374f9b5 Changing the way the global lock works. Some things are better, I think.
Regressions are likely.
2015-09-01 09:45:32 -07:00
Ben Vanik
5355183590 Don't double-break on debugbreak. 2015-09-01 09:45:32 -07:00
Dr. Chat
51e70be054 Don't assert on VRSAVE mfspr/mtspr (used by gcc) 2015-08-31 10:51:51 -05:00
Ben Vanik
a4ed79695d WSACreateEvent/CloseEvent/SetEvent. 2015-08-30 21:31:52 -07:00
Ben Vanik
7233df2778 Switch default --ignore_undefined_externs to true. 2015-08-30 20:48:41 -07:00
Ben Vanik
2f9b37c142 Logging unimplemented instructions. 2015-08-30 20:46:06 -07:00
Ben Vanik
82a72e1974 Adding MemoryBarrier opcode. 2015-08-30 17:25:02 -07:00
Ben Vanik
65812438c4 Short-circuiting lvrx/stvrx. Should help bad accesses in many games.
Fixes #411.
2015-08-30 16:38:01 -07:00
Ben Vanik
dfa5b90c36 Fixing test output. 2015-08-30 16:26:36 -07:00
Ben Vanik
b80a028589 Much better errors on undefined externs. 2015-08-30 15:27:12 -07:00
Ben Vanik
87094b8257 Adding XamUserContentRestriction* functions. 2015-08-30 15:00:04 -07:00
Dr. Chat
60538e7dda vcmpbfp with Rc bit support 2015-08-30 00:14:58 -05:00
Ben Vanik
764b11fa04 Formatting premake files. 2015-08-29 20:57:31 -07:00
Ben Vanik
a86b3821f2 Adding thread handle to logging. 2015-08-29 20:49:26 -07:00
Dr. Chat
3d684ac304 Fixup the premake files 2015-08-29 22:04:12 -05:00
Dr. Chat
f2b2a22687 Add gflags to projects that need it only 2015-08-29 21:16:57 -05:00
Ben Vanik
b7203c2989 Logging to with a ringbuffer. Much faster. 2015-08-29 18:06:30 -07:00
Ben Vanik
3c50b6739a Capturing guest/host context and showing registers in debugger. 2015-08-29 08:08:54 -07:00
Ben Vanik
ab04175aad Abstracting aligned alloc/free. 2015-08-28 14:27:44 -07:00
Ben Vanik
a668556d7f Fixing Windows build. 2015-08-18 14:45:49 -07:00
Ben Vanik
8b0d4fb51c Linux tweaks. 2015-08-18 14:18:00 -07:00
Ben Vanik
2820ff85e5 Moving test memory to a more reasonable place. 2015-08-18 09:01:22 -07:00
Ben Vanik
c6b941a709 Normalizing tests. 2015-08-18 00:27:27 -07:00
Ben Vanik
c67e47a076 Test cleanup. 2015-08-18 00:16:38 -07:00
Ben Vanik
59b9e9ceb0 Fixing buffer overrun in disasm. 2015-08-17 20:38:37 -07:00
Dr. Chat
0caffd3921 Tests: vand/vand128/vandc/vandc128/vcmpxxfp128/vmaxfp/vmaxfp128/vmaxsh/vmaxuh/vminfp/vminfp128 2015-08-17 20:37:03 -05:00
Dr. Chat
dde3f3dfb0 Tests: vor/vor128/vxor/vxor128 2015-08-17 12:23:01 -05:00
Dr. Chat
52c2d03c3e Tests: vpkshss128/vpkshus128/vpkswss128/vpkswus128/vpkuhum128/vpkuhus128/vpkuwum128/vpkuwus128/vupkhsb128/vupklsb128 2015-08-17 12:08:56 -05:00
Ben Vanik
55068f230e Fixing vslo and vsro. 2015-08-17 08:15:43 -07:00
Ben Vanik
359e5b578a Fixing vsl and vsr for out of range values. 2015-08-17 07:57:30 -07:00
gibbed
5d61d0baa5 Fixing vnmsubfp128. 2015-08-17 04:57:33 -05:00
Dr. Chat
a191fbcf34 Tests: vaddfp/vaddfp128/vmsum3fp128/vsubfp/vsubfp128 2015-08-16 19:56:03 -05:00
gibbed
f9076d08ea Test for vsrh. 2015-08-16 16:37:28 -05:00
gibbed
9901d98c14 Test for vsrah. 2015-08-16 16:37:27 -05:00
gibbed
ac4c5f4508 Test for vrlh. 2015-08-16 16:37:26 -05:00
gibbed
5621f63001 Tests for vminsh, vminuh. 2015-08-16 16:37:25 -05:00
gibbed
9fa7ec5c1f Tests for vavgsh, vavguh. 2015-08-16 16:37:25 -05:00
Ben Vanik
ae183f918f Merge pull request #388 from DrChat/elf_modules
(Experimental) ELF module support
2015-08-16 07:55:28 -07:00
Dr. Chat
6cd08384e7 (Experimental) ELF module support 2015-08-16 09:47:39 -05:00
gibbed
defca39a21 Test for vexptefp. 2015-08-16 07:09:20 -05:00
gibbed
bbde510c17 More tests for vmrghb, vmrghh, vmrghw, vmrglb, vmrglh, vmrglw. 2015-08-16 07:09:07 -05:00
gibbed
4ca24c8d3b Cleaning up test names. 2015-08-16 06:26:43 -05:00
gibbed
ba9d2f0d7c More tests for vupkhsb, vupkhsh, vupklsb, vupklsh. 2015-08-16 06:09:52 -05:00