Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-01-06 | Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX. | Kevin Hartman | 2 | -16/+18 | |
2015-01-05 | dyncom: Partially emulate BXJ | Lioncash | 1 | -8/+25 | |
Just in case some game studio let the intern write inline assembly or something. | |||||
2015-01-05 | dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT | Lioncash | 1 | -1/+2 | |
Easy skyeye todo fix. | |||||
2015-01-05 | dyncom: Implement QADD/QSUB/QDADD/QDSUB | Lioncash | 4 | -25/+117 | |
2015-01-04 | skyeye: Remove duplicate typedefs | Lioncash | 4 | -41/+17 | |
citra already has its own typedefs like this. | |||||
2015-01-03 | dyncom: Implement SMLAW | Lioncash | 1 | -1/+43 | |
2015-01-03 | VFP: Minor cleanup, functionally the same. | bunnei | 1 | -2587/+2476 | |
2015-01-03 | dyncom: Implement REVSH | Lioncash | 1 | -45/+45 | |
Also joins the REV ops into one common place. | |||||
2015-01-03 | dyncom: Implement SMLALD/SMLSLD | Lioncash | 1 | -3/+72 | |
2015-01-03 | dyncom: Implement SMMLA/SMMUL/SMMLS | Lioncash | 1 | -3/+64 | |
2015-01-03 | dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH | bunnei | 3 | -227/+282 | |
2015-01-03 | dyncom: Remove dead function InterpreterInitInstLength | Lioncash | 1 | -27/+0 | |
Technically eliminates two memory leaks as well. | |||||
2015-01-03 | armemu: Fix missing Q flag check for SMLSD. | Lioncash | 1 | -2/+6 | |
2015-01-03 | dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD | Lioncash | 5 | -50/+84 | |
2015-01-02 | dyncom: Implement SXTAB16 and SXTB16 | Lioncash | 1 | -3/+58 | |
2015-01-01 | dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX | Lioncash | 1 | -8/+110 | |
2015-01-01 | Fix SADD8/SSUB8 in the armemu | Lioncash | 1 | -50/+28 | |
2015-01-01 | dyncom: Implement SADD8/SSUB8 | Lioncash | 1 | -55/+108 | |
2014-12-31 | dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX | Lioncash | 1 | -9/+208 | |
2014-12-31 | dyncom: Massive refactor | bunnei | 2 | -654/+221 | |
2014-12-30 | vfp: Get rid of a few warnings | Lioncash | 2 | -2/+2 | |
2014-12-30 | vfp: Implement VMOVBRRSS | Lioncash | 3 | -12/+44 | |
2014-12-30 | dyncom: Implement USAT16/SSAT16 | Lioncash | 1 | -2/+61 | |
2014-12-30 | dyncom: Implement USAT/SSAT | bunnei | 3 | -2/+131 | |
2014-12-30 | dyncom: Various cleanups to match coding style, no functional changes. | bunnei | 5 | -7087/+5962 | |
2014-12-29 | dyncom: Fix SMLALXY's instruction labels | Lioncash | 1 | -2/+2 | |
They were erroneously labeled as SMLAL. | |||||
2014-12-29 | dyncom: Implement QADD8/QSUB8 | Lioncash | 1 | -32/+42 | |
2014-12-29 | armemu: Implement QADD8/QSUB8 | Lioncash | 3 | -33/+100 | |
2014-12-29 | dyncom: Implement UXTB16/UXTAB16 | Lioncash | 1 | -2/+55 | |
2014-12-29 | vfp: Actually make the code somewhat readable | Lioncash | 5 | -1664/+1053 | |
2014-12-28 | dyncom: Implement PKHBT and PKHTB. | bunnei | 1 | -2/+57 | |
2014-12-28 | armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field. | bunnei | 1 | -13/+5 | |
2014-12-28 | dyncom: Implement USAD8/USADA8 | Lioncash | 3 | -3/+53 | |
2014-12-28 | armemu: Simplify SSAT/SSAT16/SXTB/SXTAB | Lioncash | 1 | -71/+48 | |
2014-12-28 | armemu: Simplify REV/REV16/SXTH/SXTAH | Lioncash | 1 | -38/+26 | |
2014-12-28 | armemu: Simplify USAT16/UXTB/UXTAB | Lioncash | 1 | -65/+42 | |
2014-12-28 | armemu: Simplify REVSH/UXTH/UXTAH | Lioncash | 1 | -48/+23 | |
2014-12-28 | armemu: Fix underflows in USAD8/USADA8 | Lioncash | 3 | -4/+14 | |
Initially reported by xdec. | |||||
2014-12-27 | dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. | Lioncash | 3 | -12/+102 | |
2014-12-27 | armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX | Lioncash | 3 | -19/+93 | |
2014-12-27 | dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX | Lioncash | 1 | -11/+123 | |
2014-12-27 | armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX | Lioncash | 1 | -2/+73 | |
2014-12-26 | ARM: Add a mechanism for faking CPU time elapsed during HLE. | bunnei | 5 | -95/+31 | |
- Also a few cleanups. | |||||
2014-12-25 | armemu: Implement SMMUL, SMMLA, and SMMLS. | Lioncash | 1 | -2/+30 | |
2014-12-24 | armemu: Implement SMLALD/SMLSLD | Lioncash | 1 | -2/+33 | |
2014-12-24 | armemu: Fix GE/Q flag setting semantics | Lioncash | 1 | -62/+56 | |
2014-12-23 | armemu: Set the Q flag correctly for much of the other ops | Lioncash | 1 | -8/+8 | |
They were setting the old S flag. | |||||
2014-12-23 | armemu: Set the Q flag properly for SMLAD/SMUAD | Lioncash | 3 | -13/+28 | |
2014-12-23 | armemu: Properly set the Q flag for SSAT16/USAT16 upon saturation. | Lioncash | 1 | -9/+23 | |
2014-12-23 | armemu: Fix SEL | Lioncash | 1 | -1/+1 | |
Needs to use the updated state of the CPSR. | |||||
2014-12-23 | armemu: Fix construction of the CPSR | Lioncash | 4 | -15/+54 | |
2014-12-23 | armemu: Fix retrieval of the CPSR in MRS instructions. | Lioncash | 1 | -1/+1 | |
2014-12-22 | dyncom: Move over QADD16/QASX/QSAX/QSUB16 | Lioncash | 1 | -7/+87 | |
2014-12-22 | dyncom: Move SEL over | Lioncash | 1 | -1/+58 | |
2014-12-22 | dyncom: Move over SASX/SSAX/SADD16/SSUB16 | Lioncash | 1 | -7/+102 | |
2014-12-21 | More warning cleanups | Chin | 3 | -9/+6 | |
2014-12-21 | License change | purpasmart96 | 8 | -8/+8 | |
2014-12-21 | armemu: Implement SADD8/SSUB8 | Lioncash | 1 | -14/+87 | |
2014-12-20 | armemu: Should be using labs for USAD8/USADA8 | Lioncash | 1 | -4/+4 | |
2014-12-19 | armemu: Implement QASX and QSAX | Lioncash | 1 | -7/+20 | |
2014-12-19 | armemu: Implement SMLSD | Lioncash | 1 | -6/+10 | |
2014-12-19 | dyncom: Implement UMAAL | Lioncash | 1 | -1/+47 | |
2014-12-19 | armemu: Implement USAD8 and USADA8 | Lioncash | 1 | -1/+24 | |
2014-12-19 | armemu: Fix SSAT16 | Lioncash | 1 | -1/+1 | |
The lower-bound would never be negative like it should | |||||
2014-12-19 | armemu: Clean up naming and formatting for SSAT16 | Lioncash | 1 | -14/+20 | |
2014-12-18 | armemu: Fix lower-bounds clamping for USAT16 | Lioncash | 1 | -1/+6 | |
2014-12-18 | armemu: More concise names for USAT16-related variables | Lioncash | 1 | -11/+15 | |
2014-12-18 | armemu: Get rid of bitwise parenthesis warnings | Lioncash | 1 | -4/+4 | |
2014-12-18 | armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX. | Lioncash | 1 | -4/+29 | |
2014-12-18 | armemu: Combine SSUB16, SADD16, SASX, and SSAX. | Lioncash | 1 | -34/+23 | |
2014-12-17 | armemu: Unset GE flags for UADD8 if results are < 0x100 | Lioncash | 1 | -4/+22 | |
Reference manual states these must be set to zero if this case is true. | |||||
2014-12-17 | armemu: Fix SSUB16 | Lioncash | 1 | -8/+8 | |
Broken from the same reason SADD16 was. The lo part of the result should only be constructed from the lo halfwords of rm and rn. The hi part of the result should only be constructed from the hi halfwords of rm and rn. | |||||
2014-12-17 | armemu: Implement UMAAL | Lioncash | 1 | -3/+25 | |
2014-12-17 | armemu: Narrow the scope of some variables in handle_v6_insn | Lioncash | 1 | -12/+9 | |
There's no reason to have these in the outer-most scope. | |||||
2014-12-17 | armemu: Fix SADD16 | Lioncash | 1 | -8/+9 | |
The lo and hi parts of the result were being constructed as a result of hi and lo halfword intermixing from the rm and rn regs. However the lo part of the result should be constructed only from the lo halfwords of rm and rn, and the hi part of the result should only be constructed from the hi halfwords of rm and rn. | |||||
2014-12-17 | armemu: Fix PKHTB | Normmatt | 1 | -6/+12 | |
2014-12-17 | armemu: Implement REVSH | Normmatt | 1 | -5/+9 | |
2014-12-17 | armemu: Fix UXTAB/UXTAH | Normmatt | 1 | -4/+4 | |
2014-12-17 | armemu: Fix SXTAB | Normmatt | 1 | -2/+2 | |
2014-12-17 | armemu: Fix SXTAH | Normmatt | 1 | -2/+3 | |
2014-12-16 | armemu: Fix FTOUI NaN sign. | Normmatt | 1 | -1/+1 | |
2014-12-16 | armemu: Fix FSUBS bug where NaN shouldn't be negated | Normmatt | 1 | -1/+4 | |
2014-12-16 | armemu: Fix SMUAD, SMUSD, and SMLAD | Lioncash | 1 | -3/+3 | |
Wrong values were being multiplied together. | |||||
2014-12-16 | armemu: Join SMUAD, SMUSD, and SMLAD | Lioncash | 1 | -38/+35 | |
2014-12-16 | armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16. | Lioncash | 1 | -2/+2 | |
2014-12-16 | armemu: Join QADD16 and QSUB16 together. | Lioncash | 1 | -33/+37 | |
The only difference between these ops is one adds and one subtracts. Everything is literally the same. | |||||
2014-12-16 | armemu: Implement UXTAB16 | Lioncash | 1 | -10/+25 | |
2014-12-15 | armemu: Fix UXTB16 | Lioncash | 1 | -12/+12 | |
Rotation bits are 10 and 11, not 9 and 10. | |||||
2014-12-15 | ARM: Pull some SkyEye fixes from 3dmoo. | bunnei | 3 | -419/+485 | |
2014-12-14 | Clean up armdefs.h | Lioncash | 1 | -306/+169 | |
2014-12-13 | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 5 | -109/+109 | |
2014-12-08 | armemu: Fix SSAX | Lioncash | 1 | -1/+1 | |
2014-12-08 | armemu: Fix SASX | Lioncash | 1 | -1/+1 | |
2014-12-08 | armemu: Fix parenthesis warnings regarding bitwise ops | Lioncash | 1 | -4/+4 | |
2014-11-29 | dyncom: Use unordered_map rather than the terrible 2-level bb_map | Yuri Kunde Schlesner | 1 | -33/+15 | |
Seems (probably just placebo/wishful thinking) to make it slightly faster. Also reduces memory usage and makes shutdown when debugging from MSVC fast. | |||||
2014-11-29 | arm_dyncom_interpreter: Get rid of unused var warnings | Lioncash | 1 | -4/+2 | |
2014-11-29 | Add comment regarding __WIN32__ in SkyEye code | darkf | 1 | -0/+4 | |
2014-11-29 | Fix MinGW build | darkf | 1 | -0/+4 | |
2014-11-25 | Remove unused includes to common/thread.h | Emmanuel Gil Peyrot | 1 | -2/+0 | |
2014-11-24 | HLE: Revamp error handling throrough the HLE code | Yuri Kunde Schlesner | 1 | -16/+18 | |
All service calls in the CTR OS return result codes indicating the success or failure of the call. Previous to this commit, Citra's HLE emulation of services and the kernel universally either ignored errors or returned dummy -1 error codes. This commit makes an initial effort to provide an infrastructure for error reporting and propagation which can be use going forward to make HLE calls accurately return errors as the original system. A few parts of the code have been updated to use the new system where applicable. One part of this effort is the definition of the `ResultCode` type, which provides facilities for constructing and parsing error codes in the structured format used by the CTR. The `ResultVal` type builds on `ResultCode` by providing a container for values returned by function that can report errors. It enforces that correct error checking will be done on function returns by preventing the use of the return value if the function returned an error code. Currently this change is mostly internal since errors are still suppressed on the ARM<->HLE border, as a temporary compatibility hack. As functionality is implemented and tested this hack can be eventually removed. | |||||
2014-11-24 | Change some SkyEye defines to const ints | Yuri Kunde Schlesner | 2 | -34/+16 | |
This prevents them from interfering with other constants defined in different namespaces. | |||||
2014-11-19 | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated | Emmanuel Gil Peyrot | 7 | -12/+12 | |
2014-11-18 | Fix documentation of parameters | Lioncash | 2 | -2/+2 | |
2014-11-14 | ARM_Interface: Make destructor virtual | Lioncash | 1 | -1/+1 | |
Fixes some warnings on OSX. | |||||
2014-11-12 | ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable). | bunnei | 1 | -2/+2 | |
- Fixes single stepping in debugger. | |||||
2014-11-12 | ARM: Removed unnecessary goto with each instruction. | bunnei | 1 | -43/+39 | |
2014-11-12 | ARM: Fixed several dyncom bugs. | bunnei | 3 | -17/+25 | |
- Fixed NZCVT flags to properly save state when function returns. - Fixed counter to keep track of the actual number of instructions executed. - Fixed single-step mode to only execute one instruction at a time. - DefaultIni: Removed comment that no longer applied to dyncom. | |||||
2014-11-03 | Fix compilation errors | Sean Maas | 1 | -2/+2 | |
2014-11-02 | ARM: Merged additional ARMv6 instructions implemented by 3dmoo. | bunnei | 1 | -42/+234 | |
2014-11-02 | ARM: Merge latest VFP fixes from 3dmoo team. | bunnei | 4 | -2096/+2388 | |
2014-10-31 | Fix VFP compilation errors with gcc | Yuri Kunde Schlesner | 1 | -12/+12 | |
2014-10-26 | vfp_helper: Get rid of integer type redefinitions | Lioncash | 1 | -7/+1 | |
2014-10-26 | Add `override` keyword through the code. | Yuri Kunde Schlesner | 2 | -18/+18 | |
This was automated using `clang-modernize`. | |||||
2014-10-25 | ARM: Removed unnecessary and unused SkyEye MMU code. | bunnei | 21 | -7728/+326 | |
Added license header back in. I originally removed this because I mostly rewrote the file, but meh | |||||
2014-10-25 | ARM: Removed unused armos code from SkyEye. | bunnei | 3 | -746/+0 | |
2014-10-25 | ARM: Updated dyncom core to use fast label lookup table on clang. | bunnei | 1 | -3/+7 | |
2014-10-25 | ARM: Integrate SkyEye faster "dyncom" interpreter. | bunnei | 18 | -50/+8216 | |
Fixed typo (make protected member public) Added license header back in. I originally removed this because I mostly rewrote the file, but meh ARM: Fixed a type error in dyncom interpreter. ARM: Updated dyncom to use unique_ptr for internal ARM state. | |||||
2014-10-25 | ARM: Reorganized file structure to move shared SkyEye code to a more common area. | bunnei | 31 | -63/+63 | |
Removed s_ prefix | |||||
2014-09-09 | core: Prune redundant includes | archshift | 1 | -1/+0 | |
2014-09-09 | Added string_util to common, small changes in loader.cpp | archshift | 1 | -39/+39 | |
2014-09-07 | Dead code removal: video_core.cpp, load_symbol_map.cpp | archshift | 1 | -1/+1 | |
2014-09-06 | core: Make the ARM disassembler use std::string internally | Lioncash | 3 | -189/+143 | |
2014-08-31 | Threading: Fix thread starting to execute first instruction correctly. | bunnei | 1 | -1/+1 | |
2014-08-28 | Threading: Fix thread starting to execute first instruction correctly. | bunnei | 1 | -1/+1 | |
2014-08-20 | ARM: Remove a forgotten const in vfp. | Emmanuel Gil Peyrot | 2 | -2/+2 | |
2014-07-24 | ARM: Synchronize Citra's SkyEye core with 3dmoo's. | bunnei | 6 | -5919/+5303 | |
2014-07-20 | core: Kill off type redefenitions in armdefs.h | Lioncash | 1 | -7/+0 | |
2014-06-05 | arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expected | bunnei | 1 | -1/+1 | |
2014-06-05 | arm: fixed bug in how thread context switch occurs with SkyEye | bunnei | 1 | -2/+5 | |
2014-06-05 | arm: reverting a change made with cb0663de - this has to have been a typo! | bunnei | 1 | -1/+1 | |
2014-06-02 | arm: added option to prepare CPU core (while mid-instruction) for thread reschedule | bunnei | 3 | -0/+11 | |
2014-06-01 | Added 'this' reference to num_instructions field so it's properly updated,as before the method was affecting the local method parameter rather than the class field | Disruption | 1 | -1/+1 | |
2014-05-30 | arm: removed unnecessary code when calling SVC from skyeye | bunnei | 1 | -16/+0 | |
2014-05-23 | arm_interpreter: fixed load context to currently resume a thread | bunnei | 1 | -1/+4 | |
2014-05-21 | arm: removed include of windows.h from armdefs.h to arminit.c (only module that uses it) | bunnei | 2 | -4/+3 | |
2014-05-21 | armemu: missed rename of "Syscall" to "SVC" | bunnei | 1 | -1/+1 | |
2014-05-21 | ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide | bunnei | 3 | -45/+45 | |
2014-05-21 | ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching | bunnei | 3 | -1/+63 | |
2014-05-20 | VFP: disable DBG messages because they spam the console with unimportant skyeye junk | bunnei | 1 | -1/+1 | |
2014-05-17 | Fixed vfp issues | archshift | 4 | -10/+10 | |
2014-05-17 | ignore thumbemu 0xDEADCODE debugging catch on MCR | bunnei | 1 | -2/+1 | |
2014-05-17 | updated how we call ARM core to make things much faster | bunnei | 5 | -20/+30 | |
2014-05-17 | same fix as last commit - just for vfpsingle.cpp | bunnei | 1 | -2/+2 | |
2014-05-17 | another VFP fix for GCC | bunnei | 1 | -2/+2 | |
2014-05-17 | fixed VFP DBG log for GCC | bunnei | 1 | -1/+1 | |
2014-05-17 | - reenabled MCR and MRC functions now that VFP is attached | bunnei | 2 | -95/+92 | |
- removed HLE::CallMCR function (was pointless) | |||||
2014-05-17 | - removed unused stubbed out code | bunnei | 5 | -33/+27 | |
- fixed some compiler issues with xscale_copro when porting code to Windows - fixed some #include's | |||||
2014-05-16 | added maverick.cpp to ARM core from skyeye | bunnei | 1 | -0/+1206 | |
2014-05-16 | fixed includes | bunnei | 1 | -2/+2 | |
2014-05-16 | enabled CP_ACCESS_ALLOWED | bunnei | 1 | -6/+4 | |
2014-05-16 | fixed include path | bunnei | 1 | -1/+1 | |
2014-05-16 | removed undefined function ARMul_ConsolePrint | bunnei | 1 | -1/+1 | |
2014-05-16 | added missing armcopro from skyeye | bunnei | 3 | -251/+1093 | |
2014-05-16 | added missing skyeye mmu code | bunnei | 9 | -17/+3272 | |
2014-05-16 | fixed armmmu imports | bunnei | 1 | -5/+5 | |
2014-05-16 | - moved mmu to arm/interpreter folder | bunnei | 13 | -0/+8755 | |
- added initial VFP code from skyeye | |||||
2014-05-12 | added option to set CPSR register to arm_interface | bunnei | 3 | -0/+20 | |
2014-05-07 | - disable strict alignment on LDRD/STRD | bunnei | 1 | -17/+22 | |
- handle RD in STREX/STREXB | |||||
2014-05-06 | commented out useless debug logs that just spammed console | bunnei | 1 | -3/+3 | |
2014-05-02 | - added CallMCR function to coprocessor HLE module | bunnei | 1 | -22/+23 | |
- moved instruction decoding to coprocessor HLE module | |||||
2014-05-02 | renamed hle "mrc" module to "coprocessor" | bunnei | 1 | -8/+8 | |
2014-05-01 | added a module to load symbol map files for debugging | bunnei | 2 | -0/+46 | |
2014-04-28 | removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class | bunnei | 2 | -3/+1 | |
2014-04-28 | removed commented out line - this was for an unimplemented MRC call, no longer need to leave this here | bunnei | 1 | -1/+0 | |
2014-04-25 | moved HLE::MRC to its own module, added support for catching data synchronization barrier command | bunnei | 2 | -3/+5 | |
2014-04-25 | added disassembly to unimplemented instruction | bunnei | 1 | -1/+6 | |
2014-04-23 | fixes to build on linux | bunnei | 1 | -0/+2 | |
2014-04-13 | - added HLE to connect to "srv:" service | bunnei | 1 | -33/+35 | |
- added a manager for keeping track of services/ports - added a memory mapped region for memory accessed by HLE - added HLE for GetThreadCommandBuffer function | |||||
2014-04-12 | hacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing this...) | bunnei | 1 | -2/+6 | |
2014-04-12 | added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector) | bunnei | 1 | -0/+11 | |
2014-04-11 | base code to call a syscall from ARM11 appcore | bunnei | 1 | -0/+3 | |
2014-04-11 | missed this file with commit 95e5436f | bunnei | 1 | -1/+10 | |
2014-04-11 | cleaned up arm_interface, added a setter to set registers for use with HLE return values | bunnei | 2 | -6/+70 | |
2014-04-09 | fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend module | bunnei | 3 | -94/+57 | |
2014-04-09 | fixed project includes to use new directory structure | bunnei | 10 | -27/+27 | |
2014-04-09 | got rid of 'src' folders in each sub-project | bunnei | 25 | -0/+15528 | |