Commit Graph

958 Commits

Author SHA1 Message Date
Dr. Chat
db8eb83057 Track export data on Guest Functions 2015-12-29 12:32:47 -08:00
Dr. Chat
42c657c40a Remove processor dependency on XThread for breakpoints 2015-12-29 12:32:47 -08:00
Dr. Chat
666f5543a8 Cleanup ThreadState and XThread 2015-12-29 12:32:46 -08:00
Dr. Chat
41d5b41523 Automatically install any CPU breakpoints in any newly-defined functions if necessary. 2015-12-29 12:32:01 -08:00
Dr. Chat
d09e3b7953 Fix incorrect backend breakpoints implementation 2015-12-29 12:32:00 -08:00
Dr. Chat
28468f8a18 cpu::Processor now tracks a pointer to the emulator. 2015-12-29 12:32:00 -08:00
Dr. Chat
7d59258839 Processor::ExecuteRaw
Changed the breakpoint lock to a recursive mutex.
2015-12-29 12:28:57 -08:00
Dr. Chat
ac706f6923 Allow breakpoint addresses to be changed after creation 2015-12-29 12:28:56 -08:00
Dr. Chat
e383e2f101 Processor breakpoint support 2015-12-29 12:28:56 -08:00
Ben Vanik
214957da3a Adding finer-grained instruction classification. 2015-12-29 11:02:00 -08:00
Ben Vanik
cc72de0f64 Moving disasm to new tables.
Also adding useful CPU docs.
2015-12-28 20:49:22 -08:00
Ben Vanik
cd938be678 Removing all uses of the old PPC tables besides disasm. 2015-12-28 10:08:38 -08:00
Ben Vanik
990d973c74 New ppc opcode decoder.
Seems to work and match up with the old decoder (which may be bad).
Old decoder remains until all functionality is replaced.
2015-12-27 22:53:05 -08:00
Ben Vanik
ca8d658ffe Speeding up PPC tests significantly. 2015-12-27 12:03:30 -08:00
Ben Vanik
0e58208add Dropping elemental-forms and swapping out with imgui.
Too much code for such little use. This should simplify porting.
2015-12-26 20:25:24 -08:00
Ben Vanik
15816327b4 Renaming xe::cpu::frontend to xe::cpu::ppc. 2015-12-14 21:17:55 -08:00
Ben Vanik
9273359cdd Removing vestigial ContextInfo. 2015-12-14 20:57:14 -08:00
Ben Vanik
5e6c1f5a50 Removing some dead code. 2015-12-14 20:49:50 -08:00
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