Commit Graph

716 Commits

Author SHA1 Message Date
Dr. Chat
ce2d6da2a1 Processor breakpoints: Change iterators to C++11 syntax where necessary 2015-12-29 13:09:35 -08:00
Dr. Chat
1ce6a7580b Fix CaptureStackTrace with null out_stack_hash 2015-12-29 12:35:59 -08:00
Dr. Chat
d99008bfac RawModule::SetAddressRange - Notify the backend about this range. 2015-12-29 12:35:58 -08:00
Dr. Chat
38a09cbcc2 ExecuteRaw: Pass in 0xBC... magic so Xenia will return to the guest caller. 2015-12-29 12:35:57 -08:00
Dr. Chat
6d98628962 Remove Function::Call extern handler shortcut (as we need old behavior for savestates) 2015-12-29 12:35:56 -08:00
Dr. Chat
67a45203e3 Uninstall the X64 backend exception callback on exit. 2015-12-29 12:35:56 -08:00
Dr. Chat
e206d13af7 Flag mfmsr/mtmsr/mtmsrd as context-synchronizing instructions 2015-12-29 12:35:04 -08:00
Dr. Chat
87cdce1440 Export kBlocking tag 2015-12-29 12:32:48 -08:00
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