Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 1 | -16/+16 |
| | |||||
* | arm_dyncom_interpreter: Remove unused variable | Lioncash | 2015-05-26 | 1 | -5/+1 |
| | | | | Thum decoding directly checks if the thumb bit is set instead of using a temporary. | ||||
* | arm_dyncom_interpreter: Remove unused macro | Lioncash | 2015-05-25 | 1 | -1/+0 |
| | |||||
* | dyncom: Remove unused cpu parameter from decode_thumb_instr | Lioncash | 2015-05-23 | 1 | -3/+2 |
| | |||||
* | dyncom: remove load_r15 from arm_inst | Lioncash | 2015-05-23 | 1 | -362/+235 |
| | | | | It's entirely unused. Also allows getting rid of more clunky macros. | ||||
* | dyncom: Remove unnecessary parameter for load/store operations | Lioncash | 2015-05-23 | 1 | -39/+39 |
| | |||||
* | dyncom: Eliminate clang warnings | Lioncash | 2015-05-21 | 1 | -1/+1 |
| | | | | Gets rid of a whole load of missing brace initialization warnings. | ||||
* | Merge pull request #774 from lioncash/decodings | Yuri Kunde Schlesner | 2015-05-15 | 1 | -28/+168 |
|\ | | | | | dyncom: Add ARMv6K NOP and hint instructions to the interpreter. | ||||
| * | dyncom: Add ARMv6K NOP and hint instructions to the decoding table | Lioncash | 2015-05-14 | 1 | -12/+142 |
| | | |||||
| * | dyncom: Handle some MSR variants individually | Lioncash | 2015-05-14 | 1 | -23/+32 |
| | | | | | | | | This is necessary, as hint instructions will be recognized as MSR, which is pretty bad. | ||||
| * | dyncom: Move exclusive load/stores above bbl and swi in the decoding table | Lioncash | 2015-05-14 | 1 | -10/+11 |
| | | |||||
* | | Merge pull request #770 from lioncash/dyncom_clean | bunnei | 2015-05-15 | 1 | -211/+196 |
|\ \ | | | | | | | dyncom: Minor cleanup. | ||||
| * | | dyncom: Remove duplicate enums/prototypes | Lioncash | 2015-05-14 | 1 | -7/+1 |
| | | | | | | | | | | | | These are already defined in arm_dyncom_interpreter_dec.cpp. | ||||
| * | | dyncom: Remove unnecessary defines | Lioncash | 2015-05-14 | 1 | -4/+4 |
| | | | | | | | | | | | | These can simply be const vars. | ||||
| * | | dyncom: Make translation-unit functions and variables static | Lioncash | 2015-05-14 | 1 | -66/+64 |
| | | | |||||
| * | | dyncom: Remove unnecessary typedefs | Lioncash | 2015-05-14 | 1 | -132/+133 |
| | | | |||||
| * | | dyncom: Remove unused structs | Lioncash | 2015-05-14 | 1 | -8/+0 |
| |/ | |||||
* / | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -1/+1 |
|/ | | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | ||||
* | dyncom: Fix decoding of BKPT's immediate | Lioncash | 2015-05-13 | 1 | -1/+1 |
| | | | | A shift here is intended since the representation is imm12:imm4 | ||||
* | dyncom: Stub MCRR and MRRC | Lioncash | 2015-05-12 | 1 | -7/+68 |
| | | | | | There's no other coprocessor outside the VFP (which has its own VMOV variants) in which the MPCore can send/retrieve data from. Stubbed so citra won't crash and burn on the odd chance someone actually tries to use these. | ||||
* | dyncom: Remove an unnecessary variable in the interpreter | Lioncash | 2015-05-08 | 1 | -19/+17 |
| | | | | All this was doing was needlessly aliasing a variable. | ||||
* | HLE: Clean up SVC dispatch mechanism | Yuri Kunde Schlesner | 2015-05-06 | 1 | -2/+2 |
| | |||||
* | Dyncom: Move cream cache to ARMul_State. | bunnei | 2015-05-02 | 1 | -22/+9 |
| | |||||
* | dyncom: Remove unnecessary enum and typedef | Lioncash | 2015-04-07 | 1 | -4/+4 |
| | | | | Also fixes descriptions in the process. | ||||
* | Merge pull request #685 from lioncash/cpregs | bunnei | 2015-04-06 | 1 | -1/+0 |
|\ | | | | | dyncom: Set the MPCore CP15 register reset values on initialization. | ||||
| * | Move CP15 enum definitions into their own enum. | Lioncash | 2015-04-06 | 1 | -1/+0 |
| | | | | | | | | Also gets rid of preprocessor mumbo-jumbo | ||||
* | | dyncom: Suppress uninitialized variable warnings | Lioncash | 2015-04-06 | 1 | -4/+4 |
|/ | | | | The switch cases will always be hit, but this makes compilers stop complaining. | ||||
* | dyncom: Move CP15 register writing into its own function. | Lioncash | 2015-04-02 | 1 | -88/+2 |
| | | | | Also implements writing to the rest of the ARM11 MPCore CP15 register set. | ||||
* | dyncom: Move CP15 register reading into its own function. | Lioncash | 2015-04-02 | 1 | -44/+3 |
| | | | | Keeps everything contained. Added all supported readable registers in an ARM11 MPCore. | ||||
* | dyncom: Migrate InAPrivilegedMode to armsupp | Lioncash | 2015-03-26 | 1 | -4/+0 |
| | | | | It's a generic helper function, so it should be here anyway. | ||||
* | dyncom: Implement SRS | Lioncash | 2015-03-24 | 1 | -1/+32 |
| | |||||
* | dyncom: Implement RFE | Lioncash | 2015-03-24 | 1 | -1/+30 |
| | |||||
* | dyncom: Make Load/Store instructions support big endian | Lioncash | 2015-03-17 | 1 | -52/+62 |
| | |||||
* | dyncom: Implement SETEND | Lioncash | 2015-03-15 | 1 | -1/+35 |
| | |||||
* | dyncom: Minor cleanup | Lioncash | 2015-03-10 | 1 | -26/+7 |
| | | | | Assemblers will exit with an error when trying to assemble instructions with disallowed registers. | ||||
* | dyncom: Fix an indexing bug in STM | Lioncash | 2015-03-09 | 1 | -5/+4 |
| | | | | Previously it would write the contents of register 13 for the case where the link register (r14) is supposed to be written. | ||||
* | dyncom: General cleanup of STM | Lioncash | 2015-03-09 | 1 | -16/+14 |
| | |||||
* | dyncom: Increment addr when accessing LR in LDM | Lioncash | 2015-03-09 | 1 | -0/+2 |
| | |||||
* | Add profiling infrastructure and widget | Yuri Kunde Schlesner | 2015-03-02 | 1 | -0/+8 |
| | |||||
* | arm: The CP15 Main ID register is not writeable | Lioncash | 2015-02-26 | 1 | -3/+1 |
| | |||||
* | Cleaned up unaligned access. | Kevin Hartman | 2015-02-22 | 1 | -17/+2 |
| | |||||
* | dyncom: Support conditional BKPT instructions | Lioncash | 2015-02-17 | 1 | -1/+27 |
| | |||||
* | dyncom: Actually set the destination register for USAD8/USADA8. | Lioncash | 2015-02-16 | 1 | -0/+1 |
| | | | | Idiotville: Population: 1 - Inhabitant name: Lioncash | ||||
* | core: Apply static to local functions | Lioncash | 2015-02-13 | 1 | -189/+190 |
| | |||||
* | arm: General cleanup | Lioncash | 2015-02-13 | 1 | -74/+48 |
| | | | | | | | - Remove several typedefs for ARMul_State. - Remove unused functions - Remove unused/unnecessary headers - Removed unused enums, etc. | ||||
* | dyncom: Remove warning for SXTAH | Lioncash | 2015-02-13 | 1 | -1/+0 |
| | | | | This is tested to work correctly. | ||||
* | dyncom: Add more regs to MCR/MRC | Lioncash | 2015-02-10 | 1 | -17/+32 |
| | | | | Adds the registers that were left out of some coprocessor ranges. | ||||
* | dyncom: Remove more unnecessary code | Lioncash | 2015-02-03 | 1 | -45/+3 |
| | |||||
* | core: Fix some warnings on OSX | Lioncash | 2015-02-03 | 1 | -2/+4 |
| | |||||
* | arm: Adios armemu | Lioncash | 2015-02-01 | 1 | -4/+0 |
| | |||||
* | dyncom: Minor cleanup | Lioncash | 2015-01-27 | 1 | -126/+137 |
| | | | | Narrow scopes for the instruction variables. Remove unnecessary parentheses. | ||||
* | dyncom: Minor cleanup | Lioncash | 2015-01-22 | 1 | -282/+270 |
| | | | | Removes some unused macros and cleans up indentation inconsistencies | ||||
* | dyncom: Clarify precedence for ternary statements | Lioncash | 2015-01-20 | 1 | -1/+1 |
| | |||||
* | dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc | Lioncash | 2015-01-19 | 1 | -7/+33 |
| | |||||
* | dyncom: Handle the ARM A2 encoding of STRT/LDRT | Lioncash | 2015-01-17 | 1 | -10/+24 |
| | | | | These were also missing the shifted register case. | ||||
* | dyncom: Handle the ARM A2 encoding of LDRBT/STRBT. | Lioncash | 2015-01-17 | 1 | -17/+15 |
| | |||||
* | dyncom: Fix 32-bit ASR shifts for immediates | Lioncash | 2015-01-12 | 1 | -5/+3 |
| | |||||
* | dyncom: Remove unused flag macros | Lioncash | 2015-01-12 | 1 | -15/+3 |
| | |||||
* | dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop | Lioncash | 2015-01-12 | 1 | -97/+108 |
| | |||||
* | dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC | Lioncash | 2015-01-12 | 1 | -38/+41 |
| | | | | Also cleans up CMN, and CMP. | ||||
* | dyncom: Add a helper function for addition with a carry | Lioncash | 2015-01-12 | 1 | -12/+9 |
| | |||||
* | dyncom: Fix ADC overflow flag setting | Lioncash | 2015-01-12 | 1 | -8/+12 |
| | |||||
* | dyncom: Fix conditional execution of MSR | Lioncash | 2015-01-12 | 1 | -29/+31 |
| | |||||
* | dyncom: Fix UMAAL | Lioncash | 2015-01-08 | 1 | -4/+4 |
| | | | | These need to be done as a 64-bit operation. | ||||
* | dyncom: Fix SMULWB/SMULWT | Lioncash | 2015-01-07 | 1 | -10/+7 |
| | | | | Wasn't doing proper sign-extension | ||||
* | Merge pull request #438 from lioncash/swp | bunnei | 2015-01-07 | 1 | -0/+1 |
|\ | | | | | dyncom: Fix SWPB | ||||
| * | dyncom: Fix SWPB | Lioncash | 2015-01-07 | 1 | -0/+1 |
| | | |||||
* | | dyncom: Move over SMLALXY | Lioncash | 2015-01-07 | 1 | -1/+56 |
|/ | |||||
* | Merge pull request #417 from kevinhartman/exclusive-tag-fix | bunnei | 2015-01-06 | 1 | -5/+7 |
|\ | | | | | Added exclusive reservation granule from ARMv7 spec to dyncom... | ||||
| * | Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX. | Kevin Hartman | 2015-01-06 | 1 | -5/+7 |
| | | |||||
* | | dyncom: Partially emulate BXJ | Lioncash | 2015-01-05 | 1 | -8/+25 |
| | | | | | | | | Just in case some game studio let the intern write inline assembly or something. | ||||
* | | dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT | Lioncash | 2015-01-05 | 1 | -1/+2 |
| | | | | | | | | Easy skyeye todo fix. | ||||
* | | Merge pull request #418 from lioncash/qd | bunnei | 2015-01-05 | 1 | -8/+103 |
|\ \ | | | | | | | dyncom: Implement QADD/QSUB/QDADD/QDSUB | ||||
| * | | dyncom: Implement QADD/QSUB/QDADD/QDSUB | Lioncash | 2015-01-05 | 1 | -8/+103 |
| | | | |||||
* | | | skyeye: Remove duplicate typedefs | Lioncash | 2015-01-04 | 1 | -4/+4 |
|/ / | | | | | | | citra already has its own typedefs like this. | ||||
* / | dyncom: Implement SMLAW | Lioncash | 2015-01-03 | 1 | -1/+43 |
|/ | |||||
* | Merge pull request #395 from lioncash/rev | bunnei | 2015-01-03 | 1 | -45/+45 |
|\ | | | | | dyncom: Implement REVSH | ||||
| * | dyncom: Implement REVSH | Lioncash | 2015-01-03 | 1 | -45/+45 |
| | | | | | | | | Also joins the REV ops into one common place. | ||||
* | | dyncom: Implement SMLALD/SMLSLD | Lioncash | 2015-01-03 | 1 | -3/+72 |
|/ | |||||
* | Merge pull request #392 from lioncash/sm | bunnei | 2015-01-03 | 1 | -3/+64 |
|\ | | | | | dyncom: Implement SMMLA/SMMUL/SMMLS | ||||
| * | dyncom: Implement SMMLA/SMMUL/SMMLS | Lioncash | 2015-01-03 | 1 | -3/+64 |
| | | |||||
* | | dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH | bunnei | 2015-01-03 | 1 | -100/+182 |
|/ | |||||
* | Merge pull request #390 from lioncash/wut | bunnei | 2015-01-03 | 1 | -27/+0 |
|\ | | | | | dyncom: Remove dead function InterpreterInitInstLength | ||||
| * | dyncom: Remove dead function InterpreterInitInstLength | Lioncash | 2015-01-03 | 1 | -27/+0 |
| | | | | | | | | Technically eliminates two memory leaks as well. | ||||
* | | dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD | Lioncash | 2015-01-03 | 1 | -44/+73 |
|/ | |||||
* | dyncom: Implement SXTAB16 and SXTB16 | Lioncash | 2015-01-02 | 1 | -3/+58 |
| | |||||
* | Merge pull request #379 from lioncash/sh | bunnei | 2015-01-02 | 1 | -8/+110 |
|\ | | | | | dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX | ||||
| * | dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX | Lioncash | 2015-01-01 | 1 | -8/+110 |
| | | |||||
* | | dyncom: Implement SADD8/SSUB8 | Lioncash | 2015-01-01 | 1 | -55/+108 |
|/ | |||||
* | Merge pull request #375 from lioncash/uops | bunnei | 2014-12-31 | 1 | -9/+208 |
|\ | | | | | dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX | ||||
| * | dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX | Lioncash | 2014-12-31 | 1 | -9/+208 |
| | | |||||
* | | dyncom: Massive refactor | bunnei | 2014-12-31 | 1 | -514/+191 |
| | | |||||
* | | Merge pull request #369 from darkf/mingw_ | bunnei | 2014-12-31 | 1 | -0/+8 |
|\ \ | |/ |/| | Fix MinGW build (2) | ||||
| * | Fix merge conflicts | darkf | 2014-12-30 | 1 | -5604/+5460 |
| |\ | |||||
| * | | Add comment regarding __WIN32__ in SkyEye code | darkf | 2014-11-29 | 1 | -0/+4 |
| | | | |||||
| * | | Fix MinGW build | darkf | 2014-11-29 | 1 | -0/+4 |
| | | | |||||
* | | | dyncom: Implement USAT16/SSAT16 | Lioncash | 2014-12-30 | 1 | -2/+61 |
| |/ |/| | |||||
* | | dyncom: Implement USAT/SSAT | bunnei | 2014-12-30 | 1 | -2/+94 |
| | | |||||
* | | dyncom: Various cleanups to match coding style, no functional changes. | bunnei | 2014-12-30 | 1 | -6066/+5168 |
| | | |||||
* | | Merge pull request #361 from lioncash/moreqops | bunnei | 2014-12-29 | 1 | -32/+42 |
|\ \ | | | | | | | dyncom/armemu: Implement QADD8/QSUB8. | ||||
| * | | dyncom: Implement QADD8/QSUB8 | Lioncash | 2014-12-29 | 1 | -32/+42 |
| | | | |||||
* | | | dyncom: Fix SMLALXY's instruction labels | Lioncash | 2014-12-29 | 1 | -2/+2 |
|/ / | | | | | | | They were erroneously labeled as SMLAL. | ||||
* | | dyncom: Implement UXTB16/UXTAB16 | Lioncash | 2014-12-29 | 1 | -2/+55 |
| | | |||||
* | | vfp: Actually make the code somewhat readable | Lioncash | 2014-12-29 | 1 | -8/+41 |
| | | |||||
* | | dyncom: Implement PKHBT and PKHTB. | bunnei | 2014-12-28 | 1 | -2/+57 |
| | | |||||
* | | dyncom: Implement USAD8/USADA8 | Lioncash | 2014-12-28 | 1 | -2/+52 |
| | | |||||
* | | dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. | Lioncash | 2014-12-27 | 1 | -8/+97 |
| | | |||||
* | | dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX | Lioncash | 2014-12-27 | 1 | -11/+123 |
| | | |||||
* | | dyncom: Move over QADD16/QASX/QSAX/QSUB16 | Lioncash | 2014-12-22 | 1 | -7/+87 |
| | | |||||
* | | Merge pull request #322 from chinhodado/master | bunnei | 2014-12-22 | 1 | -6/+6 |
|\ \ | | | | | | | More warning cleanups | ||||
| * | | More warning cleanups | Chin | 2014-12-21 | 1 | -6/+6 |
| | | | |||||
* | | | dyncom: Move SEL over | Lioncash | 2014-12-22 | 1 | -1/+58 |
| | | | |||||
* | | | dyncom: Move over SASX/SSAX/SADD16/SSUB16 | Lioncash | 2014-12-22 | 1 | -7/+102 |
|/ / | |||||
* | | dyncom: Implement UMAAL | Lioncash | 2014-12-19 | 1 | -1/+47 |
| | | |||||
* | | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 1 | -99/+101 |
| | | |||||
* | | Merge pull request #235 from yuriks/dyncom-map | bunnei | 2014-11-30 | 1 | -33/+15 |
|\ \ | | | | | | | dyncom: Use unordered_map rather than the terrible 2-level bb_map | ||||
| * | | dyncom: Use unordered_map rather than the terrible 2-level bb_map | Yuri Kunde Schlesner | 2014-11-29 | 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. | ||||
* / | arm_dyncom_interpreter: Get rid of unused var warnings | Lioncash | 2014-11-29 | 1 | -4/+2 |
|/ | |||||
* | ARM: Removed unnecessary goto with each instruction. | bunnei | 2014-11-12 | 1 | -43/+39 |
| | |||||
* | ARM: Fixed several dyncom bugs. | bunnei | 2014-11-12 | 1 | -14/+19 |
| | | | | | | | - 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. | ||||
* | ARM: Updated dyncom core to use fast label lookup table on clang. | bunnei | 2014-10-25 | 1 | -3/+7 |
| | |||||
* | ARM: Integrate SkyEye faster "dyncom" interpreter. | bunnei | 2014-10-25 | 1 | -0/+6559 |
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. |