Ryan Houdek
bb7e58b3f1
Adds more IR documentation
2020-05-08 18:40:21 -07:00
Ryan Houdek
449269f261
Merge pull request #181 from Sonicadvance1/IR_documentation
...
Adds IR documentation generator and unit test runner
2020-05-07 21:29:34 -07:00
Ryan Houdek
9fd3cd8884
Implements IR loader frontend application
...
This application loads an IR from an IR file.
It then proceeds to lex the file and translate it to binary IR.
Once the file is loaded it then the IR is passed off to the backend and
it attempts to run the IR.
This will be used when debugging RA and writing unit tests directly in
IR.
This is a necessary evil for ensuring correctness
2020-05-07 17:47:37 -07:00
Ryan Houdek
4269cef98f
Adds the ability for the IR printer to dump TypeDefinition
...
No IR uses this currently directly but it could definitely happen.
2020-05-07 17:40:29 -07:00
Ryan Houdek
54ee9cbe86
Adds predefined TypeDefinition types for common sizes
2020-05-07 17:40:29 -07:00
Ryan Houdek
6e4b29d760
Implements a TypeDefition type for IR handling
...
Will be useful when parsing later
2020-05-07 17:40:29 -07:00
Ryan Houdek
c25f2845d3
Adds the ability for the frontend codeloader to load IR
...
This will be used by the IR unit test loader.
Will give the backend IR so it doesn't even parse any x86 code
2020-05-07 17:40:29 -07:00
Ryan Houdek
bf2d02c244
Adds python script for generating a markdown file for IR documentation
...
Pretty light markdown that ends up generating when the build runs
2020-05-07 17:27:54 -07:00
Ryan Houdek
f4964927e0
Updates IR generator to support printing out IR lexing code
2020-05-07 17:27:01 -07:00
Ryan Houdek
00028d41db
Updates IR dumping to be easier to parse
...
This will allow us to lex the text
2020-05-07 17:25:44 -07:00
Ryan Houdek
0e4bd4e7b7
Significantly improves IR documentation in the JSON file
...
Doesn't cover 100% of the IR ops but it hits about half
2020-05-07 17:24:44 -07:00
Ryan Houdek
4723b0a84e
Merge pull request #180 from woachk/x86_build_fix_1
...
x86_64 build fix, by reordering KVM initialisation values
2020-05-04 11:45:44 -07:00
woachk
595df184f7
x86_64 build fix, by reordering KVM initialisation values
2020-05-04 16:58:45 +02:00
Ryan Houdek
66dc5ebc54
Merge pull request #179 from FEX-Emu/skmp/fix-exit-code
...
Propagate guest exit code
2020-05-01 16:58:07 -07:00
Ryan Houdek
1eae0dd126
Merge pull request #177 from FEX-Emu/skmp/silent-log
...
Add silent log
2020-05-01 16:35:11 -07:00
Stefanos Kornilios Mitsis Poiitidis
d58961ef1e
Propagate guest exit code
2020-05-02 02:34:50 +03:00
Ryan Houdek
f83874c6b1
Ensure local pushes to a branch don't run through CI
...
If someone is pushing to a local branch on the repo, then don't run CI.
Only run once someone pushes a PR if local.
This makes it so we don't run CI for a branch twice over.
2020-05-01 16:07:09 -07:00
Stefanos Kornilios Mitsis Poiitidis
3c9be4625c
Add silent log
2020-05-02 01:45:22 +03:00
Ryan Houdek
0d89de2799
Merge pull request #175 from Sonicadvance1/xmm_to_mmx
...
Implements three XMM <-> MMX conversion instructions
2020-05-01 00:52:46 -07:00
Ryan Houdek
6e53d0d98b
Merge pull request #176 from FEX-Emu/phire-patch-1
...
Remove stray debug code
2020-05-01 00:52:32 -07:00
Scott Mansell
22a557b2db
Remove stray debug code
2020-05-01 19:12:00 +12:00
Ryan Houdek
ee931def98
Implements three unit tests for the new conversion ops
2020-04-29 19:03:48 -07:00
Ryan Houdek
deb5bd8fe8
Implements three XMM <-> MMX conversion instructions
...
CVTPI2PS does MMX->XMM integer to float conversion with lower 64bit
insert
CVTPS2PI/CVTTPS2PI does an XMM->XMM float to integer conversion
2020-04-29 19:03:48 -07:00
Ryan Houdek
094f6c623b
Merge pull request #163 from Sonicadvance1/fs_gs_and_xlat
...
Fixes GS, implements segment reading and writing instructions, and implements XLAT
2020-04-29 18:32:20 -07:00
Ryan Houdek
f8eabf8648
Implements a unit test for XLAT
2020-04-29 18:26:03 -07:00
Ryan Houdek
9848f7eac8
Implements the XLAT instruction
...
This is a fairly straightforward instruction, it's just <segment>:[rBX + AL]
Needs the previous changes since we weren't handling GS correctly
2020-04-29 18:26:03 -07:00
Ryan Houdek
92d99b0261
Implements unit tests for the segment reading and writing instructions
2020-04-29 18:25:46 -07:00
Ryan Houdek
6a98e93666
Implements the segment reading and writing instructions
2020-04-29 18:25:46 -07:00
Ryan Houdek
a0f412d85a
Update the new register segment reading and writing table flags
...
These are instructions that can executed at any CPL level
2020-04-29 18:25:46 -07:00
Ryan Houdek
53798f194e
Fix the Frontend's handling of the GS prefix
...
We were accidently treating it as FS each time it was encountered
2020-04-29 18:25:46 -07:00
Ryan Houdek
a6c543eb52
Merge pull request #162 from Sonicadvance1/loop_inst
...
Implements support for the three loop instructions
2020-04-29 18:22:57 -07:00
Ryan Houdek
1223df2e84
Implements unit tests for the three new loop instructions
2020-04-29 17:20:09 -07:00
Ryan Houdek
e49a66f740
Implements support for the three loop instructions
...
loop, loope, loopne
2020-04-29 17:20:09 -07:00
Ryan Houdek
0d83454366
Merge pull request #170 from dmiller423/procfs_auxv
...
Added dup3 syscall, EmulatedFiles : /proc/{self,$PID}/auxv, modified …
2020-04-29 16:06:30 -07:00
Ryan Houdek
8f2f046fc8
Merge pull request #157 from Sonicadvance1/rcp
...
Implements support for rcpps/rcpss
2020-04-29 16:03:38 -07:00
David Miller
09f119a3ce
removed front end header / class from EmulatedFiles.cpp
2020-04-29 16:39:40 -04:00
David Miller
f916294772
Include unistd.h in EmulatedFiles.cpp as CI doesn't build
2020-04-29 16:04:39 -04:00
David Miller
306cca33d7
Added dup3 syscall, EmulatedFiles : /proc/{self,$PID}/auxv, modified OpenAt() to normalize path to canonical if possible or lexically_normal. Note: canonical will change symlinks, ensure the map keys take this into account.
2020-04-29 16:00:59 -04:00
Ryan Houdek
056d017ac8
Merge pull request #160 from Sonicadvance1/horizontal_arith
...
Implements four new vector horizontal ALU ops
2020-04-29 12:56:26 -07:00
Ryan Houdek
8e13e404b1
Adds unit test for the four new horizontal vector ops
2020-04-29 12:47:27 -07:00
Ryan Houdek
f99482ed84
Implements four new vector horizontal ALU ops
...
haddps, hsubps, haddpd, hsubpd
2020-04-29 12:47:27 -07:00
Ryan Houdek
f0229fba38
Implements the two new ops in the LLVM JIT
2020-04-29 12:47:27 -07:00
Ryan Houdek
f6814de357
Implements the two new ops in the x86-64 JIT
2020-04-29 12:47:27 -07:00
Ryan Houdek
1645e65ff3
Implements the two new ops in the AArch64 JIT
2020-04-29 12:47:27 -07:00
Ryan Houdek
1c572e71c7
Implements the two new ops in the interpreter
2020-04-29 12:47:27 -07:00
Ryan Houdek
fee4aeaf88
Merge pull request #167 from Sonicadvance1/fix_exec
...
Fixes loading EXEC applications in to memory.
2020-04-29 12:31:33 -07:00
Ryan Houdek
772e47bf22
Merge pull request #165 from Sonicadvance1/pushf_unittest
...
Pushf and Popf unit tests
2020-04-29 12:31:11 -07:00
Ryan Houdek
2005a2ea3d
Merge pull request #164 from Sonicadvance1/fwait
...
Implements fwait as a nop
2020-04-29 12:30:45 -07:00
Ryan Houdek
f1403e5f54
Merge pull request #161 from Sonicadvance1/jrcxz
...
Implements JRCXZ in the OpcodeDispatcher
2020-04-29 12:30:25 -07:00
Ryan Houdek
3d782f0930
Merge pull request #156 from Sonicadvance1/movsldup
...
Implements support for movsldup
2020-04-29 12:27:37 -07:00