Commit Graph

161 Commits

Author SHA1 Message Date
Ben Vanik
952d35911c Folding build_tools back into the main repo for simplicity. 2015-12-30 16:53:14 -08:00
Ben Vanik
cc37fb1358 Updating to the latest capstone. Fixes #440. 2015-12-29 15:19:08 -08:00
Ben Vanik
9c694f07b3 Better trap message. 2015-12-29 13:40:53 -08:00
Ben Vanik
948aa2400d Formatting all code. Too gnarly to rebase properly. 2015-12-29 13:13:34 -08:00
Dr. Chat
b9159ddee8 X64CodeCache: Add a couple of overflow debug asserts 2015-12-29 13:09:52 -08:00
Dr. Chat
1442f50058 X64Backend: Take a reference of the pair rather than a copy (and formatting) 2015-12-29 13:09:40 -08:00
Dr. Chat
67a45203e3 Uninstall the X64 backend exception callback on exit. 2015-12-29 12:35:56 -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
e383e2f101 Processor breakpoint support 2015-12-29 12:28:56 -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
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
4af6c41740 Moving profiling.h to base - UI could be separated for cleanliness. 2015-11-07 12:31:07 -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
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
f3fe260a17 Fallback case if indirection table could not be allocated. 2015-11-04 06:46:52 -06:00
Ben Vanik
ee92f75a84 Updating to the latest clang-format. Make sure to update yourselves! 2015-09-22 08:26:19 -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
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
5355183590 Don't double-break on debugbreak. 2015-09-01 09:45:32 -07:00
Ben Vanik
7233df2778 Switch default --ignore_undefined_externs to true. 2015-08-30 20:48:41 -07:00
Ben Vanik
82a72e1974 Adding MemoryBarrier opcode. 2015-08-30 17:25:02 -07:00
Ben Vanik
b80a028589 Much better errors on undefined externs. 2015-08-30 15:27:12 -07:00
Ben Vanik
764b11fa04 Formatting premake files. 2015-08-29 20:57:31 -07: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
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
59b9e9ceb0 Fixing buffer overrun in disasm. 2015-08-17 20:38:37 -07:00
gibbed
60b1a67af3 Fixing vpkuhus. 2015-08-16 04:52:19 -05:00
gibbed
6a675659e4 Really fix vupkhsb/vupklsb. 2015-08-16 03:15:37 -05:00
gibbed
f06ddd3869 Maybe fixing vupkhsb/vupklsb. 2015-08-16 02:31:25 -05:00
Ben Vanik
a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik
14beb27ebc xb style. 2015-08-07 07:56:57 -07:00
Ben Vanik
5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik
e6461f326c Some xb style cleanup. 2015-08-05 22:06:20 -07:00
Ben Vanik
eaa1a8ee3a Refactoring SymbolInfo/FunctionInfo/Function into Symbol/Function. 2015-08-05 21:50:02 -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
b0425f7ee2 Moving source map to Function. 2015-08-01 14:07:13 -07:00
Ben Vanik
b67488e70a Removing beaengine disassembler use. 2015-08-01 13:30:43 -07:00
Ben Vanik
a9b89a790b Some more constant support for MUL_SUB. 2015-07-29 21:45:24 -07:00
Ben Vanik
19901c4759 Replacing a use of strings for xbyak labels. 2015-07-29 18:58:45 -07:00
Ben Vanik
e657276996 Mostly working stack walking (besides issue #372). 2015-07-29 00:15:52 -07:00
Ben Vanik
ad9472e60b Better sign extend, thanks to @inolen. 2015-07-27 20:25:20 -07:00