Dr. Chat
3ebd53ba11
Fix crandc/crnand/crnor/crorc not properly taking the complement of the CR fields.
2015-12-13 18:32:57 -06:00
Ben Vanik
81d0376106
Fixing use before check for null.
2015-12-05 23:24:40 -08:00
Dr. Chat
bc1e7684ca
Pass rounding mode from i->flags for OPCODE_CONVERT
2015-12-02 14:03:15 -06:00
Dr. Chat
17d18f7154
Implement a few cases for Value::Cast/Convert
2015-12-02 14:01:28 -06:00
Dr. Chat
57a823ae39
Add (commented out) code to setup page protections for xex modules.
2015-12-01 19:53:17 -06:00
Dr. Chat
525d62d437
constant OPCODE_CONVERT and more cases for OPCODE_LOAD
2015-12-01 19:51:28 -06:00
Dr. Chat
873016f06f
Fix double-swap in constant load
2015-12-01 19:03:51 -06:00
Ben Vanik
82fe65475e
Fixing sqrt/rsqrt mixup.
...
Queue the 'how did this ever work?!'
2015-11-30 17:22:08 -08:00
Ben Vanik
51c3df1e2e
Making mtmsr & co synchronize the context.
2015-11-25 17:37:20 -08:00
Ben Vanik
dfd92757a9
Adding CONTEXT_BARRIER to force the PPC context to synchronize.
...
This is just an annotation right now, as it's not actually needed.
2015-11-25 14:48:36 -08:00
Ben Vanik
1956b8708e
Fixing include orders and whitelisting others.
...
Will be broken until clang SVN 253772 is available on travis/snapshots.
2015-11-21 11:34:46 -08:00
Dr. Chat
529227e4e6
MMIOHandler::InvalidateRange
2015-11-08 18:18:28 -06:00
Ben Vanik
4af6c41740
Moving profiling.h to base - UI could be separated for cleanliness.
2015-11-07 12:31:07 -08:00
Dr. Chat
aeb635e31d
vcmpbfp tests
2015-11-07 14:27:24 -06:00
Dr. Chat
abf37ed9be
Fix vcmpbfp returning that the value is out of bounds for values equal to the bounds.
2015-11-06 19:04:59 -06:00
Ben Vanik
35a9697af7
Merge pull request #446 from AlexAltea/master
...
Fixed mtcrf which was wrongly implemented as mtcr
2015-11-06 15:11:10 -08:00
Dr. Chat
9985187b23
Implement vpkuwum/vpkuhum
...
Fixed vpkuwus with signed numbers
Implement some constant sources for vec average/unpack
2015-11-06 15:18:48 -06:00
Dr. Chat
64b0cc9d5e
Enabled tests for vpkuhum/vpkuwum and added test with negative numbers for vpkuwus
2015-11-06 14:57:42 -06:00
Ben Vanik
5087ccd565
Tracking capstone next.
2015-11-05 18:43:15 -08:00
Ben Vanik
5525f6c0a2
Tracking master xbyak.
2015-11-05 17:17:52 -08:00
Dr. Chat
430d4c7182
Fix rare deadlock in the MMIO handler.
2015-11-05 18:13:15 -06:00
Dr. Chat
f3fe260a17
Fallback case if indirection table could not be allocated.
2015-11-04 06:46:52 -06:00
Ben Vanik
e0b3d24a50
Merge pull request #445 from DrChat/kernel_trampolines
...
Generate trampoline functions for GetProcAddress on kernel modules
2015-10-24 17:16:33 -07:00
Alexandro Sánchez Bach
c6751c1e5f
Fixed mtcrf which was wrongly implemented as mtcr
2015-10-25 00:44:33 +01:00
Dr. Chat
729f762c5d
RawModule SetAddressRange/set_name
2015-10-24 14:02:08 -05:00
Dr. Chat
55e811450d
Lint
2015-10-22 20:22:34 -05:00
Dr. Chat
407d79cf3e
Fix MMIO handler race condition by rechecking page access protections under the global lock.
2015-10-22 20:18:08 -05:00
Ben Vanik
91dfb6a8a0
Merge pull request #436 from DrChat/misc_changes
...
Misc changes
2015-10-17 01:15:20 -07:00
sephiroth99
9dfabba583
Fix compile error uncovered by Clang 3.8.
2015-09-25 23:50:05 -04:00
Dr. Chat
c33e95981b
Formatting.
2015-09-25 18:46:50 -05:00
Dr. Chat
bf39e33dc0
Raw modules need to commit an executable range too!
2015-09-25 18:35:33 -05:00
Dr. Chat
a9b557e8b9
Allow passing of >7 arguments through Processor::Execute
...
Set entry status to failed if LookupFunction failed
2015-09-25 18:24:12 -05:00
Ben Vanik
ee92f75a84
Updating to the latest clang-format. Make sure to update yourselves!
2015-09-22 08:26:19 -07:00
sephiroth99
08ae855e07
It seems 'export' is a reserved keyword for clang.
2015-09-22 07:45:52 -07:00
sephiroth99
542f5ba8e5
Move GetTempReg higher in the source file, before its first usage.
2015-09-22 07:39:26 -07:00
Ben Vanik
4c8634bc31
Fixing breakpoints.
2015-09-21 21:10:57 -07: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
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