f307bc9eb1
Adding --target= and --trace_registers flags. --target=[xex|iso] makes it possible to specify the thing to run from a flagfile.
Ben Vanik
2013-05-29 21:45:54 -07:00
37530d1438
Adding some required video export variables.
Ben Vanik
2013-05-29 21:26:29 -07:00
6950b21424
Reworking the memory system to not commit 3gb and to properly alloc data. Now only 512MB is committed on startup. Loaded XEXs are placed into their required addresses in the 0x8... range. Kernel structures are allocated from the normal heap like other data. There should no longer be any magical pointers.
Ben Vanik
2013-05-29 21:00:55 -07:00
61f7f6d28e
Starting work on some of the Vd kernel functions.
Ben Vanik
2013-05-28 20:00:06 -07:00
2cecc02787
Skeleton GPU files.
Ben Vanik
2013-05-27 21:45:55 -07:00
16baef3591
Starting physical memory allocation routines. These currently don't do anything special w.r.t. memory addresses/etc, but will in the future.
Ben Vanik
2013-05-27 20:09:40 -07:00
f78e7945d4
Fixing malloc alighment and duplicate calls to NtAllocateVirtualMemory.
Ben Vanik
2013-05-27 19:58:20 -07:00
1d0ec64d40
Adding srd/srw. Fixing shamts in other shifts.
Ben Vanik
2013-05-27 05:35:41 -07:00
778efdb276
fcfid(z), fctid(z) -- both largely untested.
Ben Vanik
2013-05-27 05:22:38 -07:00
78ee6c9ee9
Added video submodule for xboxkrnl and xam modules.
Rick Gibbed
2013-05-26 22:42:07 -07:00
9eadffe461
Added float/double swap helpers.
Rick Gibbed
2013-05-26 22:39:39 -07:00
b87b17f51e
Converting more kernel methods to the new style.
Ben Vanik
2013-05-26 22:04:12 -07:00
6e8828f843
Switching kernel files to the new style.
Ben Vanik
2013-05-26 21:37:47 -07:00
fbe800aacd
Preparing to enable unshimmed kernel methods that can be called directly.
Ben Vanik
2013-05-26 20:32:30 -07:00
25d8b5f8d8
Switching shim mapping macro to use ordinal constants.
Ben Vanik
2013-05-26 20:10:10 -07:00
a332faf419
Adding ordinal enums to kernel modules. Access via xe::kernel::modules::xboxkrnl::ordinals::MyFunction (or just ordinals::MyFunction when in the namespace). Some collisions occurred - just added random suffixes for now.
Ben Vanik
2013-05-26 19:28:46 -07:00
87b8ebd613
Forgot to switch macros.
Ben Vanik
2013-05-26 19:19:26 -07:00
9f320ba4a7
Prepping kernel export tables for various uses.
Ben Vanik
2013-05-26 18:57:41 -07:00
1b07aace73
Moving kernel functions into their proper namespaces.
Ben Vanik
2013-05-26 18:43:57 -07:00
1a5a8d748d
Adding missing files to the xam gypi.
Ben Vanik
2013-05-26 18:40:51 -07:00
c10d719d53
Floating point loads/stores. Seem correct. Maybe not.
Ben Vanik
2013-05-26 17:59:11 -07:00
a09170b2c6
Fixing bad EA write order.
Ben Vanik
2013-05-26 17:49:37 -07:00
a6db12b48f
ldx/ldux.
Ben Vanik
2013-05-26 17:19:13 -07:00
0ca44083e6
Stick the export ordinal in the dummy address for unimplemented export data, to make it obvious what it is when debugging.
Rick Gibbed
2013-05-26 17:37:31 -07:00
c29c4b067f
Corrected a xam export to variable.
Rick Gibbed
2013-05-26 17:23:30 -07:00
b5e729f89e
sld.
Ben Vanik
2013-05-26 16:30:52 -07:00
924b08b264
cntlzd and fixing broken cntlzwx.
Ben Vanik
2013-05-26 16:30:43 -07:00
86396816f5
rldicl, rldicr.
Ben Vanik
2013-05-26 16:10:25 -07:00
fd86370ccc
Fixing warnings on mtmsr/mtmsrd disasm.
Ben Vanik
2013-05-26 15:03:36 -07:00
5f494a4449
Corrected many xboxkrnl exports to variable.
Rick Gibbed
2013-05-26 09:46:20 -07:00
1b3351b1e2
disasm for mfmsr, mtmsr, mtmsrd
Rick Gibbed
2013-05-26 08:39:31 -07:00
82159b2b9d
Adding lfd.
Ben Vanik
2013-05-26 07:19:09 -07:00
9d63eb7499
Fixing condition updates for unsigned compares.
Ben Vanik
2013-05-26 04:21:07 -07:00
5d83465ce4
Fixing branches via the indirection block. Also disabling the local indirection optimization until it's implemented.
Ben Vanik
2013-05-26 03:59:32 -07:00
22f186d713
Better asserts/checks around bad function addresses.
Ben Vanik
2013-05-26 03:26:49 -07:00
bf9e92c027
Fixing typo in disasm.
Ben Vanik
2013-05-26 02:48:31 -07:00
35ce144a37
Disasm of some memory routines.
Ben Vanik
2013-05-26 02:44:05 -07:00
6678279ebf
Corrected more issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount.
Rick Gibbed
2013-05-26 02:36:48 -07:00
d385bc6a10
Added XEASSERTSTRUCTSIZE macro.
Rick Gibbed
2013-05-26 02:36:07 -07:00
237ab5551f
Oops. Fixed some formatting in previous commit.
Rick Gibbed
2013-05-26 02:21:05 -07:00
3ac3d8078d
Corrected some issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount.
Rick Gibbed
2013-05-26 02:18:49 -07:00
6b851da9d7
Fixing analysis regression: don't analyze on gets during analysis pass.
Ben Vanik
2013-05-26 02:11:08 -07:00
f94256aaaf
Adding a simple heuristic to find leaf thunk functions.
Ben Vanik
2013-05-26 01:43:44 -07:00
1640acaf8a
mftb
Rick Gibbed
2013-05-26 00:48:53 -07:00
7febbe0f86
Fixing <8b memory accesses.
Ben Vanik
2013-05-26 00:43:53 -07:00
0855fe7014
addicx
Rick Gibbed
2013-05-26 00:27:36 -07:00
ab762e0009
Adding disassemblers for the fpu instructions.
Ben Vanik
2013-05-26 00:13:46 -07:00
4073028188
Very basic, super slow, nasty indirection.
Ben Vanik
2013-05-25 20:32:58 -07:00
2986a0be82
Removing debug int3.
Ben Vanik
2013-05-25 17:20:52 -07:00
ce27fb333b
Fixing rlwimix.
Ben Vanik
2013-05-25 17:08:31 -07:00
bd8376e231
Making xenia-test run on Windows.
Ben Vanik
2013-05-25 05:20:28 -07:00
edb3aabdd4
Removing llvm backend.
Ben Vanik
2013-05-25 04:28:21 -07:00
eb22289dc7
Fixing bad fcmpu disasm.
Ben Vanik
2013-05-25 04:25:27 -07:00
a5da226617
cntlzwx.
Ben Vanik
2013-05-25 03:23:33 -07:00
de85adea2e
divwx/divwux.
Ben Vanik
2013-05-25 02:49:44 -07:00
9f3f5d2c0e
mullw.
Ben Vanik
2013-05-25 01:56:42 -07:00
e29de199ff
srawix.
Ben Vanik
2013-05-25 01:50:46 -07:00
8207bb8088
negx
Ben Vanik
2013-05-25 01:35:19 -07:00
07d0dd98b6
slwx, ignoring twi.
Ben Vanik
2013-05-25 01:31:38 -07:00
ed401449b7
Only create the shared return block if required.
Ben Vanik
2013-05-25 00:45:16 -07:00
da62ec56f9
Adding the ret required for tail calls.
Ben Vanik
2013-05-25 00:41:01 -07:00
fb22aeb5ac
Fixing assertion warnings from asmjit.
Ben Vanik
2013-05-25 00:40:30 -07:00
ea2cf390d7
Defining ASMJIT_DEBUG in debug builds.
Ben Vanik
2013-05-25 00:28:04 -07:00
f3552ff9a5
Implementing RtlImageXexHeaderField better.
Ben Vanik
2013-05-25 00:08:01 -07:00
eac03765db
Adding addx. Whoops.
Ben Vanik
2013-05-25 00:07:35 -07:00
12b2dc153e
Disabling the faked KeDebugMonitorData.
Ben Vanik
2013-05-24 23:43:11 -07:00
04485b6460
rlwimix/rlwinmx.
Ben Vanik
2013-05-24 23:34:52 -07:00
ef3bd6cc53
Fixing disasm of subfic, fixing neg->not, fixing tests to use 8bits.
Ben Vanik
2013-05-24 23:03:35 -07:00
6320ef6b7e
Fixing conditionals to use cmp instead of test.
Ben Vanik
2013-05-24 22:21:05 -07:00
7bf69f66fd
Logging out the condition register values.
Ben Vanik
2013-05-24 22:03:57 -07:00
2586c10cc5
addzex.
Ben Vanik
2013-05-24 21:54:04 -07:00
9883f32fb7
Fixing logger initialization when codegen logging is disabled.
Ben Vanik
2013-05-24 21:49:03 -07:00
ba718de434
Further corrections on cr checks.
Rick Gibbed
2013-05-24 21:34:03 -07:00
1354b9975f
Adding basic branch indirection, which doesn't work but is ready to do so.
Ben Vanik
2013-05-24 21:18:30 -07:00
c6ed7ff9cf
Fixing cr5+ checks.
Ben Vanik
2013-05-24 20:48:04 -07:00
346a27ddf8
Trying again to fix compares.
Ben Vanik
2013-05-24 20:40:00 -07:00
e7556a09f8
Fixing bad or during cr0 update - need to be overwriting.
Ben Vanik
2013-05-24 20:26:06 -07:00
68f1eb7f69
Fixing carry and compare flags.
Ben Vanik
2013-05-24 20:20:18 -07:00
97b0e2aa3d
Fixing comparison between two gpvars.
Ben Vanik
2013-05-24 20:09:11 -07:00
5e66f7b04b
Adding a bunch of nops around trace calls. 5 before, 2 after (so it's easy to see what goes with what).
Ben Vanik
2013-05-24 19:59:51 -07:00
1ad0bb7843
cmp/cmpi/cmpl/cmpli. May not be right.
Ben Vanik
2013-05-24 19:52:00 -07:00
6cd8495ea2
extsbx.
Ben Vanik
2013-05-24 19:45:48 -07:00
8976f1b046
subfx + subficx.
Ben Vanik
2013-05-24 19:16:01 -07:00
69ebedb43f
addic + subfex.
Ben Vanik
2013-05-24 19:10:54 -07:00
dc40f28795
addx and switching commenting style on the rest of the unported instrs.
Ben Vanik
2013-05-24 18:49:14 -07:00
1e67547a6b
Fixing conditional branch logic.
Ben Vanik
2013-05-24 18:44:32 -07:00
2ab01af0bd
Breaking on indirect branches.
Ben Vanik
2013-05-24 18:34:08 -07:00
692f85ed4f
Very, very basic branching. Most compares not yet implemented.
Ben Vanik
2013-05-24 18:28:52 -07:00
7e3268621d
Optimizing the mr case.
Ben Vanik
2013-05-24 17:59:01 -07:00
748bfe509f
Handling null ptr in NtFreeVirtualMemory.
Ben Vanik
2013-05-24 17:33:57 -07:00
21b0d25131
Fixing memory address truncation.
Ben Vanik
2013-05-24 17:08:12 -07:00
3b8f13a617
Freenode verification. 3Ooq34zIVGWCS5jxpfYdO5LB4v9c5yzFpPAUBIhF
Ben Vanik
2013-05-24 16:57:14 -07:00
fcf478ba55
Log all incoming registers on each instruction execute.
Ben Vanik
2013-05-24 16:53:27 -07:00
15cfbd3736
The various _ptr helpers in asmjit are useless.
Ben Vanik
2013-05-24 16:34:24 -07:00