6c4af5aa70
Kernel calls and variables now working and tracing better.
Ben Vanik
2013-01-28 12:36:39 -08:00
5c2060af72
Now running up to the first required kernel call. If memory address validation is turned off it runs a lot further.
Ben Vanik
2013-01-28 03:03:37 -08:00
46d5a0b51d
Executing a bunch of instructions! Very hacky module startup code, but can now start XEXs! Time to start implementing kernel stuff.
Ben Vanik
2013-01-27 22:14:24 -08:00
92a3e19cd9
Fixing to allow multiple executions/process.
Ben Vanik
2013-01-27 19:33:57 -08:00
12d9c3d15e
First instruction executed in the test runner! Fixes#7.
Ben Vanik
2013-01-27 17:49:32 -08:00
bba99d4a22
Refactoring to allow for raw binary loading.
Ben Vanik
2013-01-27 12:48:10 -08:00
26d5df0d38
Adding the start of the instruction test infrastructure.
Ben Vanik
2013-01-27 02:51:53 -08:00
e37821cf36
Checking in binutils to enable ppc cross compile.
Ben Vanik
2013-01-27 00:22:59 -08:00
e0951d012e
Updating LLVM and ninja.
Ben Vanik
2013-01-26 22:32:43 -08:00
d9b08f569f
Adding a bunch of instructions.
Ben Vanik
2013-01-26 21:51:31 -08:00
733fe85d37
Cleaning up function registers and setting up CR.
Ben Vanik
2013-01-26 01:25:31 -08:00
9b3d96a8ae
Cleaning up instruction decoding names to match the docs better.
Ben Vanik
2013-01-25 23:45:13 -08:00
ffdc1e5d4b
Hacking on some instructions.
Ben Vanik
2013-01-25 23:32:37 -08:00
2e6db831a5
TODO update.
Ben Vanik
2013-01-25 01:01:11 -08:00
ebda245773
Better handling of invalid/unimplemented instructions.
Ben Vanik
2013-01-25 00:51:56 -08:00
dcb958de54
Adding better register tracking through locals and fixing branches. LLVM does an amazing job of optimizing this. There are many opportunities to make it better, too, by preventing spilling where not required or only spilling/filling things when needed.
Ben Vanik
2013-01-25 00:32:42 -08:00
47481fecf7
Adding tracing methods.
Ben Vanik
2013-01-24 00:10:24 -08:00
385a4ee23b
Cleaning up function creation.
Ben Vanik
2013-01-23 22:38:59 -08:00
a10a05b6f2
Misc output cleanup and a test run script.
Ben Vanik
2013-01-23 21:59:26 -08:00
860a0739ec
Adding gflags to handle command line flags. It sucks, but is the best there is without using boost.
Ben Vanik
2013-01-23 21:31:23 -08:00
01fee047f7
Update TODO.md
Ben Vanik
2013-01-22 13:15:02 -08:00
9dfcbee090
Update TODO.md
Ben Vanik
2013-01-22 10:50:20 -08:00
0aaaac2a7a
Adding TODO.
Ben Vanik
2013-01-22 00:54:49 -08:00
91f9e8b7bb
Generating a lot of code! Still a few missing instructions/variants and other issues, but a big and valid LLVM module is being generated.
Ben Vanik
2013-01-22 00:22:27 -08:00
791f14182c
Fixing a bunch of valgrind errors and reworking globals.
Ben Vanik
2013-01-21 14:31:59 -08:00
b29dd22850
Adding instruction emitting functions. All empty, all ready to go!
Ben Vanik
2013-01-21 11:55:42 -08:00
95a8be078b
Rearranging code a bit to keep things cleaner.
Ben Vanik
2013-01-21 10:58:52 -08:00
b91d550ef1
Adding instruction generation loop. Not yet doing anything, but close.
Ben Vanik
2013-01-21 01:11:57 -08:00
25af5f410a
Cleaning up the names in imports/functions.
Ben Vanik
2013-01-21 00:13:00 -08:00
68cc34bb79
Fixing up basic block targets and such.
Ben Vanik
2013-01-20 17:27:49 -08:00
852536ae0a
Basic function analysis. Finds basic blocks and estimates proper function bounds. Seems legit for compiled code.
Ben Vanik
2013-01-20 16:46:08 -08:00
d4b0bf73c1
Prepping flow for basic block building.
Ben Vanik
2013-01-20 09:48:39 -08:00
ca2908db32
Converting everything to C++ cause I'm a masochist.
Ben Vanik
2013-01-20 01:13:59 -08:00
8a5dcbc1dd
Hacky state for instruction gen.
Ben Vanik
2013-01-19 11:04:22 -08:00
ea5154af0f
Codegen experimentation.
Ben Vanik
2013-01-19 05:26:01 -08:00
c18e94c5be
Fleshing out the symbol database. Now detecting a lot of functions via method hints and generating stub functions. A few holes (in the test xex), but enough to move forward with codegen.
Ben Vanik
2013-01-17 23:17:49 -08:00
f779adda55
Update README.md
Ben Vanik
2013-01-14 13:27:52 -08:00
6c5432eb45
Symbol database skeleton.
Ben Vanik
2013-01-14 00:02:24 -08:00
bfec194533
Adding instruction table and basic PPC state. Can decode a single instruction.
Ben Vanik
2013-01-13 21:25:28 -08:00
099e37490a
Work on CPU, codegen skeleton, and thunk.
Ben Vanik
2013-01-13 15:48:18 -08:00
2f4bc598e5
CPU skeleton.
Ben Vanik
2013-01-13 00:34:08 -08:00
bcd575f9b0
Massive dump of xenia-info required code. This is a working xenia-info for xex files (no gdfs files yet).
Ben Vanik
2013-01-12 23:25:41 -08:00
986d63e412
Fixing xcode builds.
Ben Vanik
2013-01-11 01:54:48 -08:00
eb7cf18acc
Adding some third_party deps.
Ben Vanik
2013-01-11 01:28:56 -08:00
7e4a9220d7
Initial project skeleton. This includes a working gyp-based build of an executable that uses LLVM.
Ben Vanik
2013-01-11 01:23:08 -08:00
c03f57c8c6
Update README.md
Ben Vanik
2013-01-10 15:28:11 -08:00
086216937e
Create LICENSE
Ben Vanik
2013-01-10 15:25:20 -08:00
f3a941133a
Update README.md
Ben Vanik
2013-01-10 15:22:20 -08:00
30bde439f7
Initial commit
Ben Vanik
2013-01-10 15:20:45 -08:00