aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* arm: Remove SkyEye/Dyncom code that is ARMv6-only.bunnei2018-01-021-4578/+0
|
* logging: Rename category "Core_ARM11" to "Core_ARM".bunnei2017-10-231-14/+14
|
* Dyncom: Use size_t instead of int to store the instruction offsets in the ↵Subv2017-08-211-3/+3
| | | | | | instruction cache. Fixes a few warnings.
* Dyncom: Fixed a conversion warning when decoding thumb instructions.Subv2017-08-211-1/+1
|
* Dyncom: Remove disassembler codeYuri Kunde Schlesner2017-05-071-5/+2
| | | | | | Had licensing issue around it, in addition to several bugs. Closes #1632, #1280
* Dyncom: Tweak types and log formattingYuri Kunde Schlesner2017-05-071-6/+8
|
* dyncom: Correct SXTAB16 and SXTB16MerryMage2017-02-181-4/+4
|
* gdbstub: Remove global variable from public interfaceLioncash2016-12-151-2/+2
| | | | | | | | | Currently, this is only ever queried, so adding a function to check if the server is enabled is more sensible. If directly modifying this externally is ever desirable, it should be done by adding a function to the interface, rather than exposing implementation details directly.
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-5/+2
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-2989/+3300
|
* dyncom: Read-after-write in SMLAMerryMage2016-08-221-2/+4
| | | | | In the case when RD === RN, RD was updated before AddOverflow was called to check for an overflow, resulting in an incorrect state of the Q flag.
* Dyncom: Correct implementation of STM for R15MerryMage2016-08-141-3/+4
|
* Make arm_dyncom_trans* into a fully fledged compilation unitarchshift2016-06-121-44/+4
|
* arm_dyncom_interpreter: slightly change AllocBuffer to be intuitivearchshift2016-06-121-15/+15
|
* arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT funcarchshift2016-06-101-0/+15
| | | | | | This allows us to get the addressing operation for STRT, LDRT, STRBT, and LDRBT. We do this so that translation functions don't need to see the addressing ops directly.
* arm_dyncom_interpreter: rename operation functions to fit style guidearchshift2016-06-101-2/+2
|
* arm_dyncom_interpreter: Rename anonymous enum to TransExtDataarchshift2016-06-101-7/+7
|
* arm_dyncom_interpreter.cpp: #include translation info from inc filesarchshift2016-06-101-2648/+2
|
* Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSDJannik Vogel2016-05-181-4/+8
|
* Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner2016-04-291-7/+0
| | | | This has been entirely superseded by MicroProfile. The rest of the code can go when a simpler frametime/FPS meter is added to the GUI.
* Fix BLX LR opcode interpretationmailwl2016-04-091-2/+3
|
* Fix thumb ADR instruction alignmentmailwl2016-04-061-6/+2
|
* DynCom: Optimize single steppingMerryMage2016-03-301-26/+57
|
* arm_dyncom_dec: Fix decoding of VMLSLioncash2015-12-301-201/+199
| | | | | | Previously, all VMLS variants would misdecode as CDP (which isn't necessarily wrong in itself, however VMLS has it's own label of execution)
* dyncom: Handle modifying the APSR via an MRC instructionLioncash2015-12-281-12/+9
|
* dyncom: Remove PC dispatch from several instructionsLioncash2015-12-201-94/+0
| | | | These instructions aren't capable of using the PC as a destination
* dyncom: Handle unprivileged load/store variants correctlyLioncash2015-12-191-7/+33
| | | | | | | LDRT/LDRBT/STRBT/STRT should simulate the load or store as if the host CPU is in user mode. STRT is also allowed to use the PC as an operand
* dyncom: const correctness changesLioncash2015-12-061-1/+1
|
* Remove unnecessary new lines, changed Deinit to Shutdownpolaris-2015-10-111-1/+0
|
* Use BreakpointAddress struct instead of passing address directlypolaris-2015-10-041-3/+3
|
* Implement gdbstubpolaris-2015-10-041-9/+32
|
* DynCom: Converted all 0xE condition code checks to ConditionCode::ALarchshift2015-09-051-100/+100
|
* dyncom: Simplify some comparisons in CondPassedLioncash2015-08-261-4/+4
|
* dyncom: Change return type of CondPassed to boolLioncash2015-08-251-57/+39
|
* Integrate the MicroProfile profiling libraryYuri Kunde Schlesner2015-08-241-0/+7
| | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view.
* ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the ↵Emmanuel Gil Peyrot2015-08-111-20/+21
| | | | standard u?int*_t types.
* Merge pull request #1008 from lioncash/pcbunnei2015-07-301-1/+6
|\ | | | | dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
| * dyncom: Handle the case where PC is the source register for STR/VSTM/VLDMLioncash2015-07-291-1/+6
| |
* | dyncom: Remove an unused variableLioncash2015-07-291-3/+0
|/ | | | This was used prior to InterpreterTranslate existing.
* dyncom: Handle left-operand PC correctly for data-processing opsLioncash2015-07-281-7/+33
| | | | | | This is considered deprecated in the ARM manual (using PC as an operand), however, this is still able to be executed on the MPCore (which I'm quite sure would be rare to begin with).
* dyncom: Use enum class for instruction decoding resultsLioncash2015-07-281-10/+9
|
* dyncom: Remove code duplication regarding thumb instructionsLioncash2015-07-271-9/+3
|
* dyncom: Migrate exclusive memory access control into armstateLioncash2015-07-271-47/+13
|
* dyncom: Remove duplicated typedef and externLioncash2015-07-271-4/+0
| | | | These are already present in arm_dyncom_dec.h.
* dyncom: Use ARMul_State as an objectLioncash2015-07-261-183/+182
| | | | Gets rid of C-like parameter passing.
* dyncom: Rename armdefs.h to armstate.hLioncash2015-07-251-1/+1
|
* dyncom: Get rid of skyeye typedefsLioncash2015-07-251-5/+4
|
* dyncom: Move helper functions to their own headerLioncash2015-07-251-0/+1
|
* dyncom: Pass SVC immediates directly.Lioncash2015-07-211-1/+2
| | | | Previously it would just re-read the already decoded instruction and extract the immediate value.